From: Alexander Kanavin Date: Fri, 21 Nov 2025 12:22:49 +0000 (+0100) Subject: gawk: use native gawk when building glibc and grub X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5bbf0a60b1d63e68f849a63e5d3872954e7cd3f;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git gawk: use native gawk when building glibc and grub Different versions of gawk can produce different output, so depending on which version is installed on the build host, reproducibility issues can occur: https://bugzilla.yoctoproject.org/show_bug.cgi?id=16072 So far only glibc and grub have been identified to have the issue; probably more fixes of similar nature will be required going forward. Adjust the gawk recipe to apply target-only tweaks (particularly the removal of awk symlink to allow for alternatives) to only target and nativesdk variants, so that native installs both awk and gawk executables. [YOCTO #16072] Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc index 14edda334ac..f67f0a167a5 100644 --- a/meta/recipes-bsp/grub/grub2.inc +++ b/meta/recipes-bsp/grub/grub2.inc @@ -46,7 +46,7 @@ CVE_STATUS[CVE-2023-4001] = "not-applicable-platform: Applies only to RHEL/Fedo CVE_STATUS[CVE-2024-1048] = "not-applicable-platform: Applies only to RHEL/Fedora" CVE_STATUS[CVE-2024-2312] = "not-applicable-platform: Applies only to Ubuntu" -DEPENDS = "flex-native bison-native gettext-native" +DEPENDS = "flex-native bison-native gettext-native gawk-replacement-native" GRUB_COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|loongarch64.*|riscv.*)-(linux.*|freebsd.*)' COMPATIBLE_HOST = "${GRUB_COMPATIBLE_HOST}" diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index d8f20c87dd6..68fac4cca51 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc @@ -1,7 +1,7 @@ require glibc-common.inc require glibc-ld.inc -DEPENDS = "virtual/cross-cc virtual/cross-binutils libgcc-initial linux-libc-headers" +DEPENDS = "virtual/cross-cc virtual/cross-binutils libgcc-initial linux-libc-headers gawk-replacement-native" PROVIDES = "virtual/libc" PROVIDES += "virtual/libintl virtual/libiconv" diff --git a/meta/recipes-extended/gawk/gawk_5.3.2.bb b/meta/recipes-extended/gawk/gawk_5.3.2.bb index 0448d90ba7b..01602f4f27a 100644 --- a/meta/recipes-extended/gawk/gawk_5.3.2.bb +++ b/meta/recipes-extended/gawk/gawk_5.3.2.bb @@ -41,13 +41,21 @@ ALTERNATIVE:${PN} = "awk" ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" ALTERNATIVE_PRIORITY = "100" -do_install:append() { +target_tweaks() { # remove the link since we don't package it rm ${D}${bindir}/awk # Strip non-reproducible build flags (containing build paths) sed -i -e 's|^CC.*|CC=""|g' -e 's|^CFLAGS.*|CFLAGS=""|g' ${D}${bindir}/gawkbug } +do_install:append:class-target() { + target_tweaks +} + +do_install:append:class-nativesdk() { + target_tweaks +} + inherit ptest do_install_ptest() { @@ -94,4 +102,5 @@ RDEPENDS:${PN}-ptest += "make locale-base-en-us coreutils" RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1" RDEPENDS:${PN}-ptest:append:libc-musl = " musl-locales" +PROVIDES:append:class-native = " gawk-replacement-native" BBCLASSEXTEND = "native nativesdk"