* [PATCH v4] gawk: disable persistent memory allocator due to licensing
@ 2025-10-07 19:09 Randy.MacLeod
2025-10-07 19:56 ` [OE-core] " Gyorgy Sarvari
0 siblings, 1 reply; 3+ messages in thread
From: Randy.MacLeod @ 2025-10-07 19:09 UTC (permalink / raw)
To: openembedded-core
Cc: alex.kanavin, Liezhi.Yang, peter.kjellerstedt, ross.burton
From: Randy MacLeod <Randy.MacLeod@windriver.com>
In gawk-5.2, a feature that allows gawk to preserve memory between runs:
https://www.gnu.org/software/gawk/manual/html_node/Persistent-Memory.html
was added. The files that implement this, support/pma.[ch], are licensed
under the AGPL3 which some entities perfer to avoid. Force people to knowingly
opt into using this feature and license using:
PACKAGECONFIG:append:pn-gawk = " pma-if-64bit"
where pma is an abbreviation for persistent memory allocator and the
"-if-64bit" suffix is a indicator to users that the feature only works
for 64 bit targets. Also add AGPL to LICENSE and LICENSE:${PN}, when using pma.
Correct the license to be AGPL-3.0-or-later. There hasn't been a change in
the license terms, at least for main.c, haven't changed significantly in
the last 15 years:
License-Update: Reflects conditional AGPL use and more as described above.
Testing requires a non-root account and following the example in the link above:
$ truncate -s <size> data.pma
$ chmod 0600 data.pma
$ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
1
$ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
2
$ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
3
This works on qemu[x86-|arm|riscv]64 but not on qemu[arm|x86] where the
--enable-pma is ignored because there is a requirement and build-time test
for 8 byte void pointers in m4/pma.m4:
if test "$SKIP_PERSIST_MALLOC" = no && test $ac_cv_sizeof_void_p -eq 8
Finally, remove an old comment about GPLv2, GPLv3 versions of gawk
since this is no longer important as the GPLv2 version is not maintained.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
meta/recipes-extended/gawk/gawk_5.3.2.bb | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/meta/recipes-extended/gawk/gawk_5.3.2.bb b/meta/recipes-extended/gawk/gawk_5.3.2.bb
index 833fe78bf9..ffaef93e8a 100644
--- a/meta/recipes-extended/gawk/gawk_5.3.2.bb
+++ b/meta/recipes-extended/gawk/gawk_5.3.2.bb
@@ -6,14 +6,21 @@ HOMEPAGE = "https://www.gnu.org/software/gawk/"
BUGTRACKER = "bug-gawk@gnu.org"
SECTION = "console/utils"
-# gawk <= 3.1.5: GPL-2.0-only
-# gawk >= 3.1.6: GPL-3.0-only
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE = "GPL-3.0-or-later & AGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://support/pma.c;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19 \
+ file://support/pma.h;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19"
+
+LICENSE:${PN} = "GPL-3.0-or-later"
+LICENSE${PN}:append = " ${@bb.utils.contains('PACKAGECONFIG', 'pma-if-64bit', ' & AGPL-3.0-or-later', '', d)}"
PACKAGECONFIG ??= "readline mpfr"
PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
+# pma: persistent memory allocator:
+# Disabled by default due to AGPL license.
+# Note that PMA works only for 64-bit targets and is automatically disabled at configure time otherwise.
+PACKAGECONFIG[pma-if-64bit] = "--enable-pma,--disable-pma, "
SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
file://run-ptest \
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH v4] gawk: disable persistent memory allocator due to licensing
2025-10-07 19:09 [PATCH v4] gawk: disable persistent memory allocator due to licensing Randy.MacLeod
@ 2025-10-07 19:56 ` Gyorgy Sarvari
2025-10-07 20:08 ` Randy MacLeod
0 siblings, 1 reply; 3+ messages in thread
From: Gyorgy Sarvari @ 2025-10-07 19:56 UTC (permalink / raw)
To: randy.macleod, openembedded-core
Cc: alex.kanavin, Liezhi.Yang, peter.kjellerstedt, ross.burton
On 10/7/25 21:09, Randy MacLeod via lists.openembedded.org wrote:
> From: Randy MacLeod <Randy.MacLeod@windriver.com>
>
> In gawk-5.2, a feature that allows gawk to preserve memory between runs:
> https://www.gnu.org/software/gawk/manual/html_node/Persistent-Memory.html
> was added. The files that implement this, support/pma.[ch], are licensed
> under the AGPL3 which some entities perfer to avoid. Force people to knowingly
> opt into using this feature and license using:
> PACKAGECONFIG:append:pn-gawk = " pma-if-64bit"
> where pma is an abbreviation for persistent memory allocator and the
> "-if-64bit" suffix is a indicator to users that the feature only works
> for 64 bit targets. Also add AGPL to LICENSE and LICENSE:${PN}, when using pma.
>
> Correct the license to be AGPL-3.0-or-later. There hasn't been a change in
> the license terms, at least for main.c, haven't changed significantly in
> the last 15 years:
>
> License-Update: Reflects conditional AGPL use and more as described above.
>
> Testing requires a non-root account and following the example in the link above:
> $ truncate -s <size> data.pma
> $ chmod 0600 data.pma
> $ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
> 1
> $ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
> 2
> $ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
> 3
>
> This works on qemu[x86-|arm|riscv]64 but not on qemu[arm|x86] where the
> --enable-pma is ignored because there is a requirement and build-time test
> for 8 byte void pointers in m4/pma.m4:
> if test "$SKIP_PERSIST_MALLOC" = no && test $ac_cv_sizeof_void_p -eq 8
>
> Finally, remove an old comment about GPLv2, GPLv3 versions of gawk
> since this is no longer important as the GPLv2 version is not maintained.
>
> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
> ---
> meta/recipes-extended/gawk/gawk_5.3.2.bb | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-extended/gawk/gawk_5.3.2.bb b/meta/recipes-extended/gawk/gawk_5.3.2.bb
> index 833fe78bf9..ffaef93e8a 100644
> --- a/meta/recipes-extended/gawk/gawk_5.3.2.bb
> +++ b/meta/recipes-extended/gawk/gawk_5.3.2.bb
> @@ -6,14 +6,21 @@ HOMEPAGE = "https://www.gnu.org/software/gawk/"
> BUGTRACKER = "bug-gawk@gnu.org"
> SECTION = "console/utils"
>
> -# gawk <= 3.1.5: GPL-2.0-only
> -# gawk >= 3.1.6: GPL-3.0-only
> -LICENSE = "GPL-3.0-only"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
> +LICENSE = "GPL-3.0-or-later & AGPL-3.0-or-later"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
> + file://support/pma.c;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19 \
> + file://support/pma.h;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19"
> +
> +LICENSE:${PN} = "GPL-3.0-or-later"
> +LICENSE${PN}:append = " ${@bb.utils.contains('PACKAGECONFIG', 'pma-if-64bit', ' & AGPL-3.0-or-later', '', d)}"
Typo: missing colon between LICENSE and ${PN}
>
> PACKAGECONFIG ??= "readline mpfr"
> PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
> PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
> +# pma: persistent memory allocator:
> +# Disabled by default due to AGPL license.
> +# Note that PMA works only for 64-bit targets and is automatically disabled at configure time otherwise.
> +PACKAGECONFIG[pma-if-64bit] = "--enable-pma,--disable-pma, "
>
> SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
> file://run-ptest \
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#224551): https://lists.openembedded.org/g/openembedded-core/message/224551
> Mute This Topic: https://lists.openembedded.org/mt/115642245/6084445
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH v4] gawk: disable persistent memory allocator due to licensing
2025-10-07 19:56 ` [OE-core] " Gyorgy Sarvari
@ 2025-10-07 20:08 ` Randy MacLeod
0 siblings, 0 replies; 3+ messages in thread
From: Randy MacLeod @ 2025-10-07 20:08 UTC (permalink / raw)
To: Gyorgy Sarvari, openembedded-core
Cc: alex.kanavin, Liezhi.Yang, peter.kjellerstedt, ross.burton
[-- Attachment #1: Type: text/plain, Size: 4198 bytes --]
On 2025-10-07 3:56 p.m., Gyorgy Sarvari wrote:
> On 10/7/25 21:09, Randy MacLeod via lists.openembedded.org wrote:
>> From: Randy MacLeod<Randy.MacLeod@windriver.com>
>>
>> In gawk-5.2, a feature that allows gawk to preserve memory between runs:
>> https://www.gnu.org/software/gawk/manual/html_node/Persistent-Memory.html
>> was added. The files that implement this, support/pma.[ch], are licensed
>> under the AGPL3 which some entities perfer to avoid. Force people to knowingly
>> opt into using this feature and license using:
>> PACKAGECONFIG:append:pn-gawk = " pma-if-64bit"
>> where pma is an abbreviation for persistent memory allocator and the
>> "-if-64bit" suffix is a indicator to users that the feature only works
>> for 64 bit targets. Also add AGPL to LICENSE and LICENSE:${PN}, when using pma.
>>
>> Correct the license to be AGPL-3.0-or-later. There hasn't been a change in
>> the license terms, at least for main.c, haven't changed significantly in
>> the last 15 years:
>>
>> License-Update: Reflects conditional AGPL use and more as described above.
>>
>> Testing requires a non-root account and following the example in the link above:
>> $ truncate -s <size> data.pma
>> $ chmod 0600 data.pma
>> $ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
>> 1
>> $ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
>> 2
>> $ GAWK_PERSIST_FILE=data.pma gawk 'BEGIN { print ++i }'
>> 3
>>
>> This works on qemu[x86-|arm|riscv]64 but not on qemu[arm|x86] where the
>> --enable-pma is ignored because there is a requirement and build-time test
>> for 8 byte void pointers in m4/pma.m4:
>> if test "$SKIP_PERSIST_MALLOC" = no && test $ac_cv_sizeof_void_p -eq 8
>>
>> Finally, remove an old comment about GPLv2, GPLv3 versions of gawk
>> since this is no longer important as the GPLv2 version is not maintained.
>>
>> Signed-off-by: Randy MacLeod<Randy.MacLeod@windriver.com>
>> ---
>> meta/recipes-extended/gawk/gawk_5.3.2.bb | 15 +++++++++++----
>> 1 file changed, 11 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-extended/gawk/gawk_5.3.2.bb b/meta/recipes-extended/gawk/gawk_5.3.2.bb
>> index 833fe78bf9..ffaef93e8a 100644
>> --- a/meta/recipes-extended/gawk/gawk_5.3.2.bb
>> +++ b/meta/recipes-extended/gawk/gawk_5.3.2.bb
>> @@ -6,14 +6,21 @@ HOMEPAGE ="https://www.gnu.org/software/gawk/"
>> BUGTRACKER ="bug-gawk@gnu.org"
>> SECTION = "console/utils"
>>
>> -# gawk <= 3.1.5: GPL-2.0-only
>> -# gawk >= 3.1.6: GPL-3.0-only
>> -LICENSE = "GPL-3.0-only"
>> -LIC_FILES_CHKSUM ="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>> +LICENSE = "GPL-3.0-or-later & AGPL-3.0-or-later"
>> +LIC_FILES_CHKSUM ="file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ +
>> file://support/pma.c;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19
>> \ +
>> file://support/pma.h;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19"
>> +
>> +LICENSE:${PN} = "GPL-3.0-or-later"
>> +LICENSE${PN}:append = " ${@bb.utils.contains('PACKAGECONFIG', 'pma-if-64bit', ' & AGPL-3.0-or-later', '', d)}"
> Typo: missing colon between LICENSE and ${PN}
Thanks, fixed and v5 in a bit.
../Randy
>
>>
>> PACKAGECONFIG ??= "readline mpfr"
>> PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
>> PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
>> +# pma: persistent memory allocator:
>> +# Disabled by default due to AGPL license.
>> +# Note that PMA works only for 64-bit targets and is automatically disabled at configure time otherwise.
>> +PACKAGECONFIG[pma-if-64bit] = "--enable-pma,--disable-pma, "
>>
>> SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
>> file://run-ptest \
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#224551):https://lists.openembedded.org/g/openembedded-core/message/224551
>> Mute This Topic:https://lists.openembedded.org/mt/115642245/6084445
>> Group Owner:openembedded-core+owner@lists.openembedded.org
>> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [skandigraun@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
--
# Randy MacLeod
# Wind River Linux
[-- Attachment #2: Type: text/html, Size: 6370 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-07 20:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-07 19:09 [PATCH v4] gawk: disable persistent memory allocator due to licensing Randy.MacLeod
2025-10-07 19:56 ` [OE-core] " Gyorgy Sarvari
2025-10-07 20:08 ` Randy MacLeod
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox