summaryrefslogtreecommitdiff
path: root/system/s6-linux-init
diff options
context:
space:
mode:
Diffstat (limited to 'system/s6-linux-init')
-rw-r--r--system/s6-linux-init/APKBUILD95
-rwxr-xr-xsystem/s6-linux-init/dracut_module.sh17
-rw-r--r--system/s6-linux-init/earlygetty.run31
3 files changed, 89 insertions, 54 deletions
diff --git a/system/s6-linux-init/APKBUILD b/system/s6-linux-init/APKBUILD
index 7dff13d2e..a5ad313c1 100644
--- a/system/s6-linux-init/APKBUILD
+++ b/system/s6-linux-init/APKBUILD
@@ -1,38 +1,48 @@
-# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-linux-init
-pkgver=1.0.3.0
+pkgver=1.1.3.0
pkgrel=0
pkgdesc="A s6-based init system"
-url="https://skarnet.org/software/$pkgname/"
+url="https://skarnet.org/software/s6-linux-init/"
arch="all"
options="!check" # No test suite.
license="ISC"
-_skalibs_version=2.9.0.0
-depends="execline s6 s6-linux-init-common"
-makedepends="skalibs-dev>=$_skalibs_version execline-dev s6-dev utmps-dev"
-subpackages="$pkgname-common:common:noarch $pkgname-early-getty:earlygetty:noarch $pkgname-libs $pkgname-dev $pkgname-libs-dev:libsdev $pkgname-doc"
-source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz rc.init runlevel rc.shutdown reboot.sh"
+_skalibs_version=2.14.4
+_utmps_version=0.1.3
+_execline_version=2.9.7
+_s6_version=2.13.2
+depends="execline s6>=$_s6_version s6-linux-init-common"
+depends_dev="skalibs-dev>=$_skalibs_version"
+makedepends="$depends_dev execline-dev>=$_execline_version s6-dev>=$_s6_version utmps-dev>=$_utmps_version"
+subpackages="
+ $pkgname-common:common:noarch
+ $pkgname-early-getty:earlygetty:noarch
+ $pkgname-dracut:dracut:noarch
+ $pkgname-libs
+ $pkgname-dev
+ $pkgname-doc"
+source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz
+ rc.init
+ runlevel
+ rc.shutdown
+ reboot.sh
+ earlygetty.run
+ dracut_module.sh"
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
provides="/sbin/init=0"
-_earlytty=tty2
build() {
- cd "$builddir"
./configure \
--enable-shared \
- --enable-static \
- --enable-allstatic \
+ --with-pkgconfig \
+ --enable-pkgconfig \
--enable-static-libc \
- --libdir=/usr/lib \
--libexecdir="/lib/$pkgname" \
- --with-dynlib=/lib \
--enable-utmps
make
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
for i in rc.init runlevel rc.shutdown ; do
@@ -46,19 +56,19 @@ package() {
./s6-linux-init-maker \
-u catchlog \
- -G "/sbin/agetty -- 38400 $_earlytty linux" \
+ -G "sleep 86400" \
-1 \
-L \
-p "/usr/bin:/usr/sbin:/bin:/sbin" \
-m 022 \
-s /run/kernel_env \
-f "$pkgdir/etc/s6-linux-init/skel" \
- -U "" \
- "$pkgdir/etc/s6-linux-init/current"
- mkdir -p -m 0755 "$pkgdir/sbin" "$pkgdir/etc/runlevels/empty"
+ -- "$pkgdir/etc/s6-linux-init/current"
+ mkdir -p -m 0755 "$pkgdir/sbin" "$pkgdir/etc/runlevels/empty" "$pkgdir/usr/share/doc"
for i in init halt poweroff reboot shutdown telinit ; do
ln -sf "../etc/s6-linux-init/current/bin/$i" "$pkgdir/sbin/$i"
done
+ cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname"
}
@@ -78,49 +88,26 @@ common() {
earlygetty() {
- pkgdesc="Files for an early getty on $_earlytty"
+ pkgdesc="Files for a configurable early getty"
depends="s6-linux-init-common"
svcimg="$pkgdir/etc/s6-linux-init/current/run-image/service"
subsvcimg="$subpkgdir/etc/s6-linux-init/current/run-image/service"
mkdir -p -m 0755 "$subsvcimg"
- mv "$svcimg/s6-linux-init-early-getty" "$subsvcimg/getty-$_earlytty"
+ mv "$svcimg/s6-linux-init-early-getty" "$subsvcimg/"
+ cp -f "$srcdir/earlygetty.run" "$subsvcimg/s6-linux-init-early-getty/run"
+ chmod 0755 "$subsvcimg/s6-linux-init-early-getty/run"
}
-
-libs() {
- pkgdesc="$pkgdesc (shared libraries)"
- depends="skalibs-libs>=$_skalibs_version"
- mkdir -p "$subpkgdir/lib"
- mv "$pkgdir"/lib/*.so.* "$subpkgdir/lib/"
-}
-
-
-dev() {
- pkgdesc="$pkgdesc (development files)"
- depends="skalibs-dev>=$_skalibs_version"
- mkdir -p "$subpkgdir/usr"
- mv "$pkgdir/usr/lib" "$pkgdir/usr/include" "$subpkgdir/usr/"
-}
-
-
-libsdev() {
- pkgdesc="$pkgdesc (development files for dynamic linking)"
- depends="$pkgname-dev"
- mkdir -p "$subpkgdir/lib"
- mv "$pkgdir"/lib/*.so "$subpkgdir/lib/"
-}
-
-
-doc() {
- pkgdesc="$pkgdesc (documentation)"
- depends=
- install_if="docs $pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir/usr/share/doc"
- cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
+dracut() {
+ pkgdesc="$pkgdesc (Dracut module)"
+ install_if="$pkgname=$pkgver-r$pkgrel dracut"
+ install -D -m755 "$srcdir"/dracut_module.sh "$subpkgdir"/usr/lib/dracut/modules.d/99s6li/module-setup.sh
}
-sha512sums="defcf58a21dc763b899212f66879ecece350d7248ea77974fda7b4679035143172bb31b456ea1bd43284a1a85a39ef246dfd9fa7e2f2bcb549a7daac2d4f24ae s6-linux-init-1.0.3.0.tar.gz
+sha512sums="671f0532f708f570b307510d76eefabfecf0fb989491b2bb02dfccc1043ed80761367c2f7a56821aa44d159b57b4c1eca739b50362ec56f2be3b498df6f9a34a s6-linux-init-1.1.3.0.tar.gz
756b0cbbe5dabb4631380c3c7ea199cc213224b2e36e50a2d012a61948170078b78bf49b85d886319fecf59843087f937d3d804723b2553ac9f94d088a2f0fd8 rc.init
e73c3c32b118831074288d23fadace2158a2b15d5a13ffa73290b92a9e39c2a21c73d3b0eabea29bcbaa5f6381611fd8d0aaa6aa691ec7de91b8ef6ae404b6da runlevel
7bb050248a5c2ab6a56c50c35f87cde724f97ff9882f5e60b0f0f2f14bd93c1df7d99fedc3d81c8519cf1a1ed90e03f1cbb9bf891c7b3618aa9a5f5738d262f4 rc.shutdown
-6fb2a1112988fd2322b4bc4862bfb948a1c2e43921c5d01ae873c0d31b39fe74fc2934a5018c08b1704a2b2199b31d3a3d7365be369bba734f153b74e000aa74 reboot.sh"
+6fb2a1112988fd2322b4bc4862bfb948a1c2e43921c5d01ae873c0d31b39fe74fc2934a5018c08b1704a2b2199b31d3a3d7365be369bba734f153b74e000aa74 reboot.sh
+dfff483b61370ce2c8fe653cb4e9b6ec7ef678f26b128eab8e677548a48b668b532b12a2e4618c85bf95777a666ac30189780708803d6ea12e43ab0072399212 earlygetty.run
+a62cf543e64aaf24f16c0e3d23497890de7a4a621c9d8f93c447001ea56a21324046ee589188d11b3d4dbfea4a707b5a1889d2b703c00ea6a81207a0442f9799 dracut_module.sh"
diff --git a/system/s6-linux-init/dracut_module.sh b/system/s6-linux-init/dracut_module.sh
new file mode 100755
index 000000000..106025ca7
--- /dev/null
+++ b/system/s6-linux-init/dracut_module.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# called by dracut
+check() {
+ return 0
+}
+
+# called by dracut
+depends() {
+ return 0
+}
+
+# called by dracut
+install() {
+ inst /bin/s6-linux-init-hpr
+}
+
diff --git a/system/s6-linux-init/earlygetty.run b/system/s6-linux-init/earlygetty.run
new file mode 100644
index 000000000..072fdd7d2
--- /dev/null
+++ b/system/s6-linux-init/earlygetty.run
@@ -0,0 +1,31 @@
+#!/bin/sh -e
+
+tty=tty2
+baud=
+options='-L'
+
+if line=`head -n 1 /run/kernel_env/earlygetty 2>/dev/null` ; then
+ tty="${line%%,*}"
+ bpnf="${line##*,}"
+ nf=
+ f=
+ clean=false
+ case "$bpnf" in
+ *n*) baud=${bpnf%%n*} ; nf="${bpnf##*n}" ; clean=true ;;
+ *o*) baud=${bpnf%%o*} ; nf="${bpnf##*o}" ;;
+ *e*) baud=${bpnf%%e*} ; nf="${bpnf##*e}" ;;
+ [[:digit:]]*) baud=$bpnf
+ esac
+ case "$nf" in
+ 7*) clean=false ; f="${nf#7}" ;;
+ [[:digit:]]*) clean=true ; f="${nf#?}"
+ esac
+ if $clean ; then
+ options="$options -8"
+ fi
+ if test "$f" = 'r' ; then
+ options="$options -h"
+ fi
+fi
+
+exec /sbin/agetty $options -- "$tty" $baud