diff options
Diffstat (limited to 'system')
26 files changed, 153 insertions, 205 deletions
diff --git a/system/easy-kernel-power8/APKBUILD b/system/easy-kernel-power8/APKBUILD index cf2a72c78..228aa0616 100644 --- a/system/easy-kernel-power8/APKBUILD +++ b/system/easy-kernel-power8/APKBUILD @@ -80,4 +80,4 @@ src() { sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz f76ae636da104c6f1d299a6aff18a5aa1166c9c06efbdf3270c911f26adc1760fbb4271ca2338ced47c7787c2ff54880e1945e2d6cf25fda880b5f735029d7a8 linux-4.14-mc9.patch.xz e41d9111219342ad13367902242444ecdd847a93575c3f9709d6c6a075bc650f4a15be9db1a8798435fc0a0b56d41705829bfe0d2c2d88f8d1c28931e27ef5be ast-endianness.patch -0309bc1f9489ea78f81845d05e2482524e95f2b654ec78796955d80293c3c0a956e63190eb3d5954638061bc18fbf399c70e51815793c6635a8d680bded7374d config-ppc64" +fd810263d9aeeb2ec33c7872a9ccf52f474d79995d7f265f457226d62ab44456edf583e67fd4425c1e8025df0d359ebab566fbdcf8ce0a6c8c7ce36d726d3da6 config-ppc64" diff --git a/system/easy-kernel-power8/config-ppc64 b/system/easy-kernel-power8/config-ppc64 index cce3d156c..5dc1055a6 100644 --- a/system/easy-kernel-power8/config-ppc64 +++ b/system/easy-kernel-power8/config-ppc64 @@ -4381,7 +4381,7 @@ CONFIG_CRYPTO_CTR=m CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_LRW is not set CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_XTS is not set +CONFIG_CRYPTO_XTS=m # CONFIG_CRYPTO_KEYWRAP is not set # diff --git a/system/easy-kernel/APKBUILD b/system/easy-kernel/APKBUILD index 1b9d867d0..4a9395acd 100644 --- a/system/easy-kernel/APKBUILD +++ b/system/easy-kernel/APKBUILD @@ -14,7 +14,7 @@ makedepends="bc gzip lzop openssl-dev xz" install="" provides="easy-kernel=$pkgver-r$pkgrel" subpackages="$_pkgname-modules-$pkgver-mc$pkgrel:modules - $_pkgname-src-$pkgver-mc$pkgrel:src" + $_pkgname-src-$pkgver-mc$pkgrel:src linux-headers:headers" source="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.tar.xz https://distfiles.adelielinux.org/source/linux-4.14-mc$pkgrel.patch.xz ast-endianness.patch @@ -22,7 +22,8 @@ source="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.tar.xz config-ppc config-x86_64 config-pmmx - config-aarch64" + config-aarch64 + " builddir="$srcdir/linux-4.14" prepare() { @@ -75,6 +76,25 @@ modules() { "$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy/source } +headers() { + pkgdesc="System headers provided by the Linux kernel" + cd "$builddir" + patch -Np1 -i "$srcdir"/../revert-broken-uapi.patch + + mkdir -p "$subpkgdir"/usr + make headers_install INSTALL_HDR_PATH="$subpkgdir/usr" + + find "$subpkgdir/usr" \( -name .install -o -name ..install.cmd \) -exec \ + rm -f {} \; + + # provided by libdrm + rm -rf "$subpkgdir"/usr/include/drm + + # needed for spl, VMware on x86, etc + install -D -m644 "$builddir"/include/generated/utsrelease.h \ + "$subpkgdir"/usr/include/linux/utsrelease.h +} + src() { pkgdesc="Kernel source code used to build the kernel" provides="easy-kernel-src=$pkgver-r$pkgrel" @@ -84,7 +104,7 @@ src() { sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz f76ae636da104c6f1d299a6aff18a5aa1166c9c06efbdf3270c911f26adc1760fbb4271ca2338ced47c7787c2ff54880e1945e2d6cf25fda880b5f735029d7a8 linux-4.14-mc9.patch.xz e41d9111219342ad13367902242444ecdd847a93575c3f9709d6c6a075bc650f4a15be9db1a8798435fc0a0b56d41705829bfe0d2c2d88f8d1c28931e27ef5be ast-endianness.patch -1fbd909a38e790638b7adb6375a58a098c6bfb893f39c89373debc3ccae8dcc1306e8740f452ccfb6aee8ab707aab9df484aa4f9a13711ba3623d026adbfaa42 config-ppc64 +3d3ee8f7c27ff20b9569ec4dadabd2c733102d1cf5fd3f6abfefaa4dc34e5161b793d82bce7c29f02aafe74791b345b516bf5b1503d36bf714ef2e70507a2bc3 config-ppc64 1112f6c3fcfd7fdc0ef4d5e85df5d3adea430a9c7b4c2b34508a215f7ba14c863ccd7a5e17f13ed46c518bafec30cfb3ced70c465137c14ef5fc998b6cbcca1f config-ppc 438a66561200d570b3bf6ab0481d9725a9f482b1fcf852a90f99c6db5aa4ee02d2b67b57235bb7afc01515a79289407cbe111536340824d7a391ce1a658c9a76 config-x86_64 e8f7749877c5b2574e7e853b757477b8f99d757b43225d4f83d611c20215b8b2690cc85369608c2dc8f7d6a619136a2d7dde4648031e37d2ae4dcc5ba85652c8 config-pmmx diff --git a/system/easy-kernel/config-ppc64 b/system/easy-kernel/config-ppc64 index 6b22b756d..afb62ea0d 100644 --- a/system/easy-kernel/config-ppc64 +++ b/system/easy-kernel/config-ppc64 @@ -4430,7 +4430,7 @@ CONFIG_CRYPTO_CTR=m CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_LRW is not set CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_XTS is not set +CONFIG_CRYPTO_XTS=m # CONFIG_CRYPTO_KEYWRAP is not set # diff --git a/system/easy-kernel/config-sparc64 b/system/easy-kernel/config-sparc64 index 14afb1262..08596480d 100644 --- a/system/easy-kernel/config-sparc64 +++ b/system/easy-kernel/config-sparc64 @@ -4079,7 +4079,7 @@ CONFIG_CRYPTO_CTR=m CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_LRW is not set CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_XTS is not set +CONFIG_CRYPTO_XTS=m # CONFIG_CRYPTO_KEYWRAP is not set # diff --git a/system/linux-headers/revert-broken-uapi.patch b/system/easy-kernel/revert-broken-uapi.patch index 186ef7196..186ef7196 100644 --- a/system/linux-headers/revert-broken-uapi.patch +++ b/system/easy-kernel/revert-broken-uapi.patch diff --git a/system/execline/APKBUILD b/system/execline/APKBUILD index 3b7b17dee..152e6b2b3 100644 --- a/system/execline/APKBUILD +++ b/system/execline/APKBUILD @@ -1,16 +1,17 @@ -# Contributor: John Regan <john@jrjrtech.com> -# Maintainer: Laurent Bercot <ska-devel@skarnet.org> +# Contributor: Laurent Bercot <ska-adelie@skarnet.org> +# Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=execline -pkgver=2.5.0.0 -pkgrel=0 +pkgver=2.5.0.1 +pkgrel=1 pkgdesc="A small scripting language for non-interactive scripts" url="http://skarnet.org/software/$pkgname/" arch="all" options="!check" # No test suite. license="ISC" -makedepends="skalibs-dev" +depends_dev="skalibs-dev" +makedepends="skalibs-dev>=2.7" subpackages="$pkgname-dev $pkgname-doc" -source="http://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz" +source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz" build() { cd "$builddir" @@ -34,4 +35,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="ac0e42da202bf9b46caeecd344a2de43d8825b0857159614a937c0f711f084b55378a80738346306e202aafcce78f38fce0aa020d4a67ee104d901c679e1574b execline-2.5.0.0.tar.gz" +sha512sums="9e013a83844fc3f5b28c6aea44b446f550dafe52131facf0d7c0648c9ae62c4a62d895f72cedb010754319c0e298fb4c8396d2c6be019cd6218558934bffaea3 execline-2.5.0.1.tar.gz" diff --git a/system/linux-headers/APKBUILD b/system/linux-headers/APKBUILD deleted file mode 100644 index 7beaa2272..000000000 --- a/system/linux-headers/APKBUILD +++ /dev/null @@ -1,54 +0,0 @@ -# Maintainer: Adelie Platform Group <adelie-devel@lists.adelielinux.org> -pkgname=linux-headers -pkgver=4.14.48 -pkgrel=8 -pkgdesc="Linux system headers" -url="https://kernel.org" -arch="all" -options="!check !dbg !strip !tracedeps" # Headers only -license="GPL-2.0-only" -makedepends="perl" -source="https://kernel.org/pub/linux/kernel/v4.x/linux-4.14.tar.xz - https://distfiles.adelielinux.org/source/linux-4.14-mc$pkgrel.patch.xz - revert-broken-uapi.patch - " -builddir="$srcdir/linux-4.14" - -prepare() { - cd "$srcdir" - cat linux-4.14-mc$pkgrel.patch.xz | unxz -> linux-4.14-mc$pkgrel.patch - cd "$builddir" - patch -Np1 <../linux-4.14-mc$pkgrel.patch - for i in $source; do - case $i in - *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; - esac - done -} - -package() { - local _carch=$CARCH - - case "$_carch" in - aarch64*) _carch="arm64" ;; - arm*) _carch="arm" ;; - mips*) _carch="mips" ;; - s390*) _carch="s390" ;; - ppc*) _carch="powerpc" ;; - pmmx) _carch="x86" ;; - esac - - cd "$builddir" - mkdir -p "$pkgdir/usr" - make headers_install ARCH="${_carch}" INSTALL_HDR_PATH="$pkgdir/usr" - - find "$pkgdir/usr" \( -name .install -o -name ..install.cmd \) -exec \ - rm -f {} \; - - # provided by libdrm - rm -rf "$pkgdir"/usr/include/drm -} - -sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz -3fe2da1714cc83d909ba43d27c7f22ef4f2a6ecfd91ff81e0e141a0dd742ec78ad11392186871762f410615ae7c7f33dd814e0f194c7f7aed1dee2d9fca0252d linux-4.14-mc8.patch.xz -32597f2672d1ec365a936d15041a7cf219ef9353241d4a5c378244cf2fc155610443a19bbcd391c86099a0b08486c45e042ec7c90b0d04fe675c3ad0ffc36b53 revert-broken-uapi.patch" diff --git a/system/ncurses/APKBUILD b/system/ncurses/APKBUILD index eb57797a1..eaa4508bf 100644 --- a/system/ncurses/APKBUILD +++ b/system/ncurses/APKBUILD @@ -2,7 +2,7 @@ pkgname=ncurses pkgver=6.1_p20180609 _ver=${pkgver%_p*}-${pkgver#*_p} -pkgrel=4 +pkgrel=5 pkgdesc="Console display library" url="https://invisible-island.net/ncurses/ncurses.html" arch="all" @@ -66,9 +66,10 @@ package() { dev() { default_dev - # force link against *w.so + # force link against *w.so and *w.a for lib in ncurses ncurses++ form panel menu tinfo; do echo "INPUT(-l${lib}w)" > "$subpkgdir"/lib/lib${lib}.so + echo "INPUT(-l${lib}w)" > "$subpkgdir"/lib/lib${lib}.a ln -s ${lib}w.pc "$subpkgdir"/usr/lib/pkgconfig/${lib}.pc done # link curses -> ncurses diff --git a/system/s6/APKBUILD b/system/s6/APKBUILD index 77a123cd9..546c50f16 100644 --- a/system/s6/APKBUILD +++ b/system/s6/APKBUILD @@ -1,20 +1,20 @@ -# Contributor: John Regan <john@jrjrtech.com> -# Maintainer: Laurent Bercot <ska-devel@skarnet.org> +# Contributor: Laurent Bercot <ska-adelie@skarnet.org> +# Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6 -pkgver=2.7.1.1 -pkgrel=0 +pkgver=2.7.2.0 +pkgrel=1 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" +depends_dev="skalibs-dev execline-dev" +makedepends="skalibs-dev>=2.7 execline-dev" +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 +33,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() { @@ -44,6 +52,6 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="59b0a611eaa0bbdeae3133a182e933e14806151d3b8d44c7f4258a63693cf2fa487fce91a4ea37527ed0f52f211a5391b3fcf6202773b0a80d6ce7f3de60ff79 s6-2.7.1.1.tar.gz -871ca1f86b354b7c63ce1d3bef8794627e176f993144ed67a17d0a069f5ac2164d94aba980711f61ad349dcd4fe2bf928195f2121a75e611c9897d73f1af12a0 s6-svscanboot -e7f4fcdc04fc7f72df4419018d048e14f80d50d01ebc284b6d208d6bada3201ca91be0a110930618a26fb0e6bcc1603de01467f6f1dc635c8dcae60f1a0b1b9b s6.initd" +sha512sums="0ab98c44324054effa0754efd117b3126a53fac7096979aacffd7d86128c5cb1f714205e30ca4e561ca3740646d1f36eb53b9e30d139d7ce4dc1b8cfb3e33123 s6-2.7.2.0.tar.gz +b4919f76498f86257e13210010a84284dd8574db062b96bcc527c0c5dcc2a35716ff0f3c4d23cb3ec7eed416f16aeec31247b1fda3bd06c1a8f6fd65cf32c6da s6-svscanboot +fb60b841da03583ba9f0f0541b45e4cf88fa5311b26376042e951317428dcaa6c81bb6c739c7a442ef0d36e1581a29cb9c4fb2d87411268fb23a033130fc8051 agetty-run" diff --git a/system/s6/agetty-run b/system/s6/agetty-run new file mode 100644 index 000000000..79884efc7 --- /dev/null +++ b/system/s6/agetty-run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +/sbin/agetty 38400 %TTY% linux diff --git a/system/s6/s6-svscanboot b/system/s6/s6-svscanboot index 2b41d2916..447a1a01b 100644 --- a/system/s6/s6-svscanboot +++ b/system/s6/s6-svscanboot @@ -1,21 +1,53 @@ -#!/bin/execlineb -S1 +#!/bin/execlineb -P -foreground { redirfd -w 2 /dev/null mkdir -p /run/uncaught-logs } +# Basic sanity. + +export PATH /usr/bin:/usr/sbin:/bin:/sbin +umask 022 + + +# The live service directories are in /run/services +# The scandir is /run/service, containing only the catch-all logger and symlinks +# (and the s6-svscan configuration in /run/service/.s6-svscan) + +if { rm -rf /run/service /run/services } +if { mkdir -p -m 0755 /run/service/.s6-svscan /run/service/s6-svscan-log } +if { ln -sf /bin/false /run/service/.s6-svscan/crash } +if +{ + redirfd -w 1 /run/service/.s6-svscan/finish + heredoc 0 "#!/bin/execlineb -P\ns6-svc -X -- \"/run/service/s6-svscan-log\"\n" + cat +} +if { chmod 0755 /run/service/.s6-svscan/finish } + + +# Directory for the catch-all logger to store its logs + +if { mkdir -p -m 2700 /run/uncaught-logs } if { chown catchlog:catchlog /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 } + + +# Copy all the early services and link them into the scandir + +if { /bin/cp -a /etc/s6/early-services /run/services } if { - redirfd -w 1 ${1}/.s6-svscan/finish - heredoc 0 "#!/bin/execlineb -P\ns6-svc -X -- \"${1}/s6-svscan-log\"\n" - cat + forbacktickx -pnd"\n" i { ls -1 -U /run/services } + importas -u i i + ln -nsf ../services/$i /run/service/$i } -if { chmod 0755 ${1}/.s6-svscan/finish } -foreground { redirfd -w 2 /dev/null mkfifo -m 0600 ${1}/s6-svscan-log/fifo } + + +# Create the catch-all logger servicedir directly in the scandir +# (It's too fundamental to be made configurable as an early service.) + +if { rm -f /run/service/s6-svscan-log/fifo } +if { mkfifo -m 0600 /run/service/s6-svscan-log/fifo } if { - redirfd -w 1 ${1}/s6-svscan-log/run + redirfd -w 1 /run/service/s6-svscan-log/run heredoc 0 "#!/bin/execlineb -P redirfd -w 2 /dev/console redirfd -rnb 0 fifo @@ -24,9 +56,13 @@ exec -c s6-log t /run/uncaught-logs\n" cat } -if { chmod 0755 ${1}/s6-svscan-log/run } +if { chmod 0755 /run/service/s6-svscan-log/run } + + +# All ready, exec into s6-svscan. +# By default all messages from all services will go to the catch-all logger it spawns. redirfd -r 0 /dev/null -redirfd -wnb 1 ${1}/s6-svscan-log/fifo +redirfd -wnb 1 /run/service/s6-svscan-log/fifo fdmove -c 2 1 -s6-svscan -St0 ${1} +s6-svscan -St0 /run/service diff --git a/system/s6/s6.initd b/system/s6/s6.initd deleted file mode 100644 index 9f984cc13..000000000 --- a/system/s6/s6.initd +++ /dev/null @@ -1,15 +0,0 @@ -#!/sbin/openrc-run -# Copyright 2016 Laurent Bercot -# Distributed under the terms of the ISC License. -# -# We currently start the supervision tree under OpenRC because -# it's easy integration. It's not perfect: the supervision tree -# should ideally be rooted in process 1, and here it's not. -# But it's only temporary: in a later Alpine release, s6-svscan -# will *be* process 1. - -name="s6" -command="/lib/s6/s6-svscanboot" -command_args="/run/service" -pidfile="/run/s6.pid" -start_stop_daemon_args="-b -m -k 022" diff --git a/system/s6/s6.post-upgrade b/system/s6/s6.post-upgrade new file mode 100644 index 000000000..54144895b --- /dev/null +++ b/system/s6/s6.post-upgrade @@ -0,0 +1,3 @@ +#!/bin/sh -e + +rm -f /etc/runlevels/default/s6 diff --git a/system/s6/s6.pre-install b/system/s6/s6.pre-install index 19804af6d..2c175a325 100644 --- a/system/s6/s6.pre-install +++ b/system/s6/s6.pre-install @@ -2,5 +2,5 @@ addgroup -S catchlog 2>/dev/null adduser -S -D -H -s /bin/false -G catchlog -g catchlog catchlog 2>/dev/null -echo 'Run "rc-update add s6 default" to automatically start a s6 supervision tree on /run/service at boot time.' 1>&2 + exit 0 diff --git a/system/s6/s6.pre-upgrade b/system/s6/s6.pre-upgrade index 19804af6d..2c175a325 100644 --- a/system/s6/s6.pre-upgrade +++ b/system/s6/s6.pre-upgrade @@ -2,5 +2,5 @@ addgroup -S catchlog 2>/dev/null adduser -S -D -H -s /bin/false -G catchlog -g catchlog catchlog 2>/dev/null -echo 'Run "rc-update add s6 default" to automatically start a s6 supervision tree on /run/service at boot time.' 1>&2 + exit 0 diff --git a/system/skalibs/APKBUILD b/system/skalibs/APKBUILD index d5039997c..2bf84e868 100644 --- a/system/skalibs/APKBUILD +++ b/system/skalibs/APKBUILD @@ -1,15 +1,15 @@ -# Contributor: John Regan <john@jrjrtech.com> -# Maintainer: Laurent Bercot <ska-devel@skarnet.org> +# Contributor: Laurent Bercot <ska-adelie@skarnet.org> +# Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=skalibs -pkgver=2.6.4.0 -pkgrel=0 +pkgver=2.7.0.0 +pkgrel=1 pkgdesc="A set of general-purpose C programming libraries for skarnet.org software" url="http://skarnet.org/software/skalibs/" arch="all" options="!check" # No test suite. license="ISC" subpackages="$pkgname-dev $pkgname-doc" -source="http://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz" +source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz" build() { cd "$builddir" @@ -39,4 +39,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="19062853bd9df0dadeceaab96aca9d2a68d93aada7552d306902d1b13c55d421bbff7fd37dccaf1a81d66bbecf43ed2242961fdb7bd51ff22e9b6114c1b2bb77 skalibs-2.6.4.0.tar.gz" +sha512sums="33624b606a0846478e6fde10057633b43e76bda299d067cff269582c252f05108ebf28c539865c7f24b67e99575328fc7789326dfbb2e81bf209aa51445f04a1 skalibs-2.7.0.0.tar.gz" diff --git a/system/sysvinit/APKBUILD b/system/sysvinit/APKBUILD index 184b330cf..7b0b0cee5 100644 --- a/system/sysvinit/APKBUILD +++ b/system/sysvinit/APKBUILD @@ -2,12 +2,12 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=sysvinit pkgver=2.88 -pkgrel=4 +pkgrel=5 pkgdesc="System V-style init programs" url="https://savannah.nongnu.org/projects/sysvinit" arch="all" license="GPL-2.0+" -depends="" +depends="s6" makedepends="linux-headers utmps-dev" install="sysvinit.post-upgrade" options="!check" @@ -57,6 +57,6 @@ package() { } sha512sums="0bd8eeb124e84fdfa8e621b05f796804ee69a9076b65f5115826bfa814ac1d5d28d31a5c22ebe77c86a93b2288edf4891adc0afaecc4de656c4ecda8a83807bf sysvinit-2.88dsf.tar.bz2 -3866d377873b44fb7675b9f05e28190b99b7fedddd9463a0bf41de6ff7cad90e0a4273a9908b1f5c77abea85aa867e2f20ce4d466ce97607863cd9b122f8e9b0 inittab-2.88 +52d301225bf0cb0c4d124d205cf3a1e1f4eca21a69179da4882359f79606562354fddf887da8203129bede1d073efa9cdd8fe84a327b51229248b22240b9d5dd inittab-2.88 27dfe089660a291cbcba06d8564bad11f7fd7c96629e72c2b005562689dc7d8bb479c760e980590906e98423b991ae0acd048713d3bc372174d55ed894abeb3f sysvinit-2.88-posix-header.patch 3605f88ac3faf7d12bf2269ca5d8625850d53e8583b573ab280fa17066c8e4e5217a0d17b94e47ea67a153ad3b88b433471a77544bd085f01f7d9d353ac16aae utmpx.patch" diff --git a/system/sysvinit/inittab-2.88 b/system/sysvinit/inittab-2.88 index 1f0b5eb98..e96205a06 100644 --- a/system/sysvinit/inittab-2.88 +++ b/system/sysvinit/inittab-2.88 @@ -10,6 +10,7 @@ # Modified by: Robin H. Johnson, <robbat2@gentoo.org> # Modified by: William Hubbs, <williamh@gentoo.org> # Modified by: A. Wilcox, <awilfox@adelielinux.org> +# Modified by: Laurent Bercot, <ska-adelie@skarnet.org> # # Default runlevel. @@ -36,18 +37,8 @@ l6r:6:wait:/sbin/reboot -fin su0:S:wait:/sbin/openrc single su1:S:wait:/sbin/sulogin -# TERMINALS -#x1:12345:respawn:/sbin/agetty 38400 console linux -c1:12345:respawn:/sbin/agetty 38400 tty1 linux -c2:2345:respawn:/sbin/agetty 38400 tty2 linux -c3:2345:respawn:/sbin/agetty 38400 tty3 linux -c4:2345:respawn:/sbin/agetty 38400 tty4 linux -c5:2345:respawn:/sbin/agetty 38400 tty5 linux -c6:2345:respawn:/sbin/agetty 38400 tty6 linux - -# SERIAL CONSOLES -#s0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt100 -#s1:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100 +# We now delegate all "respawn" services, including terminals, to s6. +s6:12345:respawn:/lib/s6/s6-svscanboot # What to do at the "Three Finger Salute". ca:12345:ctrlaltdel:/sbin/shutdown -r now diff --git a/system/utmps/APKBUILD b/system/utmps/APKBUILD index 01ac5356e..2306b8be3 100644 --- a/system/utmps/APKBUILD +++ b/system/utmps/APKBUILD @@ -1,8 +1,8 @@ -# Contributor: Laurent Bercot <ska-devel@skarnet.org> -# Maintainer: Laurent Bercot <ska-devel@skarnet.org> +# Contributor: Laurent Bercot <ska-adelie@skarnet.org> +# Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=utmps -pkgver=0.0.1.2 -pkgrel=0 +pkgver=0.0.1.3 +pkgrel=2 pkgdesc="A secure utmp/wtmp implementation" url="https://skarnet.org/software/$pkgname/" arch="all" @@ -10,11 +10,10 @@ options="!check" # No test suite license="ISC" depends="execline s6" depends_dev="skalibs-dev" -makedepends="skalibs-dev" -subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc" -install="$pkgname.pre-install $pkgname.pre-upgrade" +makedepends="skalibs-dev>=2.7" +subpackages="$pkgname-dev $pkgname-doc" +install="$pkgname.post-upgrade" source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz - $pkgname.initd utmpd.run wtmpd.run" @@ -33,18 +32,12 @@ build() { package() { cd "$builddir" make DESTDIR="$pkgdir" install - mkdir -p "$pkgdir/etc/init.d" "$pkgdir/var/lib/$pkgname/services/utmpd" "$pkgdir/var/lib/$pkgname/services/wtmpd" - cp -f "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname" - cp -f "$srcdir/utmpd.run" "$pkgdir/var/lib/$pkgname/services/utmpd/run" - echo 3 > "$pkgdir/var/lib/$pkgname/services/utmpd/notification-fd" - s6-mkfifodir -g0 -- "$pkgdir/var/lib/$pkgname/services/utmpd/event" - cp -f "$srcdir/wtmpd.run" "$pkgdir/var/lib/$pkgname/services/wtmpd/run" - echo 3 > "$pkgdir/var/lib/$pkgname/services/wtmpd/notification-fd" - s6-mkfifodir -g 0 -- "$pkgdir/var/lib/$pkgname/services/wtmpd/event" - chmod 0755 "$pkgdir/etc/init.d/$pkgname" "$pkgdir/var/lib/$pkgname/services/utmpd/run" "$pkgdir/var/lib/$pkgname/services/wtmpd/run" - mkdir -m 0700 "$pkgdir/var/lib/$pkgname/services/utmpd/supervise" "$pkgdir/var/lib/$pkgname/services/wtmpd/supervise" - dd if=/dev/zero of="$pkgdir/var/lib/$pkgname/services/utmpd/supervise/status" bs=35 count=1 - dd if=/dev/zero of="$pkgdir/var/lib/$pkgname/services/wtmpd/supervise/status" bs=35 count=1 + mkdir -p -m 0755 "$pkgdir/etc/s6/early-services/utmpd" "$pkgdir/etc/s6/early-services/wtmpd" + cp -f "$srcdir/utmpd.run" "$pkgdir/etc/s6/early-services/utmpd/run" + echo 3 > "$pkgdir/etc/s6/early-services/utmpd/notification-fd" + cp -f "$srcdir/wtmpd.run" "$pkgdir/etc/s6/early-services/wtmpd/run" + echo 3 > "$pkgdir/etc/s6/early-services/wtmpd/notification-fd" + chmod 0755 "$pkgdir/etc/s6/early-services/utmpd/run" "$pkgdir/etc/s6/early-services/wtmpd/run" } doc() { @@ -53,7 +46,6 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="663e9479ad9b684068769c7b2b8c9ac3a4ca46a945a86d909f43d9c19712099ea913b3a87cda5b56b72ec891dbecc2c61b518f985418c45d81d72a5afb366db8 utmps-0.0.1.2.tar.gz -437d0c52ef1ecd23775990225647c2a6ca53691fb5688ffa866a0e6db177a08fe465f2e683e8b98ba668d8ddcd4ffa0fe3939f23ded276f4ca7acaa2553b10e6 utmps.initd -0ec30284c64c6ea9f25142c5f4a643bd48b137fe85781b650104f5137ffa4dfc35ca7be3e41e3acd3403ebe1d8c5378073afa4e2f3607d3d794fcd9f98ed51c4 utmpd.run -cba4f2ec3b8f5becf3ae57eecf584745d783046ee6cf5d116322421ad5ffd074d2955da22d31d2b5b1d05f906378aae92f221d2ac95ac21b54a361fbdc0566e7 wtmpd.run" +sha512sums="ec6135e56858f4bb81ca8c5015e605bc1ecc809ef10565207335a86ccee250683fde7c1df999649b6055ef2df900a70cd3d2f9f1066e066c6871a0cfe2785824 utmps-0.0.1.3.tar.gz +525d43e3eced30c564e5390fc715b6caa1ae2b6515a9e3bf01263ff3fb9379bd6908ed302d0d50b6568ac36ed44d272dcc44a683f9ae34d586d8ad17023ed6b1 utmpd.run +93e4fae527ada9381e0b0a7ad5de9079e8d88959abd74fa5c0710c30c6153832abb010b57ddf83055ca34c032e7e5c9c1eedceb2f122a11ab20837ab66dcf5e2 wtmpd.run" diff --git a/system/utmps/utmpd.run b/system/utmps/utmpd.run index 47bc824a2..5d66c183c 100644 --- a/system/utmps/utmpd.run +++ b/system/utmps/utmpd.run @@ -1,6 +1,8 @@ #!/bin/execlineb -P fdmove -c 2 1 +if { mkdir -p -m 0755 /run/utmps } +if { chown utmp:utmp /run/utmps } s6-setuidgid utmp cd /run/utmps fdmove 1 3 diff --git a/system/utmps/utmps.initd b/system/utmps/utmps.initd deleted file mode 100644 index db4570031..000000000 --- a/system/utmps/utmps.initd +++ /dev/null @@ -1,32 +0,0 @@ -#!/sbin/openrc-run -# Copyright 2018 Laurent Bercot -# Distributed under the terms of the ISC License. -# -# OpenRC is only used here to trigger the s6 mechanisms. - -depend() { - need s6 -} - -start() { - ebegin "Starting utmpd and wtmpd services" - mkdir -p -m 0755 /run/utmps - chown utmp:utmp /run/utmps - - # OpenRC has no readiness notification framework, so it can run this before s6 is ready. - # To avoid the race (yes, I have hit it), do a polling check here. - # If you want to avoid unnecessary delays, switch to a real service manager like s6-rc. - until test -e /run/service/.s6-svscan/control ; do sleep 1 ; done - - ln -nsf /var/lib/utmps/services/utmpd /run/service/utmpd - ln -nsf /var/lib/utmps/services/wtmpd /run/service/wtmpd - s6-svlisten -U -t 5000 -- /var/lib/utmps/services/utmpd /var/lib/utmps/services/wtmpd "" s6-svscanctl -an /run/service - eend $? -} - -stop() { - ebegin "Stopping utmpd and wtmpd services" - rm -f /run/service/utmpd /run/service/wtmpd - s6-svlisten -d -t 5000 -- /var/lib/utmps/services/utmpd /var/lib/utmps/services/wtmpd "" s6-svscanctl -an /run/service - eend $? -} diff --git a/system/utmps/utmps.post-upgrade b/system/utmps/utmps.post-upgrade new file mode 100644 index 000000000..aab5eb125 --- /dev/null +++ b/system/utmps/utmps.post-upgrade @@ -0,0 +1,3 @@ +#!/bin/sh -e + +rm -f /etc/runlevels/default/utmps diff --git a/system/utmps/utmps.pre-install b/system/utmps/utmps.pre-install deleted file mode 100644 index 6db960686..000000000 --- a/system/utmps/utmps.pre-install +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -addgroup -S utmp 2>/dev/null -adduser -S -D -H -s /bin/false -G utmp -g utmp utmp 2>/dev/null -echo 'Run "rc-update add s6 default; rc-update add utmps default" to automatically start the utmpd and wtmpd services at boot time.' 1>&2 -exit 0 diff --git a/system/utmps/utmps.pre-upgrade b/system/utmps/utmps.pre-upgrade deleted file mode 100644 index 6db960686..000000000 --- a/system/utmps/utmps.pre-upgrade +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -addgroup -S utmp 2>/dev/null -adduser -S -D -H -s /bin/false -G utmp -g utmp utmp 2>/dev/null -echo 'Run "rc-update add s6 default; rc-update add utmps default" to automatically start the utmpd and wtmpd services at boot time.' 1>&2 -exit 0 diff --git a/system/utmps/wtmpd.run b/system/utmps/wtmpd.run index ab5a40641..fa78806c9 100644 --- a/system/utmps/wtmpd.run +++ b/system/utmps/wtmpd.run @@ -1,6 +1,8 @@ #!/bin/execlineb -P fdmove -c 2 1 +if { mkdir -p -m 0755 /run/utmps } +if { chown utmp:utmp /run/utmps } s6-setuidgid utmp cd /run/utmps fdmove 1 3 |