commit: 653f31b59feeaacc95039e3a58b94676643904b9
parent 18fa6421002b326a309a7d863c6c8229215e7940
Author: Dor Askayo <dor.askayo@gmail.com>
Date: Fri, 20 May 2022 17:55:35 +0300
Add support for --update-checksums in early bootstrap
This allows creating *.checksums files instead of checking against
them when UPDATE_CHECKSUMS is set to True in bootstrap.cfg.
The checksums are also copied to /usr/src so they can be accessed
easily after the bootstrap completes.
Diffstat:
14 files changed, 187 insertions(+), 20 deletions(-)
diff --git a/sysa/after.kaem b/sysa/after.kaem
@@ -18,9 +18,10 @@ prefix=/usr
bindir=${prefix}/bin
libdir=${prefix}/lib
incdir=${prefix}/include
+srcdir=${prefix}/src
TMPDIR=/tmp # tmpdir is needed for patch to work
-mkdir -p ${prefix} ${bindir} ${libdir} ${incdir} ${TMPDIR}
+mkdir -p ${prefix} ${bindir} ${libdir} ${incdir} ${srcdir} ${TMPDIR}
# Remove remaining dependencies on /bin (stage0-posix directory)
cp /${ARCH_DIR}/bin/blood-elf ${bindir}/blood-elf
diff --git a/sysa/bash-2.05b/bash-2.05b.kaem b/sysa/bash-2.05b/bash-2.05b.kaem
@@ -51,4 +51,11 @@ ln -s ${prefix}/bin/bash ${prefix}/bin/sh
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/bash
+
+ install ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/bzip2-1.0.8/bzip2-1.0.8.kaem b/sysa/bzip2-1.0.8/bzip2-1.0.8.kaem
@@ -35,4 +35,11 @@ bzip2 --help
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/bzip2
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/coreutils-5.0/coreutils-5.0.kaem b/sysa/coreutils-5.0/coreutils-5.0.kaem
@@ -38,4 +38,64 @@ cd ../..
rm -r src/
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/install \
+ /usr/bin/basename \
+ /usr/bin/cat \
+ /usr/bin/chmod \
+ /usr/bin/cksum \
+ /usr/bin/cp \
+ /usr/bin/csplit \
+ /usr/bin/cut \
+ /usr/bin/echo \
+ /usr/bin/expand \
+ /usr/bin/factor \
+ /usr/bin/false \
+ /usr/bin/fmt \
+ /usr/bin/fold \
+ /usr/bin/head \
+ /usr/bin/id \
+ /usr/bin/join \
+ /usr/bin/kill \
+ /usr/bin/link \
+ /usr/bin/ln \
+ /usr/bin/logname \
+ /usr/bin/mkfifo \
+ /usr/bin/mkdir \
+ /usr/bin/mknod \
+ /usr/bin/nl \
+ /usr/bin/od \
+ /usr/bin/paste \
+ /usr/bin/pathchk \
+ /usr/bin/printf \
+ /usr/bin/ptx \
+ /usr/bin/pwd \
+ /usr/bin/readlink \
+ /usr/bin/rmdir \
+ /usr/bin/seq \
+ /usr/bin/sleep \
+ /usr/bin/split \
+ /usr/bin/sum \
+ /usr/bin/tail \
+ /usr/bin/tee \
+ /usr/bin/tr \
+ /usr/bin/tsort \
+ /usr/bin/unexpand \
+ /usr/bin/unlink \
+ /usr/bin/wc \
+ /usr/bin/whoami \
+ /usr/bin/test \
+ /usr/bin/touch \
+ /usr/bin/true \
+ /usr/bin/yes \
+ /usr/bin/ls \
+ /usr/bin/md5sum \
+ /usr/bin/mv \
+ /usr/bin/rm \
+ /usr/bin/sha1sum
+
+ install ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/gzip-1.2.4/gzip-1.2.4.kaem b/sysa/gzip-1.2.4/gzip-1.2.4.kaem
@@ -37,4 +37,11 @@ chmod 755 ${bindir}/gunzip
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/gzip
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/heirloom-devtools-070527/heirloom-devtools-070527.kaem b/sysa/heirloom-devtools-070527/heirloom-devtools-070527.kaem
@@ -44,4 +44,15 @@ install -m 644 ncform ${lexdir}
cd ../../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/yacc \
+ /usr/bin/lex \
+ /usr/lib/mes/libl.a \
+ /yaccpar \
+ /lex/ncform
+
+ install ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/make-3.80/make-3.80.kaem b/sysa/make-3.80/make-3.80.kaem
@@ -55,4 +55,11 @@ make --version
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/make
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/mes-0.24/mes-0.24.kaem b/sysa/mes-0.24/mes-0.24.kaem
@@ -314,6 +314,27 @@ cp include/sys/ucontext.h ${incdir}/sys/ucontext.h
cp include/sys/user.h ${incdir}/sys/user.h
cp include/sys/wait.h ${incdir}/sys/wait.h
-# Checksums
cd ../..
-sha256sum -c ${pkg}.checksums
+
+# Checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/mes \
+ /usr/bin/mes-m2 \
+ /usr/bin/mescc.scm \
+ /usr/lib/x86-mes/crt1.s \
+ /usr/lib/x86-mes/crt1.o \
+ /usr/lib/x86-mes/x86.M1 \
+ /usr/lib/x86-mes/libmescc.s \
+ /usr/lib/x86-mes/libc+tcc.s \
+ /usr/lib/x86-mes/libc.s \
+ /usr/lib/x86-mes/libmescc.a \
+ /usr/lib/x86-mes/libc+tcc.a \
+ /usr/lib/x86-mes/libc.a \
+ /usr/lib/linux/x86-mes/elf32-header.hex2 \
+ /usr/lib/linux/x86-mes/elf32-footer-single-main.hex2
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/patch-2.5.9/patch-2.5.9.kaem b/sysa/patch-2.5.9/patch-2.5.9.kaem
@@ -34,4 +34,11 @@ chmod 755 ${prefix}/bin/patch
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/patch
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/run.sh b/sysa/run.sh
@@ -16,19 +16,18 @@ export PREFIX="${prefix}"
export SOURCES="${sysa}"
export DISTFILES="${sysa}/distfiles"
export DESTDIR=/tmp/destdir
-export REPO="${PREFIX}/src/repo"
+# shellcheck disable=SC2154
+export SRCDIR="${srcdir}"
create_sysb() {
# Copy everything in
echo "Creating sysb rootfs"
mkdir -p "/sysb${PREFIX}"
- for d in bin include lib libexec share; do
+ for d in bin include lib libexec share src; do
# Minimise RAM (storage) use - use hard links
cp -rl "${PREFIX}/${d}" "/sysb${PREFIX}/${d}"
done
- mkdir /sysb/usr/src
- cp "${SOURCES}/helpers.sh" "${SOURCES}/SHA256SUMS.pkgs" "${SOURCES}/bootstrap.cfg" /sysb/usr/src/
- cp -rl "${REPO}" "/sysb/${REPO}"
+ cp "${SOURCES}/helpers.sh" "${SOURCES}/SHA256SUMS.pkgs" "${SOURCES}/bootstrap.cfg" "/sysb/${SRCDIR}"
populate_device_nodes /sysb
echo "Creating sysb initramfs"
gen_initramfs_list.sh -o "${PREFIX}/boot/initramfs-sysb.cpio.gz" /sysb
@@ -101,7 +100,7 @@ echo "Thank you! All done."
echo "ARCH=${ARCH}" >> "${SOURCES}/bootstrap.cfg"
-mkdir -p "${DESTDIR}" "${REPO}" /dev
+mkdir -p "${DESTDIR}" "${SRCDIR}/repo" /dev
build flex-2.5.11
diff --git a/sysa/sed-4.0.9/sed-4.0.9.kaem b/sysa/sed-4.0.9/sed-4.0.9.kaem
@@ -31,4 +31,11 @@ chmod 755 ${prefix}/bin/sed
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/sed
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/tar-1.12/tar-1.12.kaem b/sysa/tar-1.12/tar-1.12.kaem
@@ -34,4 +34,11 @@ chmod 755 ${prefix}/bin/tar
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/tar
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/tcc-0.9.26/tcc-0.9.26.kaem b/sysa/tcc-0.9.26/tcc-0.9.26.kaem
@@ -388,4 +388,23 @@ tcc -ar cr ${libdir}/libgetopt.a getopt.o
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/mes-tcc \
+ /usr/bin/boot0-tcc \
+ /usr/bin/boot1-tcc \
+ /usr/bin/boot2-tcc \
+ /usr/bin/boot3-tcc \
+ /usr/bin/boot4-tcc \
+ /usr/bin/tcc \
+ /usr/lib/mes/libc.a \
+ /usr/lib/mes/libgetopt.a \
+ /usr/lib/mes/crt1.o \
+ /usr/lib/mes/crti.o \
+ /usr/lib/mes/crtn.o \
+ /usr/lib/mes/tcc/libtcc1.a
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi
diff --git a/sysa/tcc-0.9.27/tcc-0.9.27.kaem b/sysa/tcc-0.9.27/tcc-0.9.27.kaem
@@ -47,4 +47,11 @@ tcc -version
cd ../..
# Checksums
-sha256sum -c ${pkg}.checksums
+if match x${UPDATE_CHECKSUMS} xTrue; then
+ sha256sum -o ${pkg}.checksums \
+ /usr/bin/tcc
+
+ cp ${pkg}.checksums ${srcdir}
+else
+ sha256sum -c ${pkg}.checksums
+fi