blob: 9217a7d0334917a26555079b5cb7b03b8295fc62 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-linux-init
pkgver=1.0.2.1
pkgrel=0
pkgdesc="A s6-based init system"
url="https://skarnet.org/software/$pkgname/"
arch="all"
options="!check" # No test suite.
license="ISC"
_skalibs_version=2.8.1.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"
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 \
--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
cp -f "$srcdir/$i" "$pkgdir/etc/s6-linux-init/skel/"
chmod 0755 "$pkgdir/etc/s6-linux-init/skel/$i"
done
# static binaries don't work under fakeroot, so build a dynamic one just for us
touch src/init/s6-linux-init-maker.o
make s6-linux-init-maker LDFLAGS_NOSHARED=""
./s6-linux-init-maker \
-u catchlog \
-G "/sbin/agetty -- 38400 $_earlytty linux" \
-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/sysctl.d"
echo 'kernel.ctrl-alt-del = 0' > "$pkgdir/etc/sysctl.d/ctrlaltdel.conf"
for i in init halt poweroff reboot shutdown telinit ; do
ln -sf "../etc/s6-linux-init/current/bin/$i" "$pkgdir/sbin/$i"
done
}
common() {
pkgdesc="Files for an s6 supervision tree, common to s6-linux-init and sysvinit"
depends="execline s6"
runimg="$pkgdir/etc/s6-linux-init/current/run-image"
subrunimg="$subpkgdir/etc/s6-linux-init/current/run-image"
install="$subpkgname.post-upgrade $subpkgname.pre-deinstall"
mkdir -p -m 0755 "$subrunimg/service/.s6-svscan" "$subrunimg/service/s6-svscan-log" "$subpkgdir/usr/share/s6-linux-init-common"
mv "$runimg/uncaught-logs" "$subrunimg/"
mv "$runimg/service/s6-svscan-log" "$subrunimg/service/"
mkdir -m 0755 "$runimg/service/s6-svscan-log"
mv "$subrunimg/service/s6-svscan-log/run" "$runimg/service/s6-svscan-log/"
cp -f "$srcdir/reboot.sh" "$subpkgdir/usr/share/s6-linux-init-common/"
}
earlygetty() {
pkgdesc="Files for an early getty on $_earlytty"
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"
}
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"
}
sha512sums="65ffd4c7a1457c6ad7397ccf7c4ee92dd04e546e21acf75bbfd49ace5b93eb22bac673185061ad9389449d324b6164577715258ab292825da8973140bc548d92 s6-linux-init-1.0.2.1.tar.gz
756b0cbbe5dabb4631380c3c7ea199cc213224b2e36e50a2d012a61948170078b78bf49b85d886319fecf59843087f937d3d804723b2553ac9f94d088a2f0fd8 rc.init
e73c3c32b118831074288d23fadace2158a2b15d5a13ffa73290b92a9e39c2a21c73d3b0eabea29bcbaa5f6381611fd8d0aaa6aa691ec7de91b8ef6ae404b6da runlevel
7bb050248a5c2ab6a56c50c35f87cde724f97ff9882f5e60b0f0f2f14bd93c1df7d99fedc3d81c8519cf1a1ed90e03f1cbb9bf891c7b3618aa9a5f5738d262f4 rc.shutdown
de702d3a221993cd3192dae4544842402dfbe362bcc4105f3071df15eb0aa6c218bf401bbf221298ee063f6545fe909fd54abf1d1e9222e13bcdc9a29f9a2b19 reboot.sh"
|