On 2021-07-15, Vagrant Cascadian wrote: > On 2018-11-19, Niko Tyni wrote: >> Diffoscoping a perl built on a usrmerged [1] system with >> one built on a non-usrmerged system reveals the configure >> process hardcoding some paths in the build results, >> >> [1] https://wiki.debian.org/UsrMerge >> >> Snippets from config.h, Config.pm, Config_heavy.pl, config.sh.debug.gz >> and so forth include things below. ... >> -libpth => '/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed >> /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib >> /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib', >> +libpth => '/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed >> /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib >> /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64', ... >> -libspath=' /usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed >> /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib >> /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib' >> +libspath=' /usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed >> /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib >> /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64'
Attached patch also fixes these issues, by adjusting libpth and libspath in debian/config.over ... it feels a little hackish ... but ... With all three patches applied, perl builds reproducibly! live well, vagrant
From c7d24b8965eecbdfcebbf21900c744ee7b5842a4 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagr...@reproducible-builds.org> Date: Thu, 15 Jul 2021 23:28:41 +0000 Subject: [PATCH 3/3] debian/config.over: Adjust libpth and libspath to build consistently when built on usrmerge or non-usrmerge system. --- debian/config.over | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/debian/config.over b/debian/config.over index f793f48c8..29de4814c 100644 --- a/debian/config.over +++ b/debian/config.over @@ -45,6 +45,27 @@ if ! echo $libpth | grep -q "$multiarch_dir" then libpth="$libpth $multiarch_dir" fi +if ! echo $libspath | grep -q "$multiarch_dir" +then + libspath="$libspath $multiarch_dir" +fi +multiarch_lib_dir=/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH` +if ! echo $libpth | grep -q " $multiarch_lib_dir" +then + libpth="$libpth $multiarch_lib_dir" +fi +if ! echo $libspath | grep -q " $multiarch_lib_dir" +then + libspath="$libspath $multiarch_lib_dir" +fi +if ! echo $libpth | grep -q ' /lib$' +then + libpth="$libpth /lib" +fi +if ! echo $libspath | grep -q ' /lib$' +then + libspath="$libspath /lib" +fi # set configuration time to latest debian/changelog entry cf_time=$(LC_ALL=C date --utc -d "$(cd .. && dpkg-parsechangelog | sed -n -e 's/^Date: //p')") -- 2.32.0
signature.asc
Description: PGP signature