From 404fb228149f31646dfb5bb27d08b5c8733086f1 Mon Sep 17 00:00:00 2001 From: aptalca Date: Sun, 2 Oct 2022 21:13:54 -0400 Subject: [PATCH 1/2] support full s6v3 images --- .../init-mod-code-server-npmglobal-install/run | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run index 9b6eba1..04b2ebf 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run @@ -8,11 +8,23 @@ if [ -f /usr/bin/npm ]; then echo "setting npm to global folder in /config" npm config set prefix '/config/npm-global' - if grep -q "/config/npm-global/bin" "/etc/services.d/code-server/run"; then - echo "npm-global already in PATH" - else + if grep -q "/config/npm-global/bin" "/etc/services.d/code-server/run" 2>/dev/null || \ + grep -q "/config/npm-global/bin" "/etc/services.d/openvscode-server/run" 2>/dev/null || \ + grep -q "/config/npm-global/bin" "/etc/s6-overlay/s6-rc.d/svc-code-server/run" 2>/dev/null || \ + grep -q "/config/npm-global/bin" "/etc/s6-overlay/s6-rc.d/svc-openvscode-server/run" 2>/dev/null; then + echo "npm-global already in PATH" + elif [ -f "/etc/services.d/code-server/run" ]; then echo "ensuring npm-global is in PATH" sed -i '/^#!\/usr\/bin/a \\n# Added by codeserver-npmglobal\nexport PATH=/config/npm-global/bin:$PATH' /etc/services.d/code-server/run + elif [ -f "/etc/services.d/openvscode-server/run" ]; then + echo "ensuring npm-global is in PATH" + sed -i '/^#!\/usr\/bin/a \\n# Added by codeserver-npmglobal\nexport PATH=/config/npm-global/bin:$PATH' /etc/services.d/openvscode-server/run + elif [ -f "/etc/s6-overlay/s6-rc.d/svc-code-server/run" ]; then + echo "ensuring npm-global is in PATH" + sed -i '/^#!\/usr\/bin/a \\n# Added by codeserver-npmglobal\nexport PATH=/config/npm-global/bin:$PATH' /etc/s6-overlay/s6-rc.d/svc-code-server/run + elif [ -f "/etc/s6-overlay/s6-rc.d/svc-openvscode-server/run" ]; then + echo "ensuring npm-global is in PATH" + sed -i '/^#!\/usr\/bin/a \\n# Added by codeserver-npmglobal\nexport PATH=/config/npm-global/bin:$PATH' /etc/s6-overlay/s6-rc.d/svc-openvscode-server/run fi else echo "**** npm not installed, skipping npmglobal install ****" From 929546373181a72b79e0ef5900c9d8641b3ae83f Mon Sep 17 00:00:00 2001 From: aptalca Date: Sun, 2 Oct 2022 21:26:55 -0400 Subject: [PATCH 2/2] fix permissions --- .../s6-rc.d/init-mod-code-server-npmglobal-install/run | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run index 04b2ebf..0e61bdd 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run @@ -4,9 +4,10 @@ if [ -f /usr/bin/npm ]; then echo "creating npm global folder in /config" mkdir -p /config/npm-global + chown abc:abc /config/npm-global echo "setting npm to global folder in /config" - npm config set prefix '/config/npm-global' + s6-setuidgid abc npm config set prefix '/config/npm-global' if grep -q "/config/npm-global/bin" "/etc/services.d/code-server/run" 2>/dev/null || \ grep -q "/config/npm-global/bin" "/etc/services.d/openvscode-server/run" 2>/dev/null || \