summaryrefslogtreecommitdiff
path: root/system/utmps
diff options
context:
space:
mode:
Diffstat (limited to 'system/utmps')
-rw-r--r--system/utmps/APKBUILD88
-rw-r--r--system/utmps/btmpd.run8
-rw-r--r--system/utmps/utmps.initd30
-rw-r--r--system/utmps/wtmpd.run6
4 files changed, 78 insertions, 54 deletions
diff --git a/system/utmps/APKBUILD b/system/utmps/APKBUILD
index 52ed77de6..75c22fb25 100644
--- a/system/utmps/APKBUILD
+++ b/system/utmps/APKBUILD
@@ -1,81 +1,67 @@
-# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=utmps
-pkgver=0.0.3.0
+pkgver=0.1.3.0
pkgrel=0
pkgdesc="A secure utmp/wtmp implementation"
-url="https://skarnet.org/software/$pkgname/"
+url="https://skarnet.org/software/utmps/"
arch="all"
options="!check" # No test suite
license="ISC"
depends="execline s6"
-_skalibs_version=2.9.0.0
+_skalibs_version=2.14.4
+depends_dev="skalibs-dev>=$_skalibs_version"
makedepends="skalibs-dev>=$_skalibs_version"
-subpackages="$pkgname-libs $pkgname-dev $pkgname-libs-dev:libsdev $pkgname-doc"
+subpackages="$pkgname-dev $pkgname-libs $pkgname-doc $pkgname-openrc"
install="$pkgname.post-upgrade"
source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz
utmpd.run
- wtmpd.run"
+ wtmpd.run
+ btmpd.run
+ utmps.initd"
build() {
- cd "$builddir"
./configure \
--enable-shared \
- --enable-static \
- --enable-allstatic \
--enable-static-libc \
- --libdir=/usr/lib \
--libexecdir="/lib/$pkgname" \
- --with-dynlib=/lib
+ --with-pkgconfig \
+ --enable-pkgconfig \
+ --enable-libc-includes
make
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
runimage="$pkgdir/etc/s6-linux-init/current/run-image"
- mkdir -p -m 0755 "$runimage/utmps" "$runimage/service/utmpd" "$runimage/service/wtmpd"
+ mkdir -p -m 0755 "$runimage/utmps" "$pkgdir/usr/share/doc"
chown utmp:utmp "$runimage/utmps"
- cp -f "$srcdir/utmpd.run" "$runimage/service/utmpd/run"
- echo 3 > "$runimage/service/utmpd/notification-fd"
- cp -f "$srcdir/wtmpd.run" "$runimage/service/wtmpd/run"
- echo 3 > "$runimage/service/wtmpd/notification-fd"
- chmod 0755 "$runimage/service/utmpd/run" "$runimage/service/wtmpd/run"
+ install -D -m 0755 "$srcdir/utmps.initd" "$pkgdir/etc/init.d/utmps"
+ cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname"
}
-
-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"
+openrc() {
+ rldir="$subpkgdir"/etc/runlevels/boot
+ subrunimage="$subpkgdir/etc/s6-linux-init/current/run-image"
+ default_openrc
+ mkdir -p -m 0755 "$rldir" "$subpkgdir/var/log/wtmpd" "$subrunimage/service/utmpd" "$subrunimage/service/wtmpd" "$subrunimage/service/btmpd"
+ cp -f "$srcdir/utmpd.run" "$subrunimage/service/utmpd/run"
+ echo 3 > "$subrunimage/service/utmpd/notification-fd"
+ touch "$subrunimage/service/utmpd/down"
+ cp -f "$srcdir/wtmpd.run" "$subrunimage/service/wtmpd/run"
+ echo 3 > "$subrunimage/service/wtmpd/notification-fd"
+ touch "$subrunimage/service/wtmpd/down"
+ cp -f "$srcdir/btmpd.run" "$subrunimage/service/btmpd/run"
+ echo 3 > "$subrunimage/service/btmpd/notification-fd"
+ touch "$subrunimage/service/btmpd/down"
+ chmod 0755 "$subrunimage/service/utmpd/run" "$subrunimage/service/wtmpd/run" "$subrunimage/service/btmpd/run"
+ chown utmp:utmp "$subpkgdir/var/log/wtmpd"
+ ln -s wtmpd/wtmp "$subpkgdir/var/log/wtmp"
+ ln -s wtmpd/btmp "$subpkgdir/var/log/btmp"
+ ln -s ../../init.d/utmps "$rldir/utmps"
}
-sha512sums="2bfd88f2f965a82c50e9e1ef420e578085f888dadbd5a3af2549048d243c524b46a678ae527fa696d9757ddd81d8917b706f87951ee41e41d8969355cdc4b21a utmps-0.0.3.0.tar.gz
+sha512sums="307010371d8c7d9e56e1823c599d84f44719e6050ccf30799f08d7a6c071ca2fbc46ef236d5e2422dc1b96f8a7582ae735635302c28becd6aac3263302c385d9 utmps-0.1.3.0.tar.gz
0ec30284c64c6ea9f25142c5f4a643bd48b137fe85781b650104f5137ffa4dfc35ca7be3e41e3acd3403ebe1d8c5378073afa4e2f3607d3d794fcd9f98ed51c4 utmpd.run
-cba4f2ec3b8f5becf3ae57eecf584745d783046ee6cf5d116322421ad5ffd074d2955da22d31d2b5b1d05f906378aae92f221d2ac95ac21b54a361fbdc0566e7 wtmpd.run"
+9e875a5cd37be531320a8e582afed2c980dd0a1bdfc2f6f3d826d5e5389fc6ab93f973ed1506edb23f4c73cf24a2357aefe856148eaacff86c2aafe376c575e2 wtmpd.run
+503bdbb3d244243934b9b4e3deea0bf92a95f88417c822ad9cf6202584d4724d5e182a0d88d7f09069e435a8a97230b85d2b264736c85c893da193fd5ec34c71 btmpd.run
+89fb24ab5759b3a1162044895efbe01c7a17d505a29df0cd7141654783b7ada8e934a1ce5981218af41812cfb517263bbd608948102af40b7a41a843b7aaf6ca utmps.initd"
diff --git a/system/utmps/btmpd.run b/system/utmps/btmpd.run
new file mode 100644
index 000000000..56a5de77e
--- /dev/null
+++ b/system/utmps/btmpd.run
@@ -0,0 +1,8 @@
+#!/bin/execlineb -P
+
+fdmove -c 2 1
+s6-setuidgid utmp
+cd /var/log/wtmpd
+fdmove 1 3
+s6-ipcserver -1 -- /run/utmps/.btmpd-socket
+utmps-wtmpd btmp
diff --git a/system/utmps/utmps.initd b/system/utmps/utmps.initd
new file mode 100644
index 000000000..1131ca199
--- /dev/null
+++ b/system/utmps/utmps.initd
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 2022-2023 Adélie Linux
+
+description="boot script for the utmps utmp, wtmp and btmp services"
+
+depend()
+{
+ need localmount
+ after bootmisc
+ before networking
+}
+
+stop()
+{
+ ebegin "Stopping the utmps services"
+ s6-svc -D /run/service/btmpd
+ s6-svc -D /run/service/wtmpd
+ s6-svc -D /run/service/utmpd
+ eend $?
+}
+
+start()
+{
+ ebegin "Starting the utmps services"
+ s6-svlisten -U " /run/service/utmpd" " /run/service/wtmpd" " /run/service/btmpd" "" \
+ foreground " s6-svc" " -U" " /run/service/utmpd" "" \
+ foreground " s6-svc" " -U" " /run/service/wtmpd" "" \
+ s6-svc -U /run/service/btmpd
+ eend $?
+}
diff --git a/system/utmps/wtmpd.run b/system/utmps/wtmpd.run
index ab5a40641..599c63b83 100644
--- a/system/utmps/wtmpd.run
+++ b/system/utmps/wtmpd.run
@@ -2,7 +2,7 @@
fdmove -c 2 1
s6-setuidgid utmp
-cd /run/utmps
+cd /var/log/wtmpd
fdmove 1 3
-s6-ipcserver -1 -- .wtmpd-socket
-utmps-wtmpd
+s6-ipcserver -1 -- /run/utmps/.wtmpd-socket
+utmps-wtmpd wtmp