From 4af03590fb97e75a8624fa440cb1a09a19c4d57c Mon Sep 17 00:00:00 2001 From: vxtls <187420201+vxtls@users.noreply.github.com> Date: Thu, 19 Mar 2026 18:59:23 -0400 Subject: [PATCH] refactor(script-generator): move resume init mount/network logic into helpers.sh --- seed/script-generator.c | 13 ++++++++---- .../fix-guile-gcrypt-configure-check.patch | 14 ------------- steps-guix/helpers.sh | 20 +++++++++++++++++++ steps/helpers.sh | 20 +++++++++++++++++++ 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/seed/script-generator.c b/seed/script-generator.c index cc2305ba..66f97ad9 100644 --- a/seed/script-generator.c +++ b/seed/script-generator.c @@ -529,10 +529,15 @@ void output_call_script(FILE *out, char *type, char *name, int bash_build, int s } void output_resume_network_init(FILE *out) { - fputs("mount | grep ' on /dev ' >/dev/null 2>&1 || (mkdir -p /dev; mount -t devtmpfs devtmpfs /dev)\n", out); - fputs("mount | grep ' on /proc ' >/dev/null 2>&1 || (mkdir -p /proc; mount -t proc proc /proc)\n", out); - fputs("if [ \"${CHROOT}\" = False ] && [ \"${NETWORK_READY}\" = True ] && command -v dhcpcd >/dev/null 2>&1; then\n", out); - fputs("dhcpcd --waitip=4 || true\n", out); + fputs("if [ -f ", out); + write_steps_prefix(out); + fputs("helpers.sh ]; then\n", out); + fputs(". ", out); + write_steps_prefix(out); + fputs("helpers.sh\n", out); + fputs("resume_network_init \"", out); + fputs(config_root, out); + fputs("\"\n", out); fputs("fi\n", out); } diff --git a/steps-guix/guix-1.5.0/patches/fix-guile-gcrypt-configure-check.patch b/steps-guix/guix-1.5.0/patches/fix-guile-gcrypt-configure-check.patch index 55084130..66678e34 100644 --- a/steps-guix/guix-1.5.0/patches/fix-guile-gcrypt-configure-check.patch +++ b/steps-guix/guix-1.5.0/patches/fix-guile-gcrypt-configure-check.patch @@ -12,17 +12,3 @@ if test "$retval" = 0; then guix_cv_have_recent_guile_gcrypt="yes" else ---- guix-1.5.0/configure -+++ guix-1.5.0/configure -@@ -8377,8 +8377,9 @@ - else - - $GUILE -c "(use-modules (gcrypt hash)) -- (equal? (hash-algorithm sha256) -- (lookup-hash-algorithm 'sha256))" > /dev/null 2>&1 -+ (let ((algorithm (lookup-hash-algorithm 'sha256))) -+ (and algorithm -+ (= 32 (hash-size algorithm))))" > /dev/null 2>&1 - retval=$? - - if test "$retval" = 0; then diff --git a/steps-guix/helpers.sh b/steps-guix/helpers.sh index 81639197..fe35569b 100755 --- a/steps-guix/helpers.sh +++ b/steps-guix/helpers.sh @@ -10,6 +10,26 @@ # Set constant umask umask 022 +resume_network_init() { + local cfg_root + cfg_root="${1:-/steps}" + + if [ -f "${cfg_root}/bootstrap.cfg" ]; then + # shellcheck source=/dev/null + . "${cfg_root}/bootstrap.cfg" + fi + if [ -f "${cfg_root}/env" ]; then + # shellcheck source=/dev/null + . "${cfg_root}/env" + fi + + mount | grep ' on /dev ' >/dev/null 2>&1 || (mkdir -p /dev; mount -t devtmpfs devtmpfs /dev) + mount | grep ' on /proc ' >/dev/null 2>&1 || (mkdir -p /proc; mount -t proc proc /proc) + if [ "${CHROOT}" = False ] && [ "${NETWORK_READY}" = True ] && command -v dhcpcd >/dev/null 2>&1; then + dhcpcd --waitip=4 || true + fi +} + # Get a list of files get_files() { echo "." diff --git a/steps/helpers.sh b/steps/helpers.sh index eeb037b0..f75fb5f3 100755 --- a/steps/helpers.sh +++ b/steps/helpers.sh @@ -10,6 +10,26 @@ # Set constant umask umask 022 +resume_network_init() { + local cfg_root + cfg_root="${1:-/steps}" + + if [ -f "${cfg_root}/bootstrap.cfg" ]; then + # shellcheck source=/dev/null + . "${cfg_root}/bootstrap.cfg" + fi + if [ -f "${cfg_root}/env" ]; then + # shellcheck source=/dev/null + . "${cfg_root}/env" + fi + + mount | grep ' on /dev ' >/dev/null 2>&1 || (mkdir -p /dev; mount -t devtmpfs devtmpfs /dev) + mount | grep ' on /proc ' >/dev/null 2>&1 || (mkdir -p /proc; mount -t proc proc /proc) + if [ "${CHROOT}" = False ] && [ "${NETWORK_READY}" = True ] && command -v dhcpcd >/dev/null 2>&1; then + dhcpcd --waitip=4 || true + fi +} + # Get a list of files get_files() { echo "."