From b42acc6624307edc386d7cdc1b8c7b581707224d Mon Sep 17 00:00:00 2001 From: fosslinux Date: Fri, 24 Jan 2025 13:19:22 +1100 Subject: [PATCH 1/2] Set pipefail when supported --- seed/script-generator.amd64.checksums | 2 +- seed/script-generator.c | 2 +- seed/script-generator.riscv64.checksums | 2 +- seed/script-generator.x86.checksums | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/seed/script-generator.amd64.checksums b/seed/script-generator.amd64.checksums index 69d80d01..8f50f892 100644 --- a/seed/script-generator.amd64.checksums +++ b/seed/script-generator.amd64.checksums @@ -1 +1 @@ -1dbbcc42b293cdf558730a5c7e084422879b607bf14f42aa2168b0c8ebb2f2c1 script-generator +e1c9bbedd2aca20b10568c1303e2227e0d68f36bb8f1dfd6ac39e14342f3a9f7 script-generator diff --git a/seed/script-generator.c b/seed/script-generator.c index adc093e8..fac3cd06 100644 --- a/seed/script-generator.c +++ b/seed/script-generator.c @@ -410,7 +410,7 @@ FILE *start_script(int id, int bash_build) { fputs("#!/bin/bash\n", out); if (strcmp(get_var("INTERACTIVE"), "True") == 0) { if (bash_build != 1) { - fputs("set -E\ntrap 'env PS1=\"[TRAP] \\w # \" bash -i' ERR\n", out); + fputs("set -eEo pipefail\ntrap 'env PS1=\"[TRAP] \\w # \" bash -i' ERR\n", out); } else { /* FIXME early bash has buggy ERR trap handling */ fputs("set -e\ntrap 'bash -c '\"'\"'while true; do printf \"" diff --git a/seed/script-generator.riscv64.checksums b/seed/script-generator.riscv64.checksums index f4faef5b..67d5dd79 100644 --- a/seed/script-generator.riscv64.checksums +++ b/seed/script-generator.riscv64.checksums @@ -1 +1 @@ -0cd30eb7753ae8907fed32e52af9219d115aa60d6333b48097d00f76d85a5d67 script-generator +ce952506148ebbd1d856e5f4d15be66b8292d2116f03861eb404420f75d2e7ce script-generator diff --git a/seed/script-generator.x86.checksums b/seed/script-generator.x86.checksums index 00c56f79..8043774d 100644 --- a/seed/script-generator.x86.checksums +++ b/seed/script-generator.x86.checksums @@ -1 +1 @@ -572e849582ec2b79c768c7e8c61806141b3cd18ff1777e26433f12a2c92f093d script-generator +408442c1694654f3131246b99de4b66a5796077ffb59629039a321b1b973c938 script-generator From 1d2836e8045c1931be467f74575a46559867ff44 Mon Sep 17 00:00:00 2001 From: fosslinux Date: Mon, 27 Jan 2025 13:15:51 +1100 Subject: [PATCH 2/2] Don't checksum symlinks when uninstalling symlinks are removed separately later. It doesn't really make sense to checksum them - the file they are pointing to could have been deleted. --- steps/helpers.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/steps/helpers.sh b/steps/helpers.sh index 86544286..d5393526 100755 --- a/steps/helpers.sh +++ b/steps/helpers.sh @@ -141,6 +141,8 @@ uninstall() { if [ -z "$(ls -A "/${file}")" ]; then rmdir "/${file}" fi + elif [ -h "${file}" ]; then + symlinks="${symlinks} ${file}" else # in some cases we might be uninstalling a file that has already been overwritten # in this case we don't want to remove it @@ -149,9 +151,6 @@ uninstall() { if [ "${in_fs}" = "${in_pkg}" ]; then rm -f "/${file}" fi - if [ -h "${file}" ]; then - symlinks="${symlinks} ${file}" - fi fi done < ../filelist rm -f ../filelist