]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
glibc-tests: Avoid reproducibility issues
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 3 Jul 2022 14:59:25 +0000 (15:59 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 4 Jul 2022 14:13:18 +0000 (15:13 +0100)
Currently, there are hardcoded paths in the binaries installed by this
recipe, at least one some architectures. Change the compile definitions to
point to more appropriate paths. Ideally we'd rework this patch into a form
acceptable to upstream but I'm not entirely sure what that would look like
right now.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/glibc/glibc-tests_2.35.bb
meta/recipes-core/glibc/glibc/reproducible-paths.patch [new file with mode: 0644]

index 028e83e865b0b1a89c43e9b5b6543c8f29d38cd3..96d0569ff67e22e7645c47f2e3aeedbb80bafeb4 100644 (file)
@@ -5,6 +5,7 @@ inherit ptest features_check
 REQUIRED_DISTRO_FEATURES = "ptest"
 
 SRC_URI:append = " \
+       file://reproducible-paths.patch \
        file://run-ptest \
 "
 
@@ -31,6 +32,8 @@ RRECOMMENDS:${PN} = ""
 RDEPENDS:${PN} = " glibc sed"
 DEPENDS:append = " sed"
 
+export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/"
+
 # Just build tests for target - do not run them
 do_check:append () {
        oe_runmake -i check run-built-tests=no
diff --git a/meta/recipes-core/glibc/glibc/reproducible-paths.patch b/meta/recipes-core/glibc/glibc/reproducible-paths.patch
new file mode 100644 (file)
index 0000000..0754dca
--- /dev/null
@@ -0,0 +1,23 @@
+Avoid hardcoded build time paths in the output binaries by replacing the compile
+definitions with the output locations.
+
+Upstream-Status: Inappropriate [would need reworking somehow to be acceptable upstream]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: git/support/Makefile
+===================================================================
+--- git.orig/support/Makefile
++++ git/support/Makefile
+@@ -216,9 +216,9 @@ libsupport-inhibit-o += .o
+ endif
+ CFLAGS-support_paths.c = \
+-              -DSRCDIR_PATH=\"`cd .. ; pwd`\" \
+-              -DOBJDIR_PATH=\"`cd $(objpfx)/..; pwd`\" \
+-              -DOBJDIR_ELF_LDSO_PATH=\"`cd $(objpfx)/..; pwd`/elf/$(rtld-installed-name)\" \
++              -DSRCDIR_PATH=\"$(oe_srcdir)\" \
++              -DOBJDIR_PATH=\"$(libdir)/glibc-tests/ptest/tests/glibc-ptest\" \
++              -DOBJDIR_ELF_LDSO_PATH=\"$(slibdir)/$(rtld-installed-name)\" \
+               -DINSTDIR_PATH=\"$(prefix)\" \
+               -DLIBDIR_PATH=\"$(libdir)\" \
+               -DBINDIR_PATH=\"$(bindir)\" \