templates: replace s6-svwait

This commit is contained in:
Alexandre
2025-08-15 19:19:05 +02:00
parent 4b1f25ba04
commit 1ff26c57e6
4 changed files with 15 additions and 8 deletions

View File

@@ -99,8 +99,11 @@ if $PID1; then
sed -i "1s|^.*|#!$shebang|" "$runfile"
# Replace s6-setuidgid calls with 'su' (bash-based) equivalents
sed -i -E 's|^s6-setuidgid[[:space:]]+([a-zA-Z0-9._-]+)[[:space:]]+(.*)$|su -s /bin/bash \1 -c "\2"|g' "$runfile"
# Replace s6-svwait calls with bash-based waiting loops
sed -i -E 's|s6-svwait[[:space:]]+-d[[:space:]]+([^[:space:]]+)|bash -c '\''while [ -f \1/supervise/pid ]; do sleep 0.5; done'\''|g' "$runfile"
sed -i -E 's|s6-svwait[[:space:]]+-u[[:space:]]+([^[:space:]]+)|bash -c '\''until [ -f \1/supervise/pid ]; do sleep 0.5; done'\''|g' "$runfile"
chmod +x "$runfile"
( exec "$runfile" ) & true
( exec "$runfile" ) & true
done
shopt -u nullglob
fi

View File

@@ -1,3 +1,6 @@
## v0.8.1-12 (16-08-2025)
- Replace s6-based shutdown with standard command to avoid s6-svwait error
## v0.8.1-11 (15-08-2025)
- Minor bugs fixed
## v0.8.1-10 (13-08-2025)

View File

@@ -120,5 +120,5 @@
"slug": "scrutiny",
"udev": true,
"url": "https://github.com/AnalogJ/scrutiny",
"version": "v0.8.1-11"
"version": "v0.8.1-12"
}

13
scrutiny/rootfs/etc/services.d/nginx/finish Normal file → Executable file
View File

@@ -1,8 +1,9 @@
#!/usr/bin/execlineb -S0
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
# ==============================================================================
# Take down the S6 supervision tree when Nginx fails
# Stop the container when Nginx fails
# ==============================================================================
if { s6-test ${1} -ne 0 }
if { s6-test ${1} -ne 256 }
s6-svscanctl -t /var/run/s6/services
if [[ "$1" -ne 0 && "$1" -ne 256 ]]; then
bashio::log.error "Nginx exited with code $1"
kill -15 1
fi