commit: a28bd78fdfac1762cb71de89bbb3edb915589a21
parent c5049d8194fb00c47c77d6cab600a902a5abf9ab
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Thu, 24 Apr 2025 20:10:50 +0200
unpack extras instead of just copying the tarballs
Diffstat:
15 files changed, 43 insertions(+), 60 deletions(-)
diff --git a/README.md b/README.md
@@ -151,7 +151,7 @@ Meanwhile:
- git: For oasis
- e2fsprogs: In case you need to format some extra storage
-You can automatically build all of the above with `/extras-build-all.sh` but be warned that those aren't as curated and due to lack of deblob, they might contain binaries and some use autotools which harms reviewability.
+You can automatically build all of the above with `/extras-build-all.sh` but be warned that some use pre-generated autotools blobs which harms reviewability.
You can also exclude those tarballs from the initrd with setting the `EXCLUDE_EXTRAS` environment variable to any value.
diff --git a/extras/bearssl.sh b/extras/bearssl.sh
@@ -1,8 +1,7 @@
#!/bin/sh
set -ex
-tar xof /distfiles/bearssl-*.tar.gz
-cd bearssl-*/
+cd /extras/bearssl-*/
# Maybe consider setting the soname to libbearssl.so.${pkgver%%.*} as done in aports
@@ -11,5 +10,4 @@ install build/brssl /usr/bin/
install -m 644 build/libbearssl.a build/libbearssl.so /usr/lib/
install -m 644 inc/* /usr/include/
-cd ..
-rm -fr bearssl-*/
+cd -
diff --git a/extras/e2fsprogs.sh b/extras/e2fsprogs.sh
@@ -8,8 +8,7 @@ die() {
command -v make || die "Run /extras/make.sh"
-tar xof /distfiles/e2fsprogs-*.tar.gz
-cd ./e2fsprogs-*/
+cd /extras/e2fsprogs-*/
LD=tcc ./configure --disable-nls --disable-backtrace
@@ -36,5 +35,4 @@ make
make install INSTALL=install
-cd ..
-rm -fr ./e2fsprogs-*/
+cd -
diff --git a/extras/git.sh b/extras/git.sh
@@ -9,8 +9,7 @@ die() {
command -v muon || die "Run /extras/muon-stage2.sh"
command -v curl || die "Run /extras/tiny-curl.sh"
-tar xof /distfiles/git-*.tar.gz
-cd git-*/
+cd /extras/git-*/
export LD=$CC
@@ -28,5 +27,4 @@ muon setup \
muon -C build samu
muon -C build install
-cd ..
-rm -fr git-*/
+cd -
diff --git a/extras/iproute2.sh b/extras/iproute2.sh
@@ -12,8 +12,7 @@ command -v make || die "Run /extras/make.sh"
command -v pkg-config || die "Run /extras/pkgconf-lite.sh"
-tar xof /distfiles/iproute2-*.tar.gz
-cd ./iproute2-*/
+cd /extras/iproute2-*/
./configure --prefix /usr
@@ -32,5 +31,4 @@ make clean
make HOSTCC=$CC
make install
-cd ..
-rm -r ./iproute2-*/
+cd -
diff --git a/extras/lua.sh b/extras/lua.sh
@@ -3,11 +3,9 @@ set -ex
# TODO (need ed / sed -i): https://www.lua.org/tests/lua-5.4.6-tests.tar.gz
-tar xof /distfiles/lua-*.tar.gz
-cd lua-*/
+cd /extras/lua-*/
pdpmake -C src all CC="$CC -std=gnu99" SYSCFLAGS="-DLUA_USE_LINUX" RANLIB=true
pdpmake install
-cd ..
-rm -fr lua-*/
+cd -
diff --git a/extras/make.sh b/extras/make.sh
@@ -1,9 +1,7 @@
#!/bin/sh
set -ex
-P="make-4.4.1"
-tar xof /distfiles/${P}.tar.gz
-cd ./$P
+cd /extras/make-*/
export LD="tcc"
./configure --prefix=/usr --disable-nls --disable-dependency-tracking
@@ -12,5 +10,4 @@ pdpmake clean
pdpmake ARFLAGS='-r'
pdpmake install INSTALL=install
-cd ..
-rm -r ./$P
+cd -
diff --git a/extras/muon-stage1.sh b/extras/muon-stage1.sh
@@ -1,8 +1,7 @@
#!/bin/sh
set -ex
-tar xof /distfiles/muon-*.tar.gz
-cd muon-*/
+cd /extras/muon-*/
./bootstrap.sh bootstrap
@@ -12,5 +11,4 @@ export LD=$CC
./bootstrap/muon-bootstrap -C build samu
./bootstrap/muon-bootstrap -C build install
-cd ..
-rm -r ./muon-*/
+cd -
diff --git a/extras/muon-stage2.sh b/extras/muon-stage2.sh
@@ -9,8 +9,7 @@ die() {
command -v muon || die "Run /extras/muon-stage1.sh"
pkg-config --exists libpkgconf || die "Run /extras/pkgconf.sh"
-tar xof /distfiles/muon-*.tar.gz
-cd muon-*/
+cd /extras/muon-*/
# needs to re-bootstrap to get a muon which uses libpkgconf
./bootstrap.sh bootstrap
@@ -27,5 +26,4 @@ export LD=$CC
./bootstrap/muon-bootstrap -C build samu
./bootstrap/muon-bootstrap -C build install
-cd ..
-rm -r ./muon-*/
+cd -
diff --git a/extras/muxzcat.sh b/extras/muxzcat.sh
@@ -1,12 +1,10 @@
#!/bin/sh
set -ex
-tar xof /distfiles/muxzcat-*.tar.gz
-cd muxzcat-*/
+cd /extras/muxzcat-*/
$CC -std=c90 $CFLAGS -o /usr/bin/muxzcat muxzcat.c
ln -s muxzcat /usr/bin/xzcat
ln -s muxzcat /usr/bin/xzdec
-cd ..
-rm -fr muxzcat-*/
+cd -
diff --git a/extras/pkgconf-lite.sh b/extras/pkgconf-lite.sh
@@ -6,8 +6,7 @@ die() {
exit 1
}
-tar xof /distfiles/pkgconf-*.tar.gz
-cd ./pkgconf-*/
+cd /extras/pkgconf-*/
export LD="tcc"
export MAKE="pdpmake"
@@ -32,5 +31,4 @@ $MAKE STRIP=true
install -m755 pkgconf-lite /usr/bin/pkg-config
-cd ..
-rm -r ./pkgconf-*/
+cd -
diff --git a/extras/pkgconf.sh b/extras/pkgconf.sh
@@ -8,8 +8,7 @@ die() {
command -v muon || die "Run /extras/muon.sh"
-tar xof /distfiles/pkgconf-*.tar.gz
-cd ./pkgconf-*/
+cd /extras/pkgconf-*/
ed meson.build <<EOF
/subdir('tests')
@@ -27,5 +26,4 @@ muon -C build install
ln -sf pkgconf /usr/bin/pkg-config
-cd ..
-rm -r ./pkgconf-*/
+cd -
diff --git a/extras/tiny-curl.sh b/extras/tiny-curl.sh
@@ -8,8 +8,7 @@ die() {
command -v brssl || die "Run /extras/bearssl.sh"
-tar xof /distfiles/tiny-curl-*.tar.gz
-cd tiny-curl-*/
+cd /extras/tiny-curl-*/
export LD=$CC
export MAKE=pdpmake
@@ -18,5 +17,4 @@ export MAKE=pdpmake
"$MAKE" RANLIB=true
"$MAKE" install INSTALL=install
-cd ..
-rm -fr tiny-curl-*/
+cd -
diff --git a/init.sh b/init.sh
@@ -203,9 +203,9 @@ build_bzip2 || die
build_zlib_libs </dev/null || die
build_pigz || die
-test -f /cacert-*.pem && {
+test -f /distfiles/cacert-*.pem && {
mkdir -p /usr/share/cacert/ || die
- mv /cacert-*.pem /usr/share/cacert/cert.pem || die
+ mv /distfiles/cacert-*.pem /usr/share/cacert/cert.pem || die
mkdir -p /etc/ssl || die
ln -s /usr/share/cacert/cert.pem /etc/ssl/cert.pem || die
}
diff --git a/make-root.sh b/make-root.sh
@@ -25,20 +25,22 @@ local_files="
src/mount-stub.c
src/reboot-stub.c
"
-distfiles="
+extra_tarballs="
make-4.4.1.tar.gz
lua-5.4.6.tar.gz
pkgconf-pkgconf-2.4.3.tar.gz
iproute2-6.13.0.tar.gz
bearssl-0.6.tar.gz
tiny-curl-8.4.0.tar.gz
- cacert-2024-11-26.pem
git-2.48.1.tar.gz
e2fsprogs-1.47.2.tar.gz
muon-v0.4.0.tar.gz
muxzcat-v2b.tar.gz
"
-local_distfiles="
+extra_distfiles="
+ cacert-2024-11-26.pem
+"
+extra_local_files="
extras-build-all.sh
extras/bearssl.sh
extras/e2fsprogs.sh
@@ -106,19 +108,25 @@ for i in $local_files; do
done
if ! test "${EXCLUDE_EXTRAS:+y}" = "y"; then
- mkdir -p ./extras
- for i in $local_distfiles; do
- cp "${WORKDIR}/$i" ./"$i" || die "Failed copying $i"
+ mkdir -p ./extras || die
+ for i in $extra_tarballs; do
+ tar xof "${WORKDIR}/distfiles/$i" -C ./extras/ || die "Failed extracting $i"
done
+ rm ./extras/bearssl-*/T0Comp.exe || die
+
mkdir -p ./distfiles
- for i in $distfiles
+ for i in $extra_distfiles
do
cp "${WORKDIR}/distfiles/$i" ./distfiles/ || die "Failed copying $i"
done
+
+ for i in $extra_local_files; do
+ cp "${WORKDIR}/$i" ./"$i" || die "Failed copying $i"
+ done
fi
-deblob
+deblob -c || die
mkdir -p dev proc sys etc usr/bin var/empty || die "Failed creating base directories"
ln -s /proc/mounts etc/mtab || die "Failed symlink for /etc/mtab"