From 4ca874237dd428056bcc958d9fe6ec0fb5eb2d4b Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 19 Apr 2023 11:51:48 +0200 Subject: [PATCH] Migrate old-style base scripts s6-rc --- .../discovery/dependencies.d/motioneye | 0 .../s6-rc.d/discovery/dependencies.d/nginx | 0 .../s6-rc.d/discovery/run} | 3 ++- .../etc/s6-overlay/s6-rc.d/discovery/type | 1 + .../etc/s6-overlay/s6-rc.d/discovery/up | 1 + .../init-motioneye/dependencies.d/base | 0 .../s6-rc.d/init-motioneye/run} | 3 ++- .../s6-overlay/s6-rc.d/init-motioneye/type | 1 + .../etc/s6-overlay/s6-rc.d/init-motioneye/up | 1 + .../s6-rc.d/init-nginx/dependencies.d/base | 0 .../s6-rc.d/init-nginx/run} | 3 ++- .../etc/s6-overlay/s6-rc.d/init-nginx/type | 1 + .../etc/s6-overlay/s6-rc.d/init-nginx/up | 1 + .../motioneye/dependencies.d/init-motioneye | 1 + .../etc/s6-overlay/s6-rc.d/motioneye/finish | 27 +++++++++++++++++++ .../s6-rc.d}/motioneye/run | 7 ++--- .../etc/s6-overlay/s6-rc.d/motioneye/type | 1 + .../s6-rc.d/nginx/dependencies.d/init-nginx | 0 .../s6-rc.d/nginx/dependencies.d/motioneye | 0 .../etc/s6-overlay/s6-rc.d/nginx/finish | 26 ++++++++++++++++++ .../s6-rc.d}/nginx/run | 3 ++- .../rootfs/etc/s6-overlay/s6-rc.d/nginx/type | 1 + .../s6-rc.d/user/contents.d/discovery | 0 .../s6-rc.d/user/contents.d/init-motioneye | 0 .../s6-rc.d/user/contents.d/init-nginx | 0 .../s6-rc.d/user/contents.d/motioneye | 0 .../s6-overlay/s6-rc.d/user/contents.d/nginx | 0 .../rootfs/etc/services.d/motioneye/finish | 9 ------- motioneye/rootfs/etc/services.d/nginx/finish | 9 ------- 29 files changed, 72 insertions(+), 27 deletions(-) create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/dependencies.d/motioneye create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/dependencies.d/nginx rename motioneye/rootfs/etc/{services.d/motioneye/discovery => s6-overlay/s6-rc.d/discovery/run} (92%) create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/type create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/up create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/dependencies.d/base rename motioneye/rootfs/etc/{cont-init.d/motioneye.sh => s6-overlay/s6-rc.d/init-motioneye/run} (98%) create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/type create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/up create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/dependencies.d/base rename motioneye/rootfs/etc/{cont-init.d/nginx.sh => s6-overlay/s6-rc.d/init-nginx/run} (94%) create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/type create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/up create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/dependencies.d/init-motioneye create mode 100755 motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/finish rename motioneye/rootfs/etc/{services.d => s6-overlay/s6-rc.d}/motioneye/run (85%) create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/type create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-nginx create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies.d/motioneye create mode 100755 motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/finish rename motioneye/rootfs/etc/{services.d => s6-overlay/s6-rc.d}/nginx/run (86%) create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/type create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/discovery create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-motioneye create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-nginx create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/motioneye create mode 100644 motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/nginx delete mode 100755 motioneye/rootfs/etc/services.d/motioneye/finish delete mode 100755 motioneye/rootfs/etc/services.d/nginx/finish diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/dependencies.d/motioneye b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/dependencies.d/motioneye new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/dependencies.d/nginx b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/dependencies.d/nginx new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/services.d/motioneye/discovery b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/run similarity index 92% rename from motioneye/rootfs/etc/services.d/motioneye/discovery rename to motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/run index f3e5c00..d8f41b1 100755 --- a/motioneye/rootfs/etc/services.d/motioneye/discovery +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/run @@ -1,4 +1,5 @@ -#!/usr/bin/with-contenv bashio +#!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: motionEye # Send Discovery information to Home Assistant diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/type b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/type @@ -0,0 +1 @@ +oneshot diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/up b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/up new file mode 100644 index 0000000..c51c2ba --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/discovery/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/discovery/run diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/dependencies.d/base b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/cont-init.d/motioneye.sh b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/run similarity index 98% rename from motioneye/rootfs/etc/cont-init.d/motioneye.sh rename to motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/run index d296877..e3041dc 100755 --- a/motioneye/rootfs/etc/cont-init.d/motioneye.sh +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/run @@ -1,4 +1,5 @@ -#!/usr/bin/with-contenv bashio +#!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: motionEye # Creates initial motionEye configuration in case it is non-existing diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/type b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/type @@ -0,0 +1 @@ +oneshot diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/up b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/up new file mode 100644 index 0000000..90cf655 --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-motioneye/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-motioneye/run diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/dependencies.d/base b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/cont-init.d/nginx.sh b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/run similarity index 94% rename from motioneye/rootfs/etc/cont-init.d/nginx.sh rename to motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/run index 9d8a22d..07f9ae7 100755 --- a/motioneye/rootfs/etc/cont-init.d/nginx.sh +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/run @@ -1,4 +1,5 @@ -#!/usr/bin/with-contenv bashio +#!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: motionEye # Configures NGINX for use with motionEye diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/type b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/type @@ -0,0 +1 @@ +oneshot diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/up b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/up new file mode 100644 index 0000000..b3b5b49 --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/init-nginx/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-nginx/run diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/dependencies.d/init-motioneye b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/dependencies.d/init-motioneye new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/dependencies.d/init-motioneye @@ -0,0 +1 @@ + diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/finish b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/finish new file mode 100755 index 0000000..ab81a1b --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/finish @@ -0,0 +1,27 @@ +#!/command/with-contenv bashio +# shellcheck shell=bash +# ============================================================================== +# Home Assistant Community Add-on: motionEye +# Take down the S6 supervision tree when motionEye fails +# ============================================================================== +declare exit_code +readonly exit_code_container=$( /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 diff --git a/motioneye/rootfs/etc/services.d/motioneye/run b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/run similarity index 85% rename from motioneye/rootfs/etc/services.d/motioneye/run rename to motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/run index 66e72b5..d9a697f 100755 --- a/motioneye/rootfs/etc/services.d/motioneye/run +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/run @@ -1,11 +1,11 @@ -#!/usr/bin/with-contenv bashio +#!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: motionEye # Runs the motionEye # ============================================================================== declare -a options - bashio::log.info "Starting motionEye..." options+=(-c /data/motioneye/motioneye.conf) @@ -15,8 +15,5 @@ if bashio::debug; then options+=(-d) fi -# Send out discovery information -./discovery & - # Run the motionEye exec meyectl startserver "${options[@]}" diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/type b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/motioneye/type @@ -0,0 +1 @@ +longrun diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-nginx b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-nginx new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies.d/motioneye b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies.d/motioneye new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/finish b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/finish new file mode 100755 index 0000000..9b0ee10 --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/finish @@ -0,0 +1,26 @@ +#!/command/with-contenv bashio +# ============================================================================== +# Home Assistant Community Add-on: motionEye +# Take down the S6 supervision tree when Nginx fails +# ============================================================================== +declare exit_code +readonly exit_code_container=$( /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 diff --git a/motioneye/rootfs/etc/services.d/nginx/run b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/run similarity index 86% rename from motioneye/rootfs/etc/services.d/nginx/run rename to motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/run index 29e43e4..e5e7a19 100755 --- a/motioneye/rootfs/etc/services.d/nginx/run +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/run @@ -1,4 +1,5 @@ -#!/usr/bin/with-contenv bashio +#!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: motionEye # Runs the Nginx daemon diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/type b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/nginx/type @@ -0,0 +1 @@ +longrun diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/discovery b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/discovery new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-motioneye b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-motioneye new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-nginx b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-nginx new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/motioneye b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/motioneye new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/nginx b/motioneye/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/nginx new file mode 100644 index 0000000..e69de29 diff --git a/motioneye/rootfs/etc/services.d/motioneye/finish b/motioneye/rootfs/etc/services.d/motioneye/finish deleted file mode 100755 index 731b31f..0000000 --- a/motioneye/rootfs/etc/services.d/motioneye/finish +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/execlineb -S0 -# ============================================================================== -# Home Assistant Community Add-on: motionEye -# Take down the S6 supervision tree when motionEye fails -# ============================================================================== -if -n { s6-test $# -ne 0 } -if -n { s6-test ${1} -eq 256 } - -s6-svscanctl -t /var/run/s6/services diff --git a/motioneye/rootfs/etc/services.d/nginx/finish b/motioneye/rootfs/etc/services.d/nginx/finish deleted file mode 100755 index 3ddb2a6..0000000 --- a/motioneye/rootfs/etc/services.d/nginx/finish +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/execlineb -S0 -# ============================================================================== -# Home Assistant Community Add-on: motionEye -# Take down the S6 supervision tree when Nginx fails -# ============================================================================== -if -n { s6-test $# -ne 0 } -if -n { s6-test ${1} -eq 256 } - -s6-svscanctl -t /var/run/s6/services