diff options
| -rw-r--r-- | package/deps.mak | 24 | ||||
| -rw-r--r-- | package/modes | 11 | ||||
| -rw-r--r-- | package/targets.mak | 24 | ||||
| -rwxr-xr-x | src/bin/prepare-svscan | 2 | ||||
| -rwxr-xr-x | src/bin/system-shutdown-daemon | 2 | ||||
| -rwxr-xr-x | src/bin/user-init | 4 | ||||
| -rwxr-xr-x | src/bin/user-shutdown | 15 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/SIGINT | 5 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/SIGPWR | 5 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/SIGQUIT | 2 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/SIGTERM | 2 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/SIGUSR1 | 5 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/SIGUSR2 | 5 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/SIGWINCH | 2 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/crash | 10 | ||||
| -rwxr-xr-x | src/lib/service/system/.s6-svscan/finish | 9 | ||||
| -rw-r--r-- | src/lib/service/user/.s6-svscan/finish | 8 | ||||
| -rw-r--r-- | src/lib/service/user/goetia-shutdown/down | 0 | ||||
| -rwxr-xr-x | src/lib/service/user/goetia-shutdown/run | 20 |
19 files changed, 49 insertions, 106 deletions
diff --git a/package/deps.mak b/package/deps.mak index 255ecdc..bb52f2c 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -38,24 +38,6 @@ service/system/s6-svscan-log/run: src/lib/service/system/s6-svscan-log/run $(DESTDIR)$(libdir)/service/system/s6-svscan-log/run: service/system/s6-svscan-log/run service/system/s6-svscan-log/notification-fd: src/lib/service/system/s6-svscan-log/notification-fd $(DESTDIR)$(libdir)/service/system/s6-svscan-log/notification-fd: service/system/s6-svscan-log/notification-fd -service/system/.s6-svscan/crash: src/lib/service/system/.s6-svscan/crash -$(DESTDIR)$(libdir)/service/system/.s6-svscan/crash: service/system/.s6-svscan/crash -service/system/.s6-svscan/SIGUSR1: src/lib/service/system/.s6-svscan/SIGUSR1 -$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR1: service/system/.s6-svscan/SIGUSR1 -service/system/.s6-svscan/finish: src/lib/service/system/.s6-svscan/finish -$(DESTDIR)$(libdir)/service/system/.s6-svscan/finish: service/system/.s6-svscan/finish -service/system/.s6-svscan/SIGQUIT: src/lib/service/system/.s6-svscan/SIGQUIT -$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGQUIT: service/system/.s6-svscan/SIGQUIT -service/system/.s6-svscan/SIGINT: src/lib/service/system/.s6-svscan/SIGINT -$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGINT: service/system/.s6-svscan/SIGINT -service/system/.s6-svscan/SIGUSR2: src/lib/service/system/.s6-svscan/SIGUSR2 -$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR2: service/system/.s6-svscan/SIGUSR2 -service/system/.s6-svscan/SIGWINCH: src/lib/service/system/.s6-svscan/SIGWINCH -$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGWINCH: service/system/.s6-svscan/SIGWINCH -service/system/.s6-svscan/SIGTERM: src/lib/service/system/.s6-svscan/SIGTERM -$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGTERM: service/system/.s6-svscan/SIGTERM -service/system/.s6-svscan/SIGPWR: src/lib/service/system/.s6-svscan/SIGPWR -$(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGPWR: service/system/.s6-svscan/SIGPWR service/system/s6-svscan-log-console/run: src/lib/service/system/s6-svscan-log-console/run $(DESTDIR)$(libdir)/service/system/s6-svscan-log-console/run: service/system/s6-svscan-log-console/run service/system/s6-svscan-log-console/notification-fd: src/lib/service/system/s6-svscan-log-console/notification-fd @@ -68,8 +50,14 @@ service/user/s6-svscan-log/run: src/lib/service/user/s6-svscan-log/run $(DESTDIR)$(libdir)/service/user/s6-svscan-log/run: service/user/s6-svscan-log/run service/user/s6-svscan-log/notification-fd: src/lib/service/user/s6-svscan-log/notification-fd $(DESTDIR)$(libdir)/service/user/s6-svscan-log/notification-fd: service/user/s6-svscan-log/notification-fd +service/user/.s6-svscan/finish: src/lib/service/user/.s6-svscan/finish +$(DESTDIR)$(libdir)/service/user/.s6-svscan/finish: service/user/.s6-svscan/finish service/user/.s6-svscan/SIGTERM: src/lib/service/user/.s6-svscan/SIGTERM $(DESTDIR)$(libdir)/service/user/.s6-svscan/SIGTERM: service/user/.s6-svscan/SIGTERM +service/user/goetia-shutdown/run: src/lib/service/user/goetia-shutdown/run +$(DESTDIR)$(libdir)/service/user/goetia-shutdown/run: service/user/goetia-shutdown/run +service/user/goetia-shutdown/down: src/lib/service/user/goetia-shutdown/down +$(DESTDIR)$(libdir)/service/user/goetia-shutdown/down: service/user/goetia-shutdown/down service/user/goetia-runner/run: src/lib/service/user/goetia-runner/run $(DESTDIR)$(libdir)/service/user/goetia-runner/run: service/user/goetia-runner/run service/user/goetia-runner/notification-fd: src/lib/service/user/goetia-runner/notification-fd diff --git a/package/modes b/package/modes index 4acc933..182f8f8 100644 --- a/package/modes +++ b/package/modes @@ -19,17 +19,10 @@ user-tmpfs 0755 service/system/goetia-runner/run 0755 service/system/s6-svscan-log/run 0755 service/system/s6-svscan-log-console/run 0755 -service/system/.s6-svscan/crash 0755 -service/system/.s6-svscan/finish 0755 -service/system/.s6-svscan/SIGINT 0755 -service/system/.s6-svscan/SIGPWR 0755 -service/system/.s6-svscan/SIGQUIT 0755 -service/system/.s6-svscan/SIGTERM 0755 -service/system/.s6-svscan/SIGUSR1 0755 -service/system/.s6-svscan/SIGUSR2 0755 -service/system/.s6-svscan/SIGWINCH 0755 +service/user/goetia-shutdown/run 0755 service/user/goetia-runner/run 0755 service/user/s6-svscan-log/run 0755 service/user/s6-svscan-log-console/run 0755 service/user/.s6-svscan/SIGTERM 0755 +service/user/.s6-svscan/finish 0755 diff --git a/package/targets.mak b/package/targets.mak index 43cbcae..8c63c9b 100644 --- a/package/targets.mak +++ b/package/targets.mak @@ -59,22 +59,16 @@ SLASHCOMMAND_BINS ::= \ ALL_LIBS ::= \ service/system/s6-svscan-log/run \ service/system/s6-svscan-log/notification-fd \ - service/system/.s6-svscan/crash \ - service/system/.s6-svscan/SIGUSR1 \ - service/system/.s6-svscan/finish \ - service/system/.s6-svscan/SIGQUIT \ - service/system/.s6-svscan/SIGINT \ - service/system/.s6-svscan/SIGUSR2 \ - service/system/.s6-svscan/SIGWINCH \ - service/system/.s6-svscan/SIGTERM \ - service/system/.s6-svscan/SIGPWR \ service/system/s6-svscan-log-console/run \ service/system/s6-svscan-log-console/notification-fd \ service/system/goetia-runner/run \ service/system/goetia-runner/notification-fd \ service/user/s6-svscan-log/run \ service/user/s6-svscan-log/notification-fd \ + service/user/.s6-svscan/finish \ service/user/.s6-svscan/SIGTERM \ + service/user/goetia-shutdown/run \ + service/user/goetia-shutdown/down \ service/user/goetia-runner/run \ service/user/goetia-runner/notification-fd \ source/system/other/dbus-daemon-srv/run \ @@ -253,22 +247,16 @@ ALL_LIBS ::= \ INSTALL_LIBS ::= \ $(DESTDIR)$(libdir)/service/system/s6-svscan-log/run \ $(DESTDIR)$(libdir)/service/system/s6-svscan-log/notification-fd \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/crash \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR1 \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/finish \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGQUIT \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGINT \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGUSR2 \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGWINCH \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGTERM \ - $(DESTDIR)$(libdir)/service/system/.s6-svscan/SIGPWR \ $(DESTDIR)$(libdir)/service/system/s6-svscan-log-console/run \ $(DESTDIR)$(libdir)/service/system/s6-svscan-log-console/notification-fd \ $(DESTDIR)$(libdir)/service/system/goetia-runner/run \ $(DESTDIR)$(libdir)/service/system/goetia-runner/notification-fd \ $(DESTDIR)$(libdir)/service/user/s6-svscan-log/run \ $(DESTDIR)$(libdir)/service/user/s6-svscan-log/notification-fd \ + $(DESTDIR)$(libdir)/service/user/.s6-svscan/finish \ $(DESTDIR)$(libdir)/service/user/.s6-svscan/SIGTERM \ + $(DESTDIR)$(libdir)/service/user/goetia-shutdown/run \ + $(DESTDIR)$(libdir)/service/user/goetia-shutdown/down \ $(DESTDIR)$(libdir)/service/user/goetia-runner/run \ $(DESTDIR)$(libdir)/service/user/goetia-runner/notification-fd \ $(DESTDIR)$(libdir)/source/system/other/dbus-daemon-srv/run \ diff --git a/src/bin/prepare-svscan b/src/bin/prepare-svscan index 9fe7f8d..05fd356 100755 --- a/src/bin/prepare-svscan +++ b/src/bin/prepare-svscan @@ -21,7 +21,7 @@ redirfd -wnb 1 ${RUNDIR}/service/s6-svscan-log/fifo background { redirfd -w 2 ${RUNDIR}/service/s6-svscan-log/fifo if -x0 -n { eltest -d ${RUNDIR}/s6-rc } - foreground { echo "\ninit!\n" } + foreground { echo "\ninit\n" } if { s6-rc-init -c ${WORKINGDIR}/compiled diff --git a/src/bin/system-shutdown-daemon b/src/bin/system-shutdown-daemon index 6419bfb..9e6850e 100755 --- a/src/bin/system-shutdown-daemon +++ b/src/bin/system-shutdown-daemon @@ -5,7 +5,7 @@ tryexec { ./stage3b } if -n { - foreground { echo "\nsystem-shutdown!\n" } + foreground { echo "\nshutdown\n" } foreground { s6-rc -l @tmpfsdir@/@sysrundir@/s6-rc -v2 -b -Da -t@timeout@ change } foreground { pipeline { ls -1 @tmpfsdir@/@sysrundir@/service/ } diff --git a/src/bin/user-init b/src/bin/user-init index aa24f9d..120398f 100755 --- a/src/bin/user-init +++ b/src/bin/user-init @@ -11,6 +11,10 @@ multisubstitute { PATH } +ifelse { eltest -d @tmpfsdir@/@usrrundir@/${USER}/${USERTREE} } { + exit 100 +} + backtick HOME { homeof ${USER} } importas -Si HOME diff --git a/src/bin/user-shutdown b/src/bin/user-shutdown index 9376f5b..48311bd 100755 --- a/src/bin/user-shutdown +++ b/src/bin/user-shutdown @@ -6,18 +6,5 @@ multisubstitute { importas -Si USER importas -Si USERTREE } -backtick -Ei HOME { homeof ${USER} } -if -x0 { eltest -d @tmpfsdir@/@usrrundir@/${USER}/${USERTREE} } - -redirfd -wnb 1 @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service/s6-svscan-log/fifo -fdmove -c 2 1 - -foreground { - foreground { echo "\nshutdown\n" } - s6-rc -l @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/s6-rc -v2 -b -da -t@timeout@ change -} - -foreground { s6-svscanctl -t @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service } -foreground { s6-svc -h @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service/s6-svscan-log } -foreground { rm -Rf @tmpfsdir@/@usrrundir@/${USER}/${USERTREE} } +s6-svc -U @tmpfsdir@/@usrrundir@/${USER}/${USERTREE}/service/goetia-shutdown 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 --- /dev/null +++ b/src/lib/service/user/goetia-shutdown/down 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 } |
