From f7df2f7bb6abbea365cccb1345dcf1a1b7a80797 Mon Sep 17 00:00:00 2001 From: PS Date: Sat, 7 Feb 2026 10:16:45 +0100 Subject: Improve usertree shutdown; improve system .s6-svscan directory --- src/lib/service/system/.s6-svscan/SIGINT | 5 ----- src/lib/service/system/.s6-svscan/SIGPWR | 5 ----- src/lib/service/system/.s6-svscan/SIGQUIT | 2 -- src/lib/service/system/.s6-svscan/SIGTERM | 2 -- src/lib/service/system/.s6-svscan/SIGUSR1 | 5 ----- src/lib/service/system/.s6-svscan/SIGUSR2 | 5 ----- src/lib/service/system/.s6-svscan/SIGWINCH | 2 -- src/lib/service/system/.s6-svscan/crash | 10 ---------- src/lib/service/system/.s6-svscan/finish | 9 --------- src/lib/service/user/.s6-svscan/finish | 8 ++++++++ src/lib/service/user/goetia-shutdown/down | 0 src/lib/service/user/goetia-shutdown/run | 20 ++++++++++++++++++++ 12 files changed, 28 insertions(+), 45 deletions(-) delete mode 100755 src/lib/service/system/.s6-svscan/SIGINT delete mode 100755 src/lib/service/system/.s6-svscan/SIGPWR delete mode 100755 src/lib/service/system/.s6-svscan/SIGQUIT delete mode 100755 src/lib/service/system/.s6-svscan/SIGTERM delete mode 100755 src/lib/service/system/.s6-svscan/SIGUSR1 delete mode 100755 src/lib/service/system/.s6-svscan/SIGUSR2 delete mode 100755 src/lib/service/system/.s6-svscan/SIGWINCH delete mode 100755 src/lib/service/system/.s6-svscan/crash delete mode 100755 src/lib/service/system/.s6-svscan/finish create mode 100644 src/lib/service/user/.s6-svscan/finish create mode 100644 src/lib/service/user/goetia-shutdown/down create mode 100755 src/lib/service/user/goetia-shutdown/run (limited to 'src/lib') diff --git a/src/lib/service/system/.s6-svscan/SIGINT b/src/lib/service/system/.s6-svscan/SIGINT deleted file mode 100755 index 7b00dd5..0000000 --- a/src/lib/service/system/.s6-svscan/SIGINT +++ /dev/null @@ -1,5 +0,0 @@ -#!@shebangdir@/execlineb -P - -# ISC license. - -system-shutdown -r diff --git a/src/lib/service/system/.s6-svscan/SIGPWR b/src/lib/service/system/.s6-svscan/SIGPWR deleted file mode 100755 index b7e4956..0000000 --- a/src/lib/service/system/.s6-svscan/SIGPWR +++ /dev/null @@ -1,5 +0,0 @@ -#!@shebangdir@/execlineb -P - -# ISC license. - -system-shutdown -p diff --git a/src/lib/service/system/.s6-svscan/SIGQUIT b/src/lib/service/system/.s6-svscan/SIGQUIT deleted file mode 100755 index 4d6fd2f..0000000 --- a/src/lib/service/system/.s6-svscan/SIGQUIT +++ /dev/null @@ -1,2 +0,0 @@ -#!@shebangdir@/execlineb -P - diff --git a/src/lib/service/system/.s6-svscan/SIGTERM b/src/lib/service/system/.s6-svscan/SIGTERM deleted file mode 100755 index 4d6fd2f..0000000 --- a/src/lib/service/system/.s6-svscan/SIGTERM +++ /dev/null @@ -1,2 +0,0 @@ -#!@shebangdir@/execlineb -P - diff --git a/src/lib/service/system/.s6-svscan/SIGUSR1 b/src/lib/service/system/.s6-svscan/SIGUSR1 deleted file mode 100755 index b7e4956..0000000 --- a/src/lib/service/system/.s6-svscan/SIGUSR1 +++ /dev/null @@ -1,5 +0,0 @@ -#!@shebangdir@/execlineb -P - -# ISC license. - -system-shutdown -p diff --git a/src/lib/service/system/.s6-svscan/SIGUSR2 b/src/lib/service/system/.s6-svscan/SIGUSR2 deleted file mode 100755 index cf21071..0000000 --- a/src/lib/service/system/.s6-svscan/SIGUSR2 +++ /dev/null @@ -1,5 +0,0 @@ -#!@shebangdir@/execlineb -P - -# ISC license. - -system-shutdown -h diff --git a/src/lib/service/system/.s6-svscan/SIGWINCH b/src/lib/service/system/.s6-svscan/SIGWINCH deleted file mode 100755 index 4d6fd2f..0000000 --- a/src/lib/service/system/.s6-svscan/SIGWINCH +++ /dev/null @@ -1,2 +0,0 @@ -#!@shebangdir@/execlineb -P - diff --git a/src/lib/service/system/.s6-svscan/crash b/src/lib/service/system/.s6-svscan/crash deleted file mode 100755 index 9fa8bd4..0000000 --- a/src/lib/service/system/.s6-svscan/crash +++ /dev/null @@ -1,10 +0,0 @@ -#!@shebangdir@/execlineb -P - -# ISC license. - -redirfd -w 2 /dev/console -fdmove -c 1 2 - -foreground { echo "s6-svscan crashed. Rebooting." } - -linux-powertool -r diff --git a/src/lib/service/system/.s6-svscan/finish b/src/lib/service/system/.s6-svscan/finish deleted file mode 100755 index fa3654c..0000000 --- a/src/lib/service/system/.s6-svscan/finish +++ /dev/null @@ -1,9 +0,0 @@ -#!@shebangdir@/execlineb -P - - -redirfd -w 2 /dev/console -fdmove -c 1 2 - -foreground { echo "s6-svscan exited. Rebooting." } - -linux-powertool -r diff --git a/src/lib/service/user/.s6-svscan/finish b/src/lib/service/user/.s6-svscan/finish new file mode 100644 index 0000000..caf0dbc --- /dev/null +++ b/src/lib/service/user/.s6-svscan/finish @@ -0,0 +1,8 @@ +#!@shebangdir@/execlineb -P + +multisubstitute { + importas -Si USER + importas -Si USERTREE +} + +rm -Rf @tmpfsdir@/@usrrundir@/${USER}/${USERTREE} diff --git a/src/lib/service/user/goetia-shutdown/down b/src/lib/service/user/goetia-shutdown/down new file mode 100644 index 0000000..e69de29 diff --git a/src/lib/service/user/goetia-shutdown/run b/src/lib/service/user/goetia-shutdown/run new file mode 100755 index 0000000..e13d016 --- /dev/null +++ b/src/lib/service/user/goetia-shutdown/run @@ -0,0 +1,20 @@ +#!@shebangdir@/execlineb -P + +# ISC license. + +fdmove -c 2 1 + +multisubstitute { + importas -Si USER + importas -Si USERTREE +} + +if -x0 { eltest -d @tmpfsdir@/@usrrundir@/${USER}/${USERTREE} } + +foreground { + foreground { echo "\nshutdown\n" } + s6-rc -l @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/s6-rc -v2 -b -da -t@timeout@ change +} + +foreground { s6-svc -h @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service/s6-svscan-log } +foreground { s6-svscanctl -t @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service } -- cgit v1.2.3