From a74f3166f31f0676812135840a898f6ed7dec03f Mon Sep 17 00:00:00 2001 From: Dor Askayo Date: Fri, 16 Sep 2022 13:36:07 +0300 Subject: [PATCH 1/2] Pass variables to make explicitly in musl-1.1.24 --- sysa/musl-1.1.24/binutils-rebuild.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sysa/musl-1.1.24/binutils-rebuild.sh b/sysa/musl-1.1.24/binutils-rebuild.sh index d330701..4bb705a 100755 --- a/sysa/musl-1.1.24/binutils-rebuild.sh +++ b/sysa/musl-1.1.24/binutils-rebuild.sh @@ -24,10 +24,10 @@ src_configure() { } src_compile() { - make CROSS_COMPILE= CFLAGS="-DSYSCALL_NO_TLS" AS_CMD='as -o $@ $<' + make PREFIX="${PREFIX}" CROSS_COMPILE= CFLAGS="-DSYSCALL_NO_TLS" AS_CMD='as -o $@ $<' } src_install() { rm -rf "${PREFIX}/include" - make install + make PREFIX="${PREFIX}" DESTDIR="${DESTDIR}" install } From 39216603960095ab8c9fbd99fe656e28edb83108 Mon Sep 17 00:00:00 2001 From: Dor Askayo Date: Fri, 16 Sep 2022 10:34:07 +0300 Subject: [PATCH 2/2] Avoid exporting variables in build scripts Environment variables "pollute" the build environment of packages and can affect their output. This change results in the removal of some files from packages that were not meant to be packaged. It also removes the need for a workaround in automake 1.10.3 to manually remove such files. Variables are now saved in an .env file for each system and included in scripts that need them using the dot operation. --- sysa/SHA256SUMS.pkgs | 2 +- sysa/automake-1.10.3/automake-1.10.3.sh | 3 --- sysa/run.sh | 10 +++++----- sysb/init | 16 +++++++++++----- sysb/run.sh | 5 +++-- sysc/after.sh | 2 ++ sysc/init | 21 +++++++++++++++------ sysc/run.sh | 5 ++++- sysc/run2.sh | 5 ++++- 9 files changed, 45 insertions(+), 24 deletions(-) diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs index 5f1d714..e4bd246 100644 --- a/sysa/SHA256SUMS.pkgs +++ b/sysa/SHA256SUMS.pkgs @@ -53,7 +53,7 @@ f55c11b091361536774b436abe86b17f759cd7a66522cd20c7a2190da92db67a findutils-4.2. 07715a0c8bc13b80fc10ede20573f92e933b8d3dc6a5c8700f4289965ea8ec74 gcc-4.0.4_0.tar.bz2 e7c678c71c51cd6e8ce6eae029503a661169e6994ba0f988ac15634254d1fadb gcc-4.0.4_1.tar.bz2 b90cf37e7d0391dba6b1943c7527b0d5f5f9c7e399070828af6f1c39a1323883 gcc-4.7.4_0.tar.bz2 -9a299c3669367165bf1c661486bdb42297e0c4c1fc572d346b6c9e6ae186390c gettext-0.21_0.tar.bz2 +6e468a87e3bb80b4756bc6925127c230ab0c526c6d353c4fbf123244fa93435e gettext-0.21_0.tar.bz2 fe16fb6021f1f4650c98f77261145f37732be0aee06e957b0bdb3b01beb593a8 gmp-6.2.1_0.tar.bz2 3fd7b8e71183060864420479bd36a6853119c4eae5568672838cae23b7dc1050 gperf-3.1_0.tar.bz2 390840f2bc9c2a3196c28e06f8650f408e33b5d4ffe5539e174682ed13960bc9 grep-2.4_0.tar.bz2 diff --git a/sysa/automake-1.10.3/automake-1.10.3.sh b/sysa/automake-1.10.3/automake-1.10.3.sh index 45ba75d..5169dce 100755 --- a/sysa/automake-1.10.3/automake-1.10.3.sh +++ b/sysa/automake-1.10.3/automake-1.10.3.sh @@ -24,7 +24,4 @@ src_install() { make install MAKEINFO=true DESTDIR="${DESTDIR}" rm "${DESTDIR}${PREFIX}/share/doc/automake/amhello-1.0.tar.gz" rm "${DESTDIR}/usr/bin/automake" "${DESTDIR}/usr/bin/aclocal" - - # Delete some stray directories - rm -r "${DESTDIR}${SOURCES}" } diff --git a/sysa/run.sh b/sysa/run.sh index 3008321..a9fca78 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -9,13 +9,13 @@ set -e # shellcheck disable=SC2154 -export PREFIX="${prefix}" +PREFIX="${prefix}" # shellcheck disable=SC2154 -export SOURCES="${sysa}" -export DISTFILES="${sysa}/distfiles" -export DESTDIR=/tmp/destdir +SOURCES="${sysa}" +DISTFILES="${sysa}/distfiles" +DESTDIR=/tmp/destdir # shellcheck disable=SC2154 -export SRCDIR="${srcdir}" +SRCDIR="${srcdir}" # shellcheck source=sysa/helpers.sh . helpers.sh diff --git a/sysb/init b/sysb/init index 50a1698..4884a44 100755 --- a/sysb/init +++ b/sysb/init @@ -7,9 +7,10 @@ set -e -export PATH=/usr/bin -export PREFIX=/usr -export SOURCES=/usr/src +PREFIX=/usr +SOURCES="${PREFIX}/src" + +export PATH="${PREFIX}/bin" # shellcheck source=sysa/helpers.sh . /usr/src/helpers.sh @@ -34,5 +35,10 @@ install_tar kexec-tools-2.0.22 0 install_tar util-linux-2.19.1 0 # Begin sysb bootstrapping process -cd /usr/src -./run.sh +cd "${SOURCES}" + +# shellcheck disable=SC2129 +echo "PREFIX=${PREFIX}" >> .env +echo "SOURCES=${SOURCES}" >> .env + +exec ./run.sh diff --git a/sysb/run.sh b/sysb/run.sh index db69550..c9528bf 100755 --- a/sysb/run.sh +++ b/sysb/run.sh @@ -6,6 +6,9 @@ set -e +# shellcheck source=/dev/null +. .env + # shellcheck source=sysa/helpers.sh . helpers.sh @@ -74,8 +77,6 @@ if [ $(($(ls -l "/dev/${DISK}" | sed "s/.*, *//" | sed "s/ .*//") % 8)) -eq 0 ]; fi echo "export DISK=${DISK}" >> /usr/src/bootstrap.cfg -PREFIX=/usr -SOURCES="${PREFIX}/src" SYSC=/sysc # Otherwise, add stuff from sysa to sysb diff --git a/sysc/after.sh b/sysc/after.sh index a8586b1..348af3e 100755 --- a/sysc/after.sh +++ b/sysc/after.sh @@ -5,4 +5,6 @@ # Replace this hook if you wish to do more +. /usr/src/.env + exec env - PATH="${PREFIX}/bin" PS1="\w # " bash -i diff --git a/sysc/init b/sysc/init index ad9973f..2d11de0 100755 --- a/sysc/init +++ b/sysc/init @@ -7,12 +7,13 @@ set -e -export PATH=/usr/bin:/usr/sbin -export PREFIX=/usr -export SOURCES=/usr/src -export DESTDIR=/tmp/destdir -export DISTFILES=/distfiles -export SRCDIR="${SOURCES}" +PREFIX=/usr +SOURCES="${PREFIX}/src" +DESTDIR=/tmp/destdir +DISTFILES=/distfiles +SRCDIR="${SOURCES}" + +export PATH="${PREFIX}/bin:${PREFIX}/sbin" export HOME=/tmp export SOURCE_DATE_EPOCH=0 @@ -61,4 +62,12 @@ ln -s /usr/bin/bash /usr/bin/sh # Begin sysc bootstrapping process cd "${SOURCES}" + +# shellcheck disable=SC2129 +echo "PREFIX=${PREFIX}" >> .env +echo "SOURCES=${SOURCES}" >> .env +echo "DESTDIR=${DESTDIR}" >> .env +echo "DISTFILES=${DISTFILES}" >> .env +echo "SRCDIR=${SRCDIR}" >> .env + exec ./run.sh diff --git a/sysc/run.sh b/sysc/run.sh index f8502eb..e9da3f4 100755 --- a/sysc/run.sh +++ b/sysc/run.sh @@ -8,6 +8,9 @@ set -e +# shellcheck source=/dev/null +. .env + # shellcheck source=sysa/helpers.sh . helpers.sh @@ -55,4 +58,4 @@ fi build bash-5.1 -exec env -i PATH="${PATH}" PREFIX="${PREFIX}" SOURCES="${SOURCES}" DESTDIR="${DESTDIR}" DISTFILES="${DISTFILES}" SRCDIR="${SRCDIR}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash run2.sh +exec env -i PATH="${PATH}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash run2.sh diff --git a/sysc/run2.sh b/sysc/run2.sh index c67e65d..c55443b 100755 --- a/sysc/run2.sh +++ b/sysc/run2.sh @@ -9,6 +9,9 @@ set -e +# shellcheck source=/dev/null +. .env + # shellcheck disable=SC2153 trap 'env - PATH=${PREFIX}/bin PS1="\w # " bash -i' EXIT @@ -140,4 +143,4 @@ fi echo "Bootstrapping completed." cd "/" -exec env -i PATH="${PATH}" PREFIX="${PREFIX}" SOURCES="${SOURCES}" DESTDIR="${DESTDIR}" DISTFILES="${DISTFILES}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash "${SOURCES}/after.sh" +exec env -i PATH="${PATH}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash "${SOURCES}/after.sh"