testing/turnstile: build with dinit support

dinit is comfy for user services, and packaged in alpine
This commit is contained in:
ptrcnull 2024-07-30 22:53:18 +02:00 committed by Patrycja Rosa
parent e974940111
commit 232372eaba
2 changed files with 67 additions and 2 deletions

View File

@ -1,7 +1,7 @@
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=turnstile
pkgver=0.1.10
pkgrel=0
pkgrel=1
pkgdesc="Independent session/login tracker"
url="https://github.com/chimera-linux/turnstile"
arch="all"
@ -15,13 +15,15 @@ subpackages="$pkgname-doc $pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/chimera-linux/turnstile/archive/refs/tags/v$pkgver.tar.gz
turnstiled.confd
turnstiled.initd
no-system-dinit.patch
"
options="!check" # no tests
build() {
abuild-meson \
-Db_lto=true \
-Ddinit=disabled \
-Ddinit=enabled \
-Dmanage_rundir=true \
. output
meson compile -C output
@ -39,4 +41,5 @@ sha512sums="
739e11a01cfcb6c7ae58445619e1986cc6a84f93eae4ebf36b76f1f003baec90bf357eb81da2c116df3564631dff7b3b97c0eb6878d2d14de6457ba66dad5068 turnstile-0.1.10.tar.gz
4798d04b707e3b44467c1e75481a5123dbf4755ef1bdd09ac31d180762f67085a7030c4ba7d1f27b1ef30910785d8739375a730f32647c7d554142fac4d6b824 turnstiled.confd
4824f233704b21e3a4ab931879f88ec716761065fd109038ea9a0c89383580c7a198e2372088b555cb894110b5067c26b99ac9c40c04bf9a2384af1417fa4ad0 turnstiled.initd
5608dc9f78c387d3ae061d26dc7a4b6ceecb74b00b63ab8f0f78f8d6f8851bffe3a9183a6947828b265949c6a54d17ee44bd343159052dce802d9086ff67a2d8 no-system-dinit.patch
"

View File

@ -0,0 +1,62 @@
we don't support running dinit system-wide,
so remove the code that assumes system dinit
diff --git a/backend/dinit b/backend/dinit
index d69710e..7c5e680 100644
--- a/backend/dinit
+++ b/backend/dinit
@@ -85,7 +85,6 @@ set -e
# set a bunch of defaults in case the conf cannot be read or is mangled
[ -z "$boot_dir" ] && boot_dir="${HOME}/.config/dinit.d/boot.d"
-[ -z "$system_boot_dir" ] && system_boot_dir="/usr/lib/dinit.d/user/boot.d"
if [ -z "$services_dir1" ]; then
services_dir1="${HOME}/.config/dinit.d"
@@ -113,10 +112,4 @@ depends-on = system
waits-for.d = ${boot_dir}
EOF
-# this must also succeed
-cat << EOF > "${DINIT_DIR}/system"
-type = internal
-waits-for.d = ${system_boot_dir}
-EOF
-
exec dinit --user --ready-fd 3 --services-dir "$DINIT_DIR" "$@" 3>"$DINIT_READY_PIPE"
diff --git a/backend/dinit.conf b/backend/dinit.conf
index c41f6bc..fc174a3 100644
--- a/backend/dinit.conf
+++ b/backend/dinit.conf
@@ -13,12 +13,6 @@
#
boot_dir="${HOME}/.config/dinit.d/boot.d"
-# This is just like boot_dir, but not controlled by the
-# user. Instead, the system installs links there, and
-# they are started for all users universally.
-#
-system_boot_dir="/usr/lib/dinit.d/user/boot.d"
-
# A directory user service files are read from. Every
# additional directory needs to have its number incremented.
# The numbering matters (defines the order) and there must be
diff --git a/meson.build b/meson.build
index 770b982..733cd40 100644
--- a/meson.build
+++ b/meson.build
@@ -111,14 +111,6 @@ pam_mod = shared_module(
gnu_symbol_visibility: 'hidden'
)
-if have_dinit
- install_data(
- 'data/dinit/turnstiled',
- install_dir: join_paths(get_option('sysconfdir'), 'dinit.d'),
- install_mode: 'rw-r--r--'
- )
-endif
-
install_data(
'data/pam/turnstiled',
install_dir: pamdir,