From f87e435e70948f3b60db2dcb285f87f32d38a2d4 Mon Sep 17 00:00:00 2001 From: Alex Denes Date: Sat, 5 Feb 2022 14:17:59 +0000 Subject: [PATCH] Reorganize s6-services --- main/s6-services/APKBUILD | 17 ++++++++++------- main/s6-services/env/core/logger/LOGPREFIX | 1 + main/s6-services/env/core/path/PATH | 1 + main/s6-services/rc/core/clock.hw/up | 9 ++++++++- main/s6-services/rc/core/getty.tty1/run | 17 ++++++++++++----- main/s6-services/rc/core/hostname/up | 13 +++++++++++-- main/s6-services/rc/core/klogd/run | 13 +++++++++---- main/s6-services/rc/core/kmod.sysfs/up | 18 +++++++++++++++--- .../logger.klogd/dependencies.d/mount.rw} | 0 main/s6-services/rc/core/logger.klogd/run | 15 ++++++++++++--- .../logger.syslogd/dependencies.d/mount.rw} | 0 main/s6-services/rc/core/logger.syslogd/run | 13 +++++++++++-- main/s6-services/rc/core/mount.dev/up | 15 +++++++++++++-- main/s6-services/rc/core/mount.proc/up | 15 +++++++++++++-- main/s6-services/rc/core/mount.run/up | 9 ++++++++- main/s6-services/rc/core/mount.rw/up | 12 ++++++++++-- main/s6-services/rc/core/mount.sys/up | 15 +++++++++++++-- main/s6-services/rc/core/mount.tmp/up | 9 ++++++++- main/s6-services/rc/core/syslogd/run | 8 +++++++- .../contents.d/bundle.graphical.0} | 0 .../{bundle.destkop => bundle.desktop}/type | 0 .../bundle.graphical.0/contents.d/dwm.0 | 0 .../rc/desktop/bundle.graphical.0/type | 1 + main/s6-services/rc/desktop/dwm.0/env/DISPLAY | 1 - main/s6-services/rc/desktop/dwm.0/run | 12 ++++++++---- .../desktop/logger.dwm/dependencies.d/mount.rw | 0 main/s6-services/rc/desktop/logger.dwm/run | 13 +++++++++++-- .../logger.udevd/dependencies.d/mount.rw | 0 main/s6-services/rc/desktop/logger.udevd/run | 13 +++++++++++-- .../logger.xorg/dependencies.d/mount.rw | 0 main/s6-services/rc/desktop/logger.xorg/run | 13 +++++++++++-- main/s6-services/rc/desktop/udevd.settle/up | 11 +++++++++-- main/s6-services/rc/desktop/udevd.trigger/up | 13 ++++++++++--- main/s6-services/rc/desktop/udevd/run | 7 ++++++- main/s6-services/rc/desktop/xorg.0/env/DISPLAY | 1 - main/s6-services/rc/desktop/xorg.0/env/TTYN | 1 - main/s6-services/rc/desktop/xorg.0/run | 15 ++++++++++----- .../contents.d/udhcpc.eth0 | 0 .../rc/net/bundle.interface.eth0/type | 1 + .../contents.d/bundle.interface.eth0 | 0 .../rc/net/bundle.net/contents.d/ntpd.1 | 0 main/s6-services/rc/net/link.eth0/down | 2 ++ main/s6-services/rc/net/link.eth0/up | 12 ++++++++++-- .../rc/net/logger.ntpd/consumer-for | 2 +- .../rc/net/logger.ntpd/dependencies.d/mount.rw | 0 main/s6-services/rc/net/logger.ntpd/run | 13 +++++++++++-- .../rc/net/logger.sshd/consumer-for | 1 + .../rc/net/logger.sshd/dependencies.d/mount.rw | 0 .../rc/net/logger.sshd/notification-fd | 1 + main/s6-services/rc/net/logger.sshd/run | 13 +++++++++++++ .../rc/net/{ntpd => logger.sshd}/type | 0 .../net/logger.udhcpc/dependencies.d/mount.rw | 0 main/s6-services/rc/net/logger.udhcpc/run | 13 +++++++++++-- main/s6-services/rc/net/module.ipv6/down | 2 ++ main/s6-services/rc/net/module.ipv6/up | 12 ++++++++++-- .../rc/net/{ntpd => ntpd.1}/producer-for | 0 main/s6-services/rc/net/ntpd.1/run | 11 +++++++++++ main/s6-services/rc/net/ntpd.1/type | 1 + .../rc/net/sshd.1/dependencies.d/sshd.keygen | 0 .../rc/net/sshd.1/dependencies.d/user.sshd | 0 main/s6-services/rc/net/sshd.1/producer-for | 1 + main/s6-services/rc/net/sshd.1/run | 13 +++++++++++++ main/s6-services/rc/net/sshd.1/type | 1 + main/s6-services/rc/net/sshd.keygen/type | 1 + main/s6-services/rc/net/sshd.keygen/up | 11 +++++++++++ main/s6-services/rc/net/udhcpc.eth0/run | 10 ++++++++-- .../rc/net/user.sshd/dependencies.d/kmod.sysfs | 0 .../rc/net/{ntpd/run => user.sshd/down} | 5 +++-- main/s6-services/rc/net/user.sshd/type | 1 + main/s6-services/rc/net/user.sshd/up | 13 +++++++++++++ 70 files changed, 366 insertions(+), 75 deletions(-) create mode 100644 main/s6-services/env/core/logger/LOGPREFIX create mode 100644 main/s6-services/env/core/path/PATH rename main/s6-services/rc/{desktop/bundle.destkop/contents.d/dwm.0 => core/logger.klogd/dependencies.d/mount.rw} (100%) rename main/s6-services/rc/{net/bundle.net/contents.d/ntpd => core/logger.syslogd/dependencies.d/mount.rw} (100%) rename main/s6-services/rc/{net/bundle.net/contents.d/udhcpc.eth0 => desktop/bundle.desktop/contents.d/bundle.graphical.0} (100%) rename main/s6-services/rc/desktop/{bundle.destkop => bundle.desktop}/type (100%) create mode 100644 main/s6-services/rc/desktop/bundle.graphical.0/contents.d/dwm.0 create mode 100644 main/s6-services/rc/desktop/bundle.graphical.0/type delete mode 100644 main/s6-services/rc/desktop/dwm.0/env/DISPLAY create mode 100644 main/s6-services/rc/desktop/logger.dwm/dependencies.d/mount.rw create mode 100644 main/s6-services/rc/desktop/logger.udevd/dependencies.d/mount.rw create mode 100644 main/s6-services/rc/desktop/logger.xorg/dependencies.d/mount.rw delete mode 100644 main/s6-services/rc/desktop/xorg.0/env/DISPLAY delete mode 100644 main/s6-services/rc/desktop/xorg.0/env/TTYN create mode 100644 main/s6-services/rc/net/bundle.interface.eth0/contents.d/udhcpc.eth0 create mode 100644 main/s6-services/rc/net/bundle.interface.eth0/type create mode 100644 main/s6-services/rc/net/bundle.net/contents.d/bundle.interface.eth0 create mode 100644 main/s6-services/rc/net/bundle.net/contents.d/ntpd.1 create mode 100644 main/s6-services/rc/net/logger.ntpd/dependencies.d/mount.rw create mode 100644 main/s6-services/rc/net/logger.sshd/consumer-for create mode 100644 main/s6-services/rc/net/logger.sshd/dependencies.d/mount.rw create mode 100644 main/s6-services/rc/net/logger.sshd/notification-fd create mode 100755 main/s6-services/rc/net/logger.sshd/run rename main/s6-services/rc/net/{ntpd => logger.sshd}/type (100%) create mode 100644 main/s6-services/rc/net/logger.udhcpc/dependencies.d/mount.rw rename main/s6-services/rc/net/{ntpd => ntpd.1}/producer-for (100%) create mode 100755 main/s6-services/rc/net/ntpd.1/run create mode 100644 main/s6-services/rc/net/ntpd.1/type create mode 100644 main/s6-services/rc/net/sshd.1/dependencies.d/sshd.keygen create mode 100644 main/s6-services/rc/net/sshd.1/dependencies.d/user.sshd create mode 100644 main/s6-services/rc/net/sshd.1/producer-for create mode 100755 main/s6-services/rc/net/sshd.1/run create mode 100644 main/s6-services/rc/net/sshd.1/type create mode 100644 main/s6-services/rc/net/sshd.keygen/type create mode 100644 main/s6-services/rc/net/sshd.keygen/up create mode 100644 main/s6-services/rc/net/user.sshd/dependencies.d/kmod.sysfs rename main/s6-services/rc/net/{ntpd/run => user.sshd/down} (60%) mode change 100755 => 100644 create mode 100644 main/s6-services/rc/net/user.sshd/type create mode 100644 main/s6-services/rc/net/user.sshd/up diff --git a/main/s6-services/APKBUILD b/main/s6-services/APKBUILD index 199656b..2f608f1 100644 --- a/main/s6-services/APKBUILD +++ b/main/s6-services/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Alex Denes # Maintainer: Alex Denes pkgname=s6-services -pkgver=0.3 -pkgrel=6 +pkgver=0.5 +pkgrel=7 pkgdesc="Base services for s6" url="none" arch="noarch" @@ -14,23 +14,26 @@ builddir="$srcdir/" prepare() { default_prepare cp -R "$startdir"/rc "$builddir"/rc + cp -R "$startdir"/env "$builddir"/env } package() { - mkdir -p "$pkgdir"/etc - mv "$builddir"/rc "$pkgdir"/etc/s6-rc + mkdir -p "$pkgdir"/etc/s6 + mv "$builddir"/rc "$pkgdir"/etc/s6/rc + mv "$builddir"/env "$pkgdir"/etc/s6/env } core() { - amove etc/s6-rc/core + amove etc/s6/rc/core + amove etc/s6/env/core } net() { - amove etc/s6-rc/net + amove etc/s6/rc/net } desktop() { - amove etc/s6-rc/desktop + amove etc/s6/rc/desktop } check() { diff --git a/main/s6-services/env/core/logger/LOGPREFIX b/main/s6-services/env/core/logger/LOGPREFIX new file mode 100644 index 0000000..c780054 --- /dev/null +++ b/main/s6-services/env/core/logger/LOGPREFIX @@ -0,0 +1 @@ +/var/log diff --git a/main/s6-services/env/core/path/PATH b/main/s6-services/env/core/path/PATH new file mode 100644 index 0000000..84fd711 --- /dev/null +++ b/main/s6-services/env/core/path/PATH @@ -0,0 +1 @@ +/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin diff --git a/main/s6-services/rc/core/clock.hw/up b/main/s6-services/rc/core/clock.hw/up index 4d905d3..bb78c92 100644 --- a/main/s6-services/rc/core/clock.hw/up +++ b/main/s6-services/rc/core/clock.hw/up @@ -1,4 +1,11 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin + +export PATH $PATH + +fdclose 1 +fdclose 2 + exec hwclock -u --systz diff --git a/main/s6-services/rc/core/getty.tty1/run b/main/s6-services/rc/core/getty.tty1/run index 3d3dcec..c29ab01 100755 --- a/main/s6-services/rc/core/getty.tty1/run +++ b/main/s6-services/rc/core/getty.tty1/run @@ -1,6 +1,13 @@ #!/bin/execlineb -P -s6-envdir env -importas -D tty1 -u TTY TTY -importas -D 38400 -u BAUD BAUD -export PATH /bin:/sbin:/usr/bin:/usr/sbin -exec getty $BAUD $TTY +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +export PATH $PATH +define BAUD 38400 +define TTY tty1 + +fdclose 1 +fdclose 2 + +exec getty ${BAUD} ${TTY} diff --git a/main/s6-services/rc/core/hostname/up b/main/s6-services/rc/core/hostname/up index 36da962..5a9dcde 100644 --- a/main/s6-services/rc/core/hostname/up +++ b/main/s6-services/rc/core/hostname/up @@ -1,3 +1,12 @@ #!/bin/execlineb -P -if -t { test -s /etc/hostname } backtick -n -E HOSTNAME { head -1 /etc/hostname } -if -t { test -n $HOSTNAME } redirfd -w 1 /proc/sys/kernel/hostname echo $HOSTNAME +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +define HOSTNAME localhost +export PATH $PATH + +fdclose 1 +fdclose 2 + +redirfd -w 1 /proc/sys/kernel/hostname echo $HOSTNAME diff --git a/main/s6-services/rc/core/klogd/run b/main/s6-services/rc/core/klogd/run index 7f90e6e..0cb8766 100755 --- a/main/s6-services/rc/core/klogd/run +++ b/main/s6-services/rc/core/klogd/run @@ -1,6 +1,11 @@ #!/bin/execlineb -P -fdmove -c 2 1 -redirfd -r 0 /proc/kmsg +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -exec ucspilogd + +export PATH $PATH +define READFROM /proc/kmsg + +fdmove -c 2 1 + +foreground { redirfd -r 0 ${READFROM} } ucspilogd diff --git a/main/s6-services/rc/core/kmod.sysfs/up b/main/s6-services/rc/core/kmod.sysfs/up index b2bd50d..7f84113 100644 --- a/main/s6-services/rc/core/kmod.sysfs/up +++ b/main/s6-services/rc/core/kmod.sysfs/up @@ -1,5 +1,17 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -redirfd -w 2 /dev/null -export PATH /bin:/sbin:/usr/bin:/usr/sbin -if -t { pipeline { pipeline { exec find /sys -name modalias -type f -print0 } exec xargs -0 exec sort -u } exec xargs exec modprobe -b -a -s } + +export PATH $PATH + +fdclose 1 +fdclose 2 + +if -t { + pipeline { + pipeline { + exec find /sys -name modalias -type f -print0 + } exec xargs -0 exec sort -u + } exec xargs exec modprobe -b -a -s +} diff --git a/main/s6-services/rc/desktop/bundle.destkop/contents.d/dwm.0 b/main/s6-services/rc/core/logger.klogd/dependencies.d/mount.rw similarity index 100% rename from main/s6-services/rc/desktop/bundle.destkop/contents.d/dwm.0 rename to main/s6-services/rc/core/logger.klogd/dependencies.d/mount.rw diff --git a/main/s6-services/rc/core/logger.klogd/run b/main/s6-services/rc/core/logger.klogd/run index c35b3d7..f2f0454 100755 --- a/main/s6-services/rc/core/logger.klogd/run +++ b/main/s6-services/rc/core/logger.klogd/run @@ -1,4 +1,13 @@ #!/bin/execlineb -P -s6-envdir env -importas -D /var/log/klogd -u LOGDEST LOGDEST -s6-log -d3 -- t s1000000 n20 $LOGDEST +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX +emptyenv + +export PATH $PATH +define LOGGERNAME klogd +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/net/bundle.net/contents.d/ntpd b/main/s6-services/rc/core/logger.syslogd/dependencies.d/mount.rw similarity index 100% rename from main/s6-services/rc/net/bundle.net/contents.d/ntpd rename to main/s6-services/rc/core/logger.syslogd/dependencies.d/mount.rw diff --git a/main/s6-services/rc/core/logger.syslogd/run b/main/s6-services/rc/core/logger.syslogd/run index 4999c3a..5180812 100755 --- a/main/s6-services/rc/core/logger.syslogd/run +++ b/main/s6-services/rc/core/logger.syslogd/run @@ -1,4 +1,13 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX emptyenv -importas -D /var/log/syslogd -u LOGDEST LOGDEST -s6-log -d3 -- t s1000000 n20 $LOGDEST + +export PATH $PATH +define LOGGERNAME syslogd +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/core/mount.dev/up b/main/s6-services/rc/core/mount.dev/up index e34be74..366f836 100644 --- a/main/s6-services/rc/core/mount.dev/up +++ b/main/s6-services/rc/core/mount.dev/up @@ -1,4 +1,15 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -foreground { exec mount -t devtmpfs none /dev } if -nt { importas status ? test $status -eq 1 } + +export PATH $PATH + +fdclose 1 +fdclose 2 + +foreground { + exec mount -t devtmpfs none /dev +} if -nt { + importas status ? test $status -eq 1 +} diff --git a/main/s6-services/rc/core/mount.proc/up b/main/s6-services/rc/core/mount.proc/up index fd5750c..aa137b8 100644 --- a/main/s6-services/rc/core/mount.proc/up +++ b/main/s6-services/rc/core/mount.proc/up @@ -1,4 +1,15 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -foreground { exec mount -t proc none /proc } if -nt { importas status ? test $status -eq 1 } + +export PATH $PATH + +fdclose 1 +fdclose 2 + +foreground { + exec mount -t proc none /proc +} if -nt { + importas status ? test $status -eq 1 +} diff --git a/main/s6-services/rc/core/mount.run/up b/main/s6-services/rc/core/mount.run/up index 672d548..6b0490b 100644 --- a/main/s6-services/rc/core/mount.run/up +++ b/main/s6-services/rc/core/mount.run/up @@ -1,4 +1,11 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin + +export PATH $PATH + +fdclose 1 +fdclose 2 + exec mount -t tmpfs none /run diff --git a/main/s6-services/rc/core/mount.rw/up b/main/s6-services/rc/core/mount.rw/up index 3b187e1..ab9e6f5 100644 --- a/main/s6-services/rc/core/mount.rw/up +++ b/main/s6-services/rc/core/mount.rw/up @@ -1,4 +1,12 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -exec mount -t ext4 -o remount,rw / + +export PATH $PATH +define ROOTFSTYPE ext4 + +fdclose 1 +fdclose 2 + +exec mount -t ${ROOTFSTYPE} -o remount,rw / diff --git a/main/s6-services/rc/core/mount.sys/up b/main/s6-services/rc/core/mount.sys/up index e8adfde..682a8ac 100644 --- a/main/s6-services/rc/core/mount.sys/up +++ b/main/s6-services/rc/core/mount.sys/up @@ -1,4 +1,15 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -foreground { exec mount -t sysfs none /sys } if -nt { importas status ? test $status -eq 1 } + +export PATH $PATH + +fdclose 1 +fdclose 2 + +foreground { + exec mount -t sysfs none /sys +} if -nt { + importas status ? test $status -eq 1 +} diff --git a/main/s6-services/rc/core/mount.tmp/up b/main/s6-services/rc/core/mount.tmp/up index 96c0741..8f621b2 100644 --- a/main/s6-services/rc/core/mount.tmp/up +++ b/main/s6-services/rc/core/mount.tmp/up @@ -1,4 +1,11 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin + +export PATH $PATH + +fdclose 1 +fdclose 2 + exec mount -t tmpfs none /tmp diff --git a/main/s6-services/rc/core/syslogd/run b/main/s6-services/rc/core/syslogd/run index dcf813d..490b540 100755 --- a/main/s6-services/rc/core/syslogd/run +++ b/main/s6-services/rc/core/syslogd/run @@ -1,4 +1,10 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -s6-envuidgid nobody + +export PATH $PATH +define RUNAS nobody + +s6-envuidgid ${RUNAS} s6-socklog -d3 -U -t3000 diff --git a/main/s6-services/rc/net/bundle.net/contents.d/udhcpc.eth0 b/main/s6-services/rc/desktop/bundle.desktop/contents.d/bundle.graphical.0 similarity index 100% rename from main/s6-services/rc/net/bundle.net/contents.d/udhcpc.eth0 rename to main/s6-services/rc/desktop/bundle.desktop/contents.d/bundle.graphical.0 diff --git a/main/s6-services/rc/desktop/bundle.destkop/type b/main/s6-services/rc/desktop/bundle.desktop/type similarity index 100% rename from main/s6-services/rc/desktop/bundle.destkop/type rename to main/s6-services/rc/desktop/bundle.desktop/type diff --git a/main/s6-services/rc/desktop/bundle.graphical.0/contents.d/dwm.0 b/main/s6-services/rc/desktop/bundle.graphical.0/contents.d/dwm.0 new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/desktop/bundle.graphical.0/type b/main/s6-services/rc/desktop/bundle.graphical.0/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/main/s6-services/rc/desktop/bundle.graphical.0/type @@ -0,0 +1 @@ +bundle diff --git a/main/s6-services/rc/desktop/dwm.0/env/DISPLAY b/main/s6-services/rc/desktop/dwm.0/env/DISPLAY deleted file mode 100644 index 16f4102..0000000 --- a/main/s6-services/rc/desktop/dwm.0/env/DISPLAY +++ /dev/null @@ -1 +0,0 @@ -:0 diff --git a/main/s6-services/rc/desktop/dwm.0/run b/main/s6-services/rc/desktop/dwm.0/run index 9c1dad5..72c4f44 100755 --- a/main/s6-services/rc/desktop/dwm.0/run +++ b/main/s6-services/rc/desktop/dwm.0/run @@ -1,7 +1,11 @@ #!/bin/execlineb -P -s6-envdir env -importas -D 0 -u DISPLAY DISPLAY +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +export PATH $PATH +export DISPLAY :0 + fdmove -c 2 1 -export PATH /bin:/sbin:/usr/bin:/usr/sbin -export DISPLAY $DISPLAY + exec dwm diff --git a/main/s6-services/rc/desktop/logger.dwm/dependencies.d/mount.rw b/main/s6-services/rc/desktop/logger.dwm/dependencies.d/mount.rw new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/desktop/logger.dwm/run b/main/s6-services/rc/desktop/logger.dwm/run index 95337c5..6fcae20 100755 --- a/main/s6-services/rc/desktop/logger.dwm/run +++ b/main/s6-services/rc/desktop/logger.dwm/run @@ -1,4 +1,13 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX emptyenv -importas -D /var/log/dwm -u LOGDEST LOGDEST -s6-log -d3 -- t s1000000 n20 $LOGDEST + +export PATH $PATH +define LOGGERNAME dwm +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/desktop/logger.udevd/dependencies.d/mount.rw b/main/s6-services/rc/desktop/logger.udevd/dependencies.d/mount.rw new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/desktop/logger.udevd/run b/main/s6-services/rc/desktop/logger.udevd/run index facd4c2..30bd618 100755 --- a/main/s6-services/rc/desktop/logger.udevd/run +++ b/main/s6-services/rc/desktop/logger.udevd/run @@ -1,4 +1,13 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX emptyenv -importas -D /var/log/udevd -u LOGDEST LOGDEST -s6-log -d3 -- t s1000000 n20 $LOGDEST + +export PATH $PATH +define LOGGERNAME udevd +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/desktop/logger.xorg/dependencies.d/mount.rw b/main/s6-services/rc/desktop/logger.xorg/dependencies.d/mount.rw new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/desktop/logger.xorg/run b/main/s6-services/rc/desktop/logger.xorg/run index 85e07a4..3802305 100755 --- a/main/s6-services/rc/desktop/logger.xorg/run +++ b/main/s6-services/rc/desktop/logger.xorg/run @@ -1,4 +1,13 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX emptyenv -importas -D /var/log/xorg -u LOGDEST LOGDEST -s6-log -d3 -- t s1000000 n20 $LOGDEST + +export PATH $PATH +define LOGGERNAME xorg +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/desktop/udevd.settle/up b/main/s6-services/rc/desktop/udevd.settle/up index e69fcf9..a344e24 100644 --- a/main/s6-services/rc/desktop/udevd.settle/up +++ b/main/s6-services/rc/desktop/udevd.settle/up @@ -1,4 +1,11 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -foreground { redirfd -w 1 /dev/null udevadm settle } + +export PATH $PATH + +fdclose 1 +fdclose 2 + +exec udevadm settle diff --git a/main/s6-services/rc/desktop/udevd.trigger/up b/main/s6-services/rc/desktop/udevd.trigger/up index 6753345..9b13ee2 100644 --- a/main/s6-services/rc/desktop/udevd.trigger/up +++ b/main/s6-services/rc/desktop/udevd.trigger/up @@ -1,5 +1,12 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -foreground { redirfd -w 1 /dev/null udevadm trigger --action=add --type=subsystems } -foreground { redirfd -w 1 /dev/null udevadm trigger --action=add --type=devices } + +export PATH $PATH + +fdclose 1 +fdclose 2 + +foreground { udevadm trigger --action=add --type=subsystems } +foreground { udevadm trigger --action=add --type=devices } diff --git a/main/s6-services/rc/desktop/udevd/run b/main/s6-services/rc/desktop/udevd/run index f1af6e1..13df5f8 100755 --- a/main/s6-services/rc/desktop/udevd/run +++ b/main/s6-services/rc/desktop/udevd/run @@ -1,5 +1,10 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv + +export PATH $PATH + fdmove -c 2 1 -export PATH /bin:/sbin:/usr/bin:/usr/sbin + exec udevd diff --git a/main/s6-services/rc/desktop/xorg.0/env/DISPLAY b/main/s6-services/rc/desktop/xorg.0/env/DISPLAY deleted file mode 100644 index 16f4102..0000000 --- a/main/s6-services/rc/desktop/xorg.0/env/DISPLAY +++ /dev/null @@ -1 +0,0 @@ -:0 diff --git a/main/s6-services/rc/desktop/xorg.0/env/TTYN b/main/s6-services/rc/desktop/xorg.0/env/TTYN deleted file mode 100644 index 0cfbf08..0000000 --- a/main/s6-services/rc/desktop/xorg.0/env/TTYN +++ /dev/null @@ -1 +0,0 @@ -2 diff --git a/main/s6-services/rc/desktop/xorg.0/run b/main/s6-services/rc/desktop/xorg.0/run index 611ea27..21b20f9 100755 --- a/main/s6-services/rc/desktop/xorg.0/run +++ b/main/s6-services/rc/desktop/xorg.0/run @@ -1,7 +1,12 @@ #!/bin/execlineb -P -s6-envdir env -importas -D 2 -u TTYN TTYN -importas -D 0 -u DISPLAY DISPLAY +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +export PATH $PATH +define DISPLAY :0 +define VTN 2 + fdmove -c 2 1 -export PATH /bin:/sbin:/usr/bin:/usr/sbin -exec Xorg $DISPLAY -displayfd 3 -noreset -nolisten tcp -verbose 10 vt$TTYN + +exec Xorg ${DISPLAY} -displayfd 3 -noreset -nolisten tcp -verbose 10 vt${VTN} diff --git a/main/s6-services/rc/net/bundle.interface.eth0/contents.d/udhcpc.eth0 b/main/s6-services/rc/net/bundle.interface.eth0/contents.d/udhcpc.eth0 new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/bundle.interface.eth0/type b/main/s6-services/rc/net/bundle.interface.eth0/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/main/s6-services/rc/net/bundle.interface.eth0/type @@ -0,0 +1 @@ +bundle diff --git a/main/s6-services/rc/net/bundle.net/contents.d/bundle.interface.eth0 b/main/s6-services/rc/net/bundle.net/contents.d/bundle.interface.eth0 new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/bundle.net/contents.d/ntpd.1 b/main/s6-services/rc/net/bundle.net/contents.d/ntpd.1 new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/link.eth0/down b/main/s6-services/rc/net/link.eth0/down index 5d78a0c..d2a328a 100644 --- a/main/s6-services/rc/net/link.eth0/down +++ b/main/s6-services/rc/net/link.eth0/down @@ -1,4 +1,6 @@ #!/bin/execlineb -P emptyenv +fdclose 1 +fdclose 2 export PATH /bin:/sbin:/usr/bin:/usr/sbin exec ip link set dev eth0 down diff --git a/main/s6-services/rc/net/link.eth0/up b/main/s6-services/rc/net/link.eth0/up index f6cccfa..fb0dcdd 100644 --- a/main/s6-services/rc/net/link.eth0/up +++ b/main/s6-services/rc/net/link.eth0/up @@ -1,4 +1,12 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -exec ip link set dev eth0 up + +export PATH $PATH +define INTERFACE eth0 + +fdclose 1 +fdclose 2 + +exec ip link set dev ${INTERFACE} up diff --git a/main/s6-services/rc/net/logger.ntpd/consumer-for b/main/s6-services/rc/net/logger.ntpd/consumer-for index b7e50a0..490002c 100644 --- a/main/s6-services/rc/net/logger.ntpd/consumer-for +++ b/main/s6-services/rc/net/logger.ntpd/consumer-for @@ -1 +1 @@ -ntpd +ntpd.1 diff --git a/main/s6-services/rc/net/logger.ntpd/dependencies.d/mount.rw b/main/s6-services/rc/net/logger.ntpd/dependencies.d/mount.rw new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/logger.ntpd/run b/main/s6-services/rc/net/logger.ntpd/run index 76e7b6c..1eb3b62 100755 --- a/main/s6-services/rc/net/logger.ntpd/run +++ b/main/s6-services/rc/net/logger.ntpd/run @@ -1,4 +1,13 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX emptyenv -importas -D /var/log/ntpd -u LOGDEST LOGDEST -s6-log -d3 -- t s1000000 n20 $LOGDEST + +export PATH $PATH +define LOGGERNAME ntpd +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/net/logger.sshd/consumer-for b/main/s6-services/rc/net/logger.sshd/consumer-for new file mode 100644 index 0000000..393a5aa --- /dev/null +++ b/main/s6-services/rc/net/logger.sshd/consumer-for @@ -0,0 +1 @@ +sshd.1 diff --git a/main/s6-services/rc/net/logger.sshd/dependencies.d/mount.rw b/main/s6-services/rc/net/logger.sshd/dependencies.d/mount.rw new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/logger.sshd/notification-fd b/main/s6-services/rc/net/logger.sshd/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/main/s6-services/rc/net/logger.sshd/notification-fd @@ -0,0 +1 @@ +3 diff --git a/main/s6-services/rc/net/logger.sshd/run b/main/s6-services/rc/net/logger.sshd/run new file mode 100755 index 0000000..25d139b --- /dev/null +++ b/main/s6-services/rc/net/logger.sshd/run @@ -0,0 +1,13 @@ +#!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX +emptyenv + +export PATH $PATH +define LOGGERNAME sshd +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/net/ntpd/type b/main/s6-services/rc/net/logger.sshd/type similarity index 100% rename from main/s6-services/rc/net/ntpd/type rename to main/s6-services/rc/net/logger.sshd/type diff --git a/main/s6-services/rc/net/logger.udhcpc/dependencies.d/mount.rw b/main/s6-services/rc/net/logger.udhcpc/dependencies.d/mount.rw new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/logger.udhcpc/run b/main/s6-services/rc/net/logger.udhcpc/run index 7368273..e4dbce5 100755 --- a/main/s6-services/rc/net/logger.udhcpc/run +++ b/main/s6-services/rc/net/logger.udhcpc/run @@ -1,4 +1,13 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +s6-envdir /etc/s6/env/core/logger +importas -i LOGPREFIX LOGPREFIX emptyenv -importas -D /var/log/udhcpc -u LOGDEST LOGDEST -s6-log -d3 -- t s1000000 n20 $LOGDEST + +export PATH $PATH +define LOGGERNAME udhcpc +define LOGSIZE 1000000 +define LOGARCHIVES 20 + +s6-log -d3 -- t s${LOGSIZE} n${LOGARCHIVES} ${LOGPREFIX}/${LOGGERNAME} diff --git a/main/s6-services/rc/net/module.ipv6/down b/main/s6-services/rc/net/module.ipv6/down index 3583c94..a884593 100644 --- a/main/s6-services/rc/net/module.ipv6/down +++ b/main/s6-services/rc/net/module.ipv6/down @@ -1,4 +1,6 @@ #!/bin/execlineb -P emptyenv +fdclose 1 +fdclose 2 export PATH /bin:/sbin:/usr/bin:/usr/sbin exec rmmod ipv6 diff --git a/main/s6-services/rc/net/module.ipv6/up b/main/s6-services/rc/net/module.ipv6/up index 6a2f58b..74845ab 100644 --- a/main/s6-services/rc/net/module.ipv6/up +++ b/main/s6-services/rc/net/module.ipv6/up @@ -1,4 +1,12 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv -export PATH /bin:/sbin:/usr/bin:/usr/sbin -exec modprobe ipv6 + +export PATH $PATH +define MODULE ipv6 + +fdclose 1 +fdclose 2 + +exec modprobe ${MODULE} diff --git a/main/s6-services/rc/net/ntpd/producer-for b/main/s6-services/rc/net/ntpd.1/producer-for similarity index 100% rename from main/s6-services/rc/net/ntpd/producer-for rename to main/s6-services/rc/net/ntpd.1/producer-for diff --git a/main/s6-services/rc/net/ntpd.1/run b/main/s6-services/rc/net/ntpd.1/run new file mode 100755 index 0000000..5071e05 --- /dev/null +++ b/main/s6-services/rc/net/ntpd.1/run @@ -0,0 +1,11 @@ +#!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +export PATH $PATH +define NTPS pool.ntp.org + +fdmove -c 2 1 + +exec ntpd -n -dd -p ${NTPS} diff --git a/main/s6-services/rc/net/ntpd.1/type b/main/s6-services/rc/net/ntpd.1/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/main/s6-services/rc/net/ntpd.1/type @@ -0,0 +1 @@ +longrun diff --git a/main/s6-services/rc/net/sshd.1/dependencies.d/sshd.keygen b/main/s6-services/rc/net/sshd.1/dependencies.d/sshd.keygen new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/sshd.1/dependencies.d/user.sshd b/main/s6-services/rc/net/sshd.1/dependencies.d/user.sshd new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/sshd.1/producer-for b/main/s6-services/rc/net/sshd.1/producer-for new file mode 100644 index 0000000..53bd59f --- /dev/null +++ b/main/s6-services/rc/net/sshd.1/producer-for @@ -0,0 +1 @@ +logger.sshd diff --git a/main/s6-services/rc/net/sshd.1/run b/main/s6-services/rc/net/sshd.1/run new file mode 100755 index 0000000..3a7359d --- /dev/null +++ b/main/s6-services/rc/net/sshd.1/run @@ -0,0 +1,13 @@ +#!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +export PATH $PATH +define SSHDCFG /etc/ssh/sshd_config + +fdmove -c 2 1 + +# NOTE: SSHD forks itself and requires the full path +# - i don't think this is really a concern that should be forced onto users +exec /usr/sbin/sshd -D -e -f ${SSHDCFG} diff --git a/main/s6-services/rc/net/sshd.1/type b/main/s6-services/rc/net/sshd.1/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/main/s6-services/rc/net/sshd.1/type @@ -0,0 +1 @@ +longrun diff --git a/main/s6-services/rc/net/sshd.keygen/type b/main/s6-services/rc/net/sshd.keygen/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/main/s6-services/rc/net/sshd.keygen/type @@ -0,0 +1 @@ +oneshot diff --git a/main/s6-services/rc/net/sshd.keygen/up b/main/s6-services/rc/net/sshd.keygen/up new file mode 100644 index 0000000..7293602 --- /dev/null +++ b/main/s6-services/rc/net/sshd.keygen/up @@ -0,0 +1,11 @@ +#!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +export PATH $PATH + +fdclose 1 +fdclose 2 + +exec ssh-keygen -A diff --git a/main/s6-services/rc/net/udhcpc.eth0/run b/main/s6-services/rc/net/udhcpc.eth0/run index 3454d37..49b297d 100755 --- a/main/s6-services/rc/net/udhcpc.eth0/run +++ b/main/s6-services/rc/net/udhcpc.eth0/run @@ -1,5 +1,11 @@ #!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH emptyenv + +export PATH $PATH +define INTERFACE eth0 + fdmove -c 2 1 -export PATH /bin:/sbin:/usr/bin:/usr/sbin -exec udhcpc -i eth0 -f -S + +exec udhcpc -i ${INTERFACE} -f -S diff --git a/main/s6-services/rc/net/user.sshd/dependencies.d/kmod.sysfs b/main/s6-services/rc/net/user.sshd/dependencies.d/kmod.sysfs new file mode 100644 index 0000000..e69de29 diff --git a/main/s6-services/rc/net/ntpd/run b/main/s6-services/rc/net/user.sshd/down old mode 100755 new mode 100644 similarity index 60% rename from main/s6-services/rc/net/ntpd/run rename to main/s6-services/rc/net/user.sshd/down index 0d8d1da..925f685 --- a/main/s6-services/rc/net/ntpd/run +++ b/main/s6-services/rc/net/user.sshd/down @@ -1,5 +1,6 @@ #!/bin/execlineb -P emptyenv +fdclose 1 +fdclose 2 export PATH /bin:/sbin:/usr/bin:/usr/sbin -fdmove -c 2 1 -exec ntpd -n -dd -p pool.ntp.org +exec userdel sshd diff --git a/main/s6-services/rc/net/user.sshd/type b/main/s6-services/rc/net/user.sshd/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/main/s6-services/rc/net/user.sshd/type @@ -0,0 +1 @@ +oneshot diff --git a/main/s6-services/rc/net/user.sshd/up b/main/s6-services/rc/net/user.sshd/up new file mode 100644 index 0000000..f6c80dd --- /dev/null +++ b/main/s6-services/rc/net/user.sshd/up @@ -0,0 +1,13 @@ +#!/bin/execlineb -P +s6-envdir -i /etc/s6/env/core/path +importas -i PATH PATH +emptyenv + +export PATH $PATH +define SHELL /sbin/nologin +define USER sshd + +fdclose 1 +fdclose 2 + +exec useradd -s ${SHELL} -H -D ${USER}