From 117fc7d5171bc2f496df5db39e0f05e6de94d663 Mon Sep 17 00:00:00 2001 From: n3wk Date: Thu, 15 Oct 2026 12:24:01 +0200 Subject: [PATCH] Fix entrypoint patch - insert before exec node-red --- integrate-into-nodered.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/integrate-into-nodered.sh b/integrate-into-nodered.sh index 93e0faa..f4a8662 100644 --- a/integrate-into-nodered.sh +++ b/integrate-into-nodered.sh @@ -71,7 +71,8 @@ if [[ -f "$ENTRYPOINT" ]]; then cp "$ENTRYPOINT" "$ENTRYPOINT.bak.$(date +%s)" if ! grep -q "$PACKAGE_NAME" "$ENTRYPOINT"; then - cat >> "$ENTRYPOINT" << 'PATCH_EOF' + PATCH_TMP=$(mktemp) + cat > "$PATCH_TMP" << 'PATCH_EOF' # --- node-red-contrib-nextcloud-woocommerce --- SRC_WC="/opt/nextcloud-nodes/node-red-contrib-nextcloud-woocommerce" @@ -83,10 +84,16 @@ if [ -d "$SRC_WC" ]; then cp -a "$SRC_WC" /data/node_modules/ chown -R node-red:node-red "$DST_WC" 2>/dev/null || true chmod -R a+rX "$DST_WC" 2>/dev/null || true - echo "[entrypoint] WooCommerce nodes installed." fi + PATCH_EOF - echo " entrypoint.sh patched." + + awk -v patchfile="$PATCH_TMP" ' + /^exec/ && !done { while ((getline line < patchfile) > 0) print line; close(patchfile); done=1 } + { print } + ' "$ENTRYPOINT" > "$ENTRYPOINT.tmp" && mv "$ENTRYPOINT.tmp" "$ENTRYPOINT" + rm -f "$PATCH_TMP" + echo " entrypoint.sh patched (inserted before exec)." else echo " entrypoint.sh already contains $PACKAGE_NAME." fi