From afb0fe3ccead10a3a68f938e80c891fe9d9cb9d3 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 14 Aug 2018 19:52:39 +0000 Subject: Move s6 higher in the supervision chain - Better s6 layout, with a place for early services and a place for packages to add their services later on. - s6-svscan is now supervised by sysvinit (instead of being run once by openrc) - s6-svscan is now the only process supervised by sysvinit. All the other "respawn" lines are delegated to s6. - utmpd and wtmpd are now early services instead of being added by openrc. These changes implement a full supervision architecture and make init more flexible. Later on, it will be easier to - add conditional gettys (for /dev/hvc0...) - remove sysvinit entirely - decouple the init process from the service manager. --- system/s6/APKBUILD | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'system/s6/APKBUILD') diff --git a/system/s6/APKBUILD b/system/s6/APKBUILD index 77a123cd9..14ae3ba07 100644 --- a/system/s6/APKBUILD +++ b/system/s6/APKBUILD @@ -2,19 +2,18 @@ # Maintainer: Laurent Bercot pkgname=s6 pkgver=2.7.1.1 -pkgrel=0 +pkgrel=4 pkgdesc="skarnet.org's small & secure supervision software suite" url="https://skarnet.org/software/$pkgname/" arch="all" options="!check" # No test suite. license="ISC" makedepends="skalibs-dev execline-dev" -install="s6.pre-install s6.pre-upgrade" -subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc" -triggers="s6.trigger=/run/service" +install="$pkgname.pre-install $pkgname.pre-upgrade $pkgname.post-upgrade" +subpackages="$pkgname-dev $pkgname-doc" +triggers="$pkgname.trigger=/run/service" source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz - s6-svscanboot - s6.initd" + s6-svscanboot agetty-run" build() { @@ -33,9 +32,17 @@ package() { cd "$builddir" make DESTDIR="$pkgdir" install cp -f "$srcdir/s6-svscanboot" "$pkgdir/lib/s6/s6-svscanboot" - mkdir -p "$pkgdir/etc/init.d" - cp -f "$srcdir/s6.initd" "$pkgdir/etc/init.d/s6" - chmod 0755 "$pkgdir/lib/s6/s6-svscanboot" "$pkgdir/etc/init.d/s6" + mkdir -p -m 0755 "$pkgdir/etc/s6/early-services" "$pkgdir/var/lib/s6/services" + chmod 0755 "$pkgdir/lib/s6/s6-svscanboot" + + + # The getty scripts are created here + + for i in 1 2 3 4 5 6 ; do + mkdir -m 0755 "$pkgdir/etc/s6/early-services/getty-$i" + sed -e "s/%TTY%/tty$i/g" < "$srcdir/agetty-run" > "$pkgdir/etc/s6/early-services/getty-$i/run" + chmod 0755 "$pkgdir/etc/s6/early-services/getty-$i/run" + done } doc() { @@ -45,5 +52,5 @@ doc() { } sha512sums="59b0a611eaa0bbdeae3133a182e933e14806151d3b8d44c7f4258a63693cf2fa487fce91a4ea37527ed0f52f211a5391b3fcf6202773b0a80d6ce7f3de60ff79 s6-2.7.1.1.tar.gz -871ca1f86b354b7c63ce1d3bef8794627e176f993144ed67a17d0a069f5ac2164d94aba980711f61ad349dcd4fe2bf928195f2121a75e611c9897d73f1af12a0 s6-svscanboot -e7f4fcdc04fc7f72df4419018d048e14f80d50d01ebc284b6d208d6bada3201ca91be0a110930618a26fb0e6bcc1603de01467f6f1dc635c8dcae60f1a0b1b9b s6.initd" +b4919f76498f86257e13210010a84284dd8574db062b96bcc527c0c5dcc2a35716ff0f3c4d23cb3ec7eed416f16aeec31247b1fda3bd06c1a8f6fd65cf32c6da s6-svscanboot +fb60b841da03583ba9f0f0541b45e4cf88fa5311b26376042e951317428dcaa6c81bb6c739c7a442ef0d36e1581a29cb9c4fb2d87411268fb23a033130fc8051 agetty-run" -- cgit v1.2.3-70-g09d2