From 7fe3a247d3cbc558797737228c5539881789067c Mon Sep 17 00:00:00 2001 From: Micha Glave Date: Wed, 7 Oct 2026 20:26:38 +0000 Subject: [PATCH] init.d-files improved. --- ...m_unixd.initd => kanidm-unixd-tasks.initd} | 7 +++-- net-nds/kanidm/files/kanidm-unixd.initd | 29 +++++++++++++++++++ net-nds/kanidm/files/kanidm.initd | 3 +- net-nds/kanidm/kanidm-1.11.2.ebuild | 5 +++- 4 files changed, 39 insertions(+), 5 deletions(-) rename net-nds/kanidm/files/{kanidm_unixd.initd => kanidm-unixd-tasks.initd} (80%) create mode 100755 net-nds/kanidm/files/kanidm-unixd.initd diff --git a/net-nds/kanidm/files/kanidm_unixd.initd b/net-nds/kanidm/files/kanidm-unixd-tasks.initd similarity index 80% rename from net-nds/kanidm/files/kanidm_unixd.initd rename to net-nds/kanidm/files/kanidm-unixd-tasks.initd index 5dd3b9f..e8b55c6 100755 --- a/net-nds/kanidm/files/kanidm_unixd.initd +++ b/net-nds/kanidm/files/kanidm-unixd-tasks.initd @@ -2,10 +2,10 @@ # Copyright 2016-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -description="Kanidm-unixd: client-helper tool for the kanidm identity management platform" +description="Kanidm Local Tasks" depend() { - before radius + after kanidm-unixd } : ${KANIDM_CONF:=/etc/kanidm/unix} @@ -14,7 +14,8 @@ depend() { : ${KANIDM_WORK_DIR:=/var/lib/kanidm} : ${KANIDM_CUSTOM:=${KANIDM_WORK_DIR}/custom} -command="/usr/bin/kanidm-unix" +capabilities="CAP_CHOWN CAP_FOWNER CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH" +command="/usr/bin/kanidm_unixd_tasks" #command_args="--config-path ${KANIDM_CONF} server" command_background="true" command_user="${KANIDM_USER}:${KANIDM_GROUP}" diff --git a/net-nds/kanidm/files/kanidm-unixd.initd b/net-nds/kanidm/files/kanidm-unixd.initd new file mode 100755 index 0000000..d310701 --- /dev/null +++ b/net-nds/kanidm/files/kanidm-unixd.initd @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 2016-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Kanidm Local Client Resolver" + +depend() { + need net + after ntpd +} + +: ${KANIDM_CONF:=/etc/kanidm/unix} +: ${KANIDM_USER:=kanidm} +: ${KANIDM_GROUP:=kanidm} +: ${KANIDM_WORK_DIR:=/var/lib/kanidm-unixd} +: ${KANIDM_CUSTOM:=${KANIDM_WORK_DIR}/custom} + +command="/usr/bin/kanidm_unixd" +#command_args="--config-path ${KANIDM_CONF} server" +command_background="true" +command_user="${KANIDM_USER}:${KANIDM_GROUP}" +error_log="/var/log/kanidm/${RC_SVCNAME}.err" +output_log="/var/log/kanidm/${RC_SVCNAME}.log" +pidfile="/run/${RC_SVCNAME}.pid" +#required_files="${KANIDM_CONF}" + +start_pre() { + checkpath -m0750 -o "${KANIDM_USER:-root}:${KANIDM_GROUP:-root}" -d /run/${RC_SVCNAME} -d /var/cache/${RC_SVCNAME} -d /var/lib/${RC_SVCNAME} +} diff --git a/net-nds/kanidm/files/kanidm.initd b/net-nds/kanidm/files/kanidm.initd index 7b99121..8d70f60 100644 --- a/net-nds/kanidm/files/kanidm.initd +++ b/net-nds/kanidm/files/kanidm.initd @@ -2,9 +2,10 @@ # Copyright 2016-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -description="Kanidm: simple, secure, and fast identity management platform" +description="Kanidm Identity Server" depend() { + need net before radius } diff --git a/net-nds/kanidm/kanidm-1.11.2.ebuild b/net-nds/kanidm/kanidm-1.11.2.ebuild index 3e21d92..970ad8a 100644 --- a/net-nds/kanidm/kanidm-1.11.2.ebuild +++ b/net-nds/kanidm/kanidm-1.11.2.ebuild @@ -95,7 +95,7 @@ src_install() { fi insinto /etc/kanidm - newins examples/kanidm config + doins examples/config doins examples/radius.toml doins examples/unixd fperms 0644 /etc/kanidm/{,config,radius.toml,unixd} @@ -109,6 +109,9 @@ src_install() { done systemd_dounit platform/opensuse/kanidm-unixd.service systemd_dounit platform/opensuse/kanidm-unixd-tasks.service + newinitd "${FILESDIR}/kanidm-unixd.initd" kanidm-unixd + newinitd "${FILESDIR}/kanidm-unixd-tasks.initd" kanidm-unixd-tasks + keepdir /var/log/kanidm if use server; then