From 84ea625f0ed5064c3793a463771a4df32959d775 Mon Sep 17 00:00:00 2001 From: casjay Date: Fri, 26 Jun 2026 21:07:35 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20=5F=5Fcreate=5Fservice=5Fe?= =?UTF-8?q?nv=20to=20write=20.local.sh=20to=20disk=20=F0=9F=90=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The .local.sh block defined stub functions in memory but never wrote the file to disk, so __file_exists_with_content always failed and __create_service_env returned non-zero on every run. Fix: use a heredoc to write the stub functions into .local.sh. - rootfs/usr/local/etc/docker/init.d/00-tftpd.sh: write .local.sh via heredoc in __create_service_env; bump version to 202606261600-git rootfs/usr/local/etc/docker/init.d/00-tftpd.sh rootfs/usr/local/etc/docker/init.d/zz-nginx.sh --- .../usr/local/etc/docker/init.d/00-tftpd.sh | 29 ++++++++++++++++++- .../usr/local/etc/docker/init.d/zz-nginx.sh | 27 +++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/rootfs/usr/local/etc/docker/init.d/00-tftpd.sh b/rootfs/usr/local/etc/docker/init.d/00-tftpd.sh index 2b14f8b..e2db24a 100644 --- a/rootfs/usr/local/etc/docker/init.d/00-tftpd.sh +++ b/rootfs/usr/local/etc/docker/init.d/00-tftpd.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202407141716-git +##@Version : 202606261600-git # @@Author : Jason Hempstead # @@Contact : jason@casjaysdev.pro # @@License : LICENSE.md @@ -332,6 +332,7 @@ __update_ssl_conf() { } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - __create_service_env() { + local exitCode=0 cat </dev/null # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # root/admin user info [password/random] @@ -348,6 +349,32 @@ __create_service_env() { EOF __file_exists_with_content "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.sh" || return 1 + if [ ! -f "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.local.sh" ]; then + cat <<'EOF' >"/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.local.sh" +# - - - - - - - - - - - - - - - - - - - - - - - - - +# Local overrides - sourced after the main env file. +# Redefine any of these functions to customise behaviour. +# - - - - - - - - - - - - - - - - - - - - - - - - - +__run_precopy_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__execute_prerun_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__run_pre_execute_checks_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__update_conf_files_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__pre_execute_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__post_execute_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__pre_message_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__update_ssl_conf_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +EOF + fi + __file_exists_with_content "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.local.sh" || exitCode=$((exitCode + 1)) + return $exitCode } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # script to start server diff --git a/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh b/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh index c644505..9fb3bf8 100644 --- a/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh +++ b/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh @@ -404,6 +404,7 @@ __update_ssl_conf() { } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - __create_service_env() { + local exitCode=0 cat </dev/null #ENV_SERVICE_UID="${ENV_UID:-${ENV_SERVICE_UID:-$SERVICE_UID}}" # Set UID #ENV_SERVICE_GID="${ENV_GID:-${ENV_SERVICE_GID:-$SERVICE_GID}}" # Set GID @@ -435,6 +436,32 @@ __create_service_env() { EOF __file_exists_with_content "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.sh" || return 1 + if [ ! -f "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.local.sh" ]; then + cat <<'EOF' >"/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.local.sh" +# - - - - - - - - - - - - - - - - - - - - - - - - - +# Local overrides - sourced after the main env file. +# Redefine any of these functions to customise behaviour. +# - - - - - - - - - - - - - - - - - - - - - - - - - +__run_precopy_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__execute_prerun_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__run_pre_execute_checks_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__update_conf_files_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__pre_execute_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__post_execute_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__pre_message_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +__update_ssl_conf_local() { true; } +# - - - - - - - - - - - - - - - - - - - - - - - - - +EOF + fi + __file_exists_with_content "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.local.sh" || exitCode=$((exitCode + 1)) + return $exitCode } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # script to start server