Message ID | 20251007200944.323467-1-Randy.MacLeod@windriver.com |
---|---|
State | New |
Headers | show |
Series | [v5] gawk: disable persistent memory allocator due to licensing | expand |
On 10/7/25 22:09, Randy.MacLeod@windriver.com 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)}" Thanks, but this has the same typo :) > > 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 \
On 2025-10-07 4:39 p.m., Gyorgy Sarvari wrote: > On 10/7/25 22:09,Randy.MacLeod@windriver.com 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)}" > Thanks, but this has the same typo :) Sorry, I missed the commit step! v6, FTW sent. ../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 \
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 \