🔨 Migrate old-style S6 scripts to s6-rc.d

This commit is contained in:
Franck Nijhof 2022-12-21 16:24:51 +01:00
parent 87d8f012f5
commit 28ae46e8c4
No known key found for this signature in database
GPG key ID: D62583BA8AB11CA3
11 changed files with 32 additions and 11 deletions

View file

@ -0,0 +1,27 @@
#!/command/with-contenv bashio
# shellcheck shell=bash
# ==============================================================================
# Home Assistant Community Add-on: AirSonos
# Take down the S6 supervision tree when the AirSonos server fails
# ==============================================================================
declare exit_code
readonly exit_code_container=$(</run/s6-linux-init-container-results/exitcode)
readonly exit_code_service="${1}"
readonly exit_code_signal="${2}"
readonly service="AirSonos"
bashio::log.info \
"Service ${service} exited with code ${exit_code_service}" \
"(by signal ${exit_code_signal})"
if [[ "${exit_code_service}" -eq 256 ]]; then
if [[ "${exit_code_container}" -eq 0 ]]; then
echo $((128 + $exit_code_signal)) > /run/s6-linux-init-container-results/exitcode
fi
[[ "${exit_code_signal}" -eq 15 ]] && exec /run/s6/basedir/bin/halt
elif [[ "${exit_code_service}" -ne 0 ]]; then
if [[ "${exit_code_container}" -eq 0 ]]; then
echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode
fi
exec /run/s6/basedir/bin/halt
fi

View file

@ -1,4 +1,5 @@
#!/command/with-contenv bashio #!/command/with-contenv bashio
# shellcheck shell=bash
# ============================================================================== # ==============================================================================
# Home Assistant Community Add-on: AirSonos # Home Assistant Community Add-on: AirSonos
# Runs the AirSonos server # Runs the AirSonos server

View file

@ -0,0 +1 @@
longrun

View file

@ -1,4 +1,5 @@
#!/command/with-contenv bashio #!/command/with-contenv bashio
# shellcheck shell=bash
# ============================================================================== # ==============================================================================
# Home Assistant Community Add-on: AirSonos # Home Assistant Community Add-on: AirSonos
# Checks latency settings before starting the AirSonos server # Checks latency settings before starting the AirSonos server

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-airsonos/run

View file

@ -1,11 +0,0 @@
#!/command/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: AirSonos
# Take down the S6 supervision tree when the AirSonos server fails
# ==============================================================================
if [[ "${1}" -ne 0 ]] && [[ "${1}" -ne 256 ]]; then
bashio::log.warning "AirSonos crashed, halting add-on"
/run/s6/basedir/bin/halt
fi
bashio::log.info "AirSonos stopped, restarting..."