logo

live-bootstrap

Mirror of <https://github.com/fosslinux/live-bootstrap>
commit: 622b4de875d024dcf3df61569ddd5d1dfb0682cc
parent 0b7b11f4154360b548f483f12de59e6b1dac5901
Author: fosslinux <fosslinux@aussies.space>
Date:   Fri,  8 Oct 2021 15:03:18 +1100

Fix guile.

- The date reproducibility issue was not actually set to any date, which
  could cause issues in the fiture, fix that sed.
- Fix a reproducibility issue (under QEMU), where the ordering of files
  within libguile can be random. This also affects guile binary so we
  need to rebuild that.
- Some change in kernel versions means that guile binary is
  significantly different in newer kernel versions. Because we cannot
  know the version of the host under chroot mode we must disable guile
  checksum entirely.
- Update checksums accordingly.

Diffstat:

Msysc/guile-3.0.7/checksums9+++++----
Msysc/guile-3.0.7/guile-3.0.7.sh28++++++++++++++++++++++++----
2 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/sysc/guile-3.0.7/checksums b/sysc/guile-3.0.7/checksums @@ -452,10 +452,9 @@ e2cf3d846f8f40844d299ab9ff85cc7e1cb6ee5bd84e322b350d17e180c3ab23 /usr/lib/musl/ 3c9a9519ab901c1b50044509118ca6594f3ed8506581dc6876fb438680546eaa /usr/lib/musl/guile/3.0/ccache/ice-9/psyntax-pp.go 489f4c55d32bfdc564a99e6d76eb177cd58dc56d836317b544110733698816fb /usr/lib/musl/guile/3.0/ccache/ice-9/eval.go 97a33176dadf774beb067201fd6552dd674f9a3fc6feecc15e607d278c2941a7 /usr/lib/musl/libguile-3.0.a-gdb.scm -09931b26cb37a5ed306861ed30a3e66fa470a977566dfc8d1c776de11fa504fd /usr/lib/musl/libguile-3.0.a +252a5c8dcb2d23dd8338bc1f53a6492c6cfa290678dc6cbe9f06281ab724edb7 /usr/lib/musl/libguile-3.0.a c6199bd229d15fd770e8bbb95e5dfdc2674b62aec4990eafa6f453d9531b7f7c /usr/lib/musl/libguile-3.0.la b0c9e99c458a2c1dbd6a97eace601097511938947e2549c4ca478f73520b0ce9 /usr/lib/musl/pkgconfig/guile-3.0.pc -b8909c03a947096bb28597a16b95f68d2c1e7316b34d71a0305d2f0074ab3f36 /usr/share/man/man1/guile.1 ec1fc9e27ee3dfba39c1ee72331ca1298025137170b222e25c505c0250f2dd5e /usr/share/info/r5rs.info f3ecca2e5a9209ba7491d6ceaac0e47c51451155718379e3d49cf8f4f9b7ef1c /usr/share/info/dir 256ad479fc0b4e346389534ba5d72dcc9b45790ecc1663066a4d65a268fb6841 /usr/share/info/guile.info-11 @@ -815,7 +814,9 @@ a272ec5ae54149333929f9bf51ee45eccf75d61af55f04161a69dd2c69d0ba9e /usr/share/gui 136bf32e0aa03d228330b2d3b68d79563ccd6ce4d9041c4ff91258037980e7d3 /usr/share/guile/3.0/ice-9/psyntax-pp.scm 7c72516475f8c1470d2488039ea53e3505f1779cdf80aaaabc6bdde6a725e3b0 /usr/share/guile/3.0/ice-9/eval.scm a78f2fcaf573a644576a67e3081335568bd4b77be31be228b33550d6bb189392 /usr/share/aclocal/guile.m4 +f8a990f6b50d6d95fd3e9ad7258fd4af02ca63056828428ce72cb19cb2c96bbe /usr/bin/guile +1dde10bc8daad6f1c560dd5dbff0891be33dc8e0f3d3591fdef4aed51f61439b /usr/bin/guile-config 5a1af2046c855d107b5a49a157adc69c64bcd51cdcaadb619d30398be351dd6c /usr/bin/guile-snarf -512c5eb652a7470277cc62173640f85e63d76b3e0a8e315d29ae5097be81c61b /usr/bin/guile +62cb07dff2b51611f5d088e1aec406d2ba5db9fe249e849d2a798e5dffc26c01 /usr/bin/guile-tools 62cb07dff2b51611f5d088e1aec406d2ba5db9fe249e849d2a798e5dffc26c01 /usr/bin/guild -1dde10bc8daad6f1c560dd5dbff0891be33dc8e0f3d3591fdef4aed51f61439b /usr/bin/guile-config +b8909c03a947096bb28597a16b95f68d2c1e7316b34d71a0305d2f0074ab3f36 /usr/share/man/man1/guile.1 diff --git a/sysc/guile-3.0.7/guile-3.0.7.sh b/sysc/guile-3.0.7/guile-3.0.7.sh @@ -6,12 +6,20 @@ src_prepare() { default + # If we are in chroot mode, we can make no assumptions about the host + # kernel. It appears the resulting binary is at least somewhat + # kernel-specific (in ways other than hardcoded string). Hence disable + # checksumming for guile binary under chroot. + if [ "$CHROOT" = True ]; then + sed -i '/guile$/d' ../../checksums + fi + find . -name '*.info*' -delete ../../import-gnulib.sh # Remove buildstamp - sed -i "s/date -u +'%Y-%m-%d %T'/1970-01-01 00:00:00/" libguile/Makefile.am + sed -i "s/\`date -u +'%Y-%m-%d %T'.*\`/1970-01-01 00:00:00/" libguile/Makefile.am autoreconf-2.71 -fi @@ -32,9 +40,9 @@ src_prepare() { src_configure() { PKG_CONFIG_PATH="${PREFIX}/lib/musl/pkgconfig" ./configure \ --prefix="${PREFIX}" \ - --libdir="${PREFIX}/lib/musl" \ - --disable-shared \ - --disable-jit + --libdir="${PREFIX}/lib/musl" \ + --disable-shared \ + --disable-jit } src_compile() { @@ -57,4 +65,16 @@ src_compile() { # Now proceed with the build default + + # Ordering of libguile.a is messed up + mkdir libguile/.libs/order + pushd libguile/.libs/order + ar x ../libguile-3.0.a + rm ../libguile-3.0.a + ar cr ../libguile-3.0.a *.o + popd + + # Recompile guile with fixed libguile + rm libguile/guile + make }