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}