summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/easy-kernel-power8/APKBUILD2
-rw-r--r--system/easy-kernel-power8/config-ppc642
-rw-r--r--system/easy-kernel/APKBUILD26
-rw-r--r--system/easy-kernel/config-ppc642
-rw-r--r--system/easy-kernel/config-sparc642
-rw-r--r--system/easy-kernel/revert-broken-uapi.patch (renamed from system/linux-headers/revert-broken-uapi.patch)0
-rw-r--r--system/execline/APKBUILD15
-rw-r--r--system/linux-headers/APKBUILD54
-rw-r--r--system/ncurses/APKBUILD5
-rw-r--r--system/s6/APKBUILD40
-rw-r--r--system/s6/agetty-run2
-rw-r--r--system/s6/s6-svscanboot62
-rw-r--r--system/s6/s6.initd15
-rw-r--r--system/s6/s6.post-upgrade3
-rw-r--r--system/s6/s6.pre-install2
-rw-r--r--system/s6/s6.pre-upgrade2
-rw-r--r--system/skalibs/APKBUILD12
-rw-r--r--system/sysvinit/APKBUILD6
-rw-r--r--system/sysvinit/inittab-2.8815
-rw-r--r--system/utmps/APKBUILD40
-rw-r--r--system/utmps/utmpd.run2
-rw-r--r--system/utmps/utmps.initd32
-rw-r--r--system/utmps/utmps.post-upgrade3
-rw-r--r--system/utmps/utmps.pre-install6
-rw-r--r--system/utmps/utmps.pre-upgrade6
-rw-r--r--system/utmps/wtmpd.run2
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