diff options
author | Hendrik Jäger <gitcommit@henk.geekmail.org> | 2022-04-27 23:21:11 +0200 |
---|---|---|
committer | Hendrik Jäger <gitcommit@henk.geekmail.org> | 2022-05-22 20:04:54 +0200 |
commit | c4bc0fecb2a92d8b713cac93cae7141b4b56a542 (patch) | |
tree | 720f984dd237309bf03f511a02a65e5d285041b4 | |
parent | 209272713d3e8e5adf0dd6e722e9cd0827a70aa1 (diff) |
buster gets the wrapper script from the module, not the package
-rw-r--r-- | files/usr/local/bin/s6-svscanboot.buster | 33 | ||||
-rw-r--r-- | manifests/install.pp | 5 |
2 files changed, 37 insertions, 1 deletions
diff --git a/files/usr/local/bin/s6-svscanboot.buster b/files/usr/local/bin/s6-svscanboot.buster new file mode 100644 index 0000000..ef6de1b --- /dev/null +++ b/files/usr/local/bin/s6-svscanboot.buster @@ -0,0 +1,33 @@ +#!/usr/local/bin/execlineb -S1 + +foreground { redirfd -w 2 /dev/null mkdir -p /run/uncaught-logs } +if { chown s6-logs:s6-logs /run/uncaught-logs } +if { chmod 2700 /run/uncaught-logs } +foreground { redirfd -w 2 /dev/null mkdir -p ${1}/.s6-svscan ${1}/s6-svscan-log } +foreground { redirfd -w 2 /dev/null ln -sf /bin/false ${1}/.s6-svscan/crash } +if +{ + redirfd -w 1 ${1}/.s6-svscan/finish + heredoc 0 "#!/usr/local/bin/execlineb -P\ns6-svc -x -- \"${1}/s6-svscan-log\"\n" + cat +} +if { chmod 0755 ${1}/.s6-svscan/finish } +foreground { redirfd -w 2 /dev/null mkfifo -m 0600 ${1}/s6-svscan-log/fifo } +if +{ + redirfd -w 1 ${1}/s6-svscan-log/run + heredoc 0 "#!/usr/local/bin/execlineb -P +redirfd -w 2 /dev/console +redirfd -rnb 0 fifo +s6-setuidgid s6-logs +exec -c +s6-log t /run/uncaught-logs\n" + cat +} +if { chmod 0755 ${1}/s6-svscan-log/run } + +redirfd -r 0 /dev/null +redirfd -wnb 1 ${1}/s6-svscan-log/fifo +fdmove -c 2 1 +s6-svscan -- ${1} + diff --git a/manifests/install.pp b/manifests/install.pp index f266276..2042f8a 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -7,7 +7,10 @@ class s6::install { file { '/usr/local/bin/s6-svscanboot': ensure => present, - source => 'puppet:///modules/s6/usr/local/bin/s6-svscanboot', + source => [ + "puppet:///modules/s6/usr/local/bin/s6-svscanboot.${facts['os']['distro']['codename']}", + 'puppet:///modules/s6/usr/local/bin/s6-svscanboot', + ], mode => '0755', require => Package['s6'], ; |