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.
This commit is contained in:
Dor Askayo 2022-09-16 10:34:07 +03:00
parent a74f3166f3
commit 3921660396
9 changed files with 45 additions and 24 deletions

View File

@ -53,7 +53,7 @@ f55c11b091361536774b436abe86b17f759cd7a66522cd20c7a2190da92db67a findutils-4.2.
07715a0c8bc13b80fc10ede20573f92e933b8d3dc6a5c8700f4289965ea8ec74 gcc-4.0.4_0.tar.bz2 07715a0c8bc13b80fc10ede20573f92e933b8d3dc6a5c8700f4289965ea8ec74 gcc-4.0.4_0.tar.bz2
e7c678c71c51cd6e8ce6eae029503a661169e6994ba0f988ac15634254d1fadb gcc-4.0.4_1.tar.bz2 e7c678c71c51cd6e8ce6eae029503a661169e6994ba0f988ac15634254d1fadb gcc-4.0.4_1.tar.bz2
b90cf37e7d0391dba6b1943c7527b0d5f5f9c7e399070828af6f1c39a1323883 gcc-4.7.4_0.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 fe16fb6021f1f4650c98f77261145f37732be0aee06e957b0bdb3b01beb593a8 gmp-6.2.1_0.tar.bz2
3fd7b8e71183060864420479bd36a6853119c4eae5568672838cae23b7dc1050 gperf-3.1_0.tar.bz2 3fd7b8e71183060864420479bd36a6853119c4eae5568672838cae23b7dc1050 gperf-3.1_0.tar.bz2
390840f2bc9c2a3196c28e06f8650f408e33b5d4ffe5539e174682ed13960bc9 grep-2.4_0.tar.bz2 390840f2bc9c2a3196c28e06f8650f408e33b5d4ffe5539e174682ed13960bc9 grep-2.4_0.tar.bz2

View File

@ -24,7 +24,4 @@ src_install() {
make install MAKEINFO=true DESTDIR="${DESTDIR}" make install MAKEINFO=true DESTDIR="${DESTDIR}"
rm "${DESTDIR}${PREFIX}/share/doc/automake/amhello-1.0.tar.gz" rm "${DESTDIR}${PREFIX}/share/doc/automake/amhello-1.0.tar.gz"
rm "${DESTDIR}/usr/bin/automake" "${DESTDIR}/usr/bin/aclocal" rm "${DESTDIR}/usr/bin/automake" "${DESTDIR}/usr/bin/aclocal"
# Delete some stray directories
rm -r "${DESTDIR}${SOURCES}"
} }

View File

@ -9,13 +9,13 @@
set -e set -e
# shellcheck disable=SC2154 # shellcheck disable=SC2154
export PREFIX="${prefix}" PREFIX="${prefix}"
# shellcheck disable=SC2154 # shellcheck disable=SC2154
export SOURCES="${sysa}" SOURCES="${sysa}"
export DISTFILES="${sysa}/distfiles" DISTFILES="${sysa}/distfiles"
export DESTDIR=/tmp/destdir DESTDIR=/tmp/destdir
# shellcheck disable=SC2154 # shellcheck disable=SC2154
export SRCDIR="${srcdir}" SRCDIR="${srcdir}"
# shellcheck source=sysa/helpers.sh # shellcheck source=sysa/helpers.sh
. helpers.sh . helpers.sh

View File

@ -7,9 +7,10 @@
set -e set -e
export PATH=/usr/bin PREFIX=/usr
export PREFIX=/usr SOURCES="${PREFIX}/src"
export SOURCES=/usr/src
export PATH="${PREFIX}/bin"
# shellcheck source=sysa/helpers.sh # shellcheck source=sysa/helpers.sh
. /usr/src/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 install_tar util-linux-2.19.1 0
# Begin sysb bootstrapping process # Begin sysb bootstrapping process
cd /usr/src cd "${SOURCES}"
./run.sh
# shellcheck disable=SC2129
echo "PREFIX=${PREFIX}" >> .env
echo "SOURCES=${SOURCES}" >> .env
exec ./run.sh

View File

@ -6,6 +6,9 @@
set -e set -e
# shellcheck source=/dev/null
. .env
# shellcheck source=sysa/helpers.sh # shellcheck source=sysa/helpers.sh
. helpers.sh . helpers.sh
@ -74,8 +77,6 @@ if [ $(($(ls -l "/dev/${DISK}" | sed "s/.*, *//" | sed "s/ .*//") % 8)) -eq 0 ];
fi fi
echo "export DISK=${DISK}" >> /usr/src/bootstrap.cfg echo "export DISK=${DISK}" >> /usr/src/bootstrap.cfg
PREFIX=/usr
SOURCES="${PREFIX}/src"
SYSC=/sysc SYSC=/sysc
# Otherwise, add stuff from sysa to sysb # Otherwise, add stuff from sysa to sysb

View File

@ -5,4 +5,6 @@
# Replace this hook if you wish to do more # Replace this hook if you wish to do more
. /usr/src/.env
exec env - PATH="${PREFIX}/bin" PS1="\w # " bash -i exec env - PATH="${PREFIX}/bin" PS1="\w # " bash -i

View File

@ -7,12 +7,13 @@
set -e set -e
export PATH=/usr/bin:/usr/sbin PREFIX=/usr
export PREFIX=/usr SOURCES="${PREFIX}/src"
export SOURCES=/usr/src DESTDIR=/tmp/destdir
export DESTDIR=/tmp/destdir DISTFILES=/distfiles
export DISTFILES=/distfiles SRCDIR="${SOURCES}"
export SRCDIR="${SOURCES}"
export PATH="${PREFIX}/bin:${PREFIX}/sbin"
export HOME=/tmp export HOME=/tmp
export SOURCE_DATE_EPOCH=0 export SOURCE_DATE_EPOCH=0
@ -61,4 +62,12 @@ ln -s /usr/bin/bash /usr/bin/sh
# Begin sysc bootstrapping process # Begin sysc bootstrapping process
cd "${SOURCES}" 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 exec ./run.sh

View File

@ -8,6 +8,9 @@
set -e set -e
# shellcheck source=/dev/null
. .env
# shellcheck source=sysa/helpers.sh # shellcheck source=sysa/helpers.sh
. helpers.sh . helpers.sh
@ -55,4 +58,4 @@ fi
build bash-5.1 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

View File

@ -9,6 +9,9 @@
set -e set -e
# shellcheck source=/dev/null
. .env
# shellcheck disable=SC2153 # shellcheck disable=SC2153
trap 'env - PATH=${PREFIX}/bin PS1="\w # " bash -i' EXIT trap 'env - PATH=${PREFIX}/bin PS1="\w # " bash -i' EXIT
@ -140,4 +143,4 @@ fi
echo "Bootstrapping completed." echo "Bootstrapping completed."
cd "/" 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"