diff --git a/net-nds/kanidm/Manifest b/net-nds/kanidm/Manifest index f63f4bf..c721063 100644 --- a/net-nds/kanidm/Manifest +++ b/net-nds/kanidm/Manifest @@ -1,2 +1,2 @@ DIST kanidm-1.11.1-crates.tar.xz 59983636 BLAKE2B 5b9556ef74e1c1ea774551b9f3e2a9bfa494a1968bde5b2b268e54b9ac037c3ecd2c492faec089a2f8fbe5262adfb7434ff519454112959a705a964915ad5350 SHA512 9fa99d376b2975a48b749cfe8c1ba713331b176968fb24f6fe10cc55adc7b08c6c5ee50789eac6f8f75bc01cb48d4235890311d3a5604016a6f2879ed3514459 -DIST kanidm-1.11.1.tar.gz 8956480 BLAKE2B 04ec29e70ed6b5b1366b5827b6f212a0ae19363d10da26b5cdeabfda5bd9fef7e6172be8ff2f8c15c731fe49ca2871cdf77bea6b04ff260b3377760edaa016bf SHA512 e5079ef888556d4d41b1c3ade3a15a572ef47af160dbeab6f9761de304a5b2c8fbe71b9dfd5f13886a42f3a1992b13dc6a0e87661ba272d4190b72d6cc8e0f0d +DIST kanidm-1.11.2.tar.gz 8957231 BLAKE2B a7018f825a483cd00592bc4357fd81a0671d8ec0198e757fd1d593bf9a9ac14703f2d5aa55c2ad711c5fb53b8877daa1058a8742a21a19257bf7f19d7aafdb2d SHA512 bfe7f7dbc26ace0bf104399b556f9ecb5bb0976abbe827a6cd3a24253be197dc90ab2e44549c52d0f4b7b79ad52e12f62c2c36d794f7c3c61cbc25b643cd3d84 diff --git a/net-nds/kanidm/files/kanidm_unixd.initd b/net-nds/kanidm/files/kanidm_unixd.initd new file mode 100755 index 0000000..5dd3b9f --- /dev/null +++ b/net-nds/kanidm/files/kanidm_unixd.initd @@ -0,0 +1,28 @@ +#!/sbin/openrc-run +# 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" + +depend() { + before radius +} + +: ${KANIDM_CONF:=/etc/kanidm/unix} +: ${KANIDM_USER:=kanidm} +: ${KANIDM_GROUP:=kanidm} +: ${KANIDM_WORK_DIR:=/var/lib/kanidm} +: ${KANIDM_CUSTOM:=${KANIDM_WORK_DIR}/custom} + +command="/usr/bin/kanidm-unix" +#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} +} diff --git a/net-nds/kanidm/kanidm-1.11.1.ebuild b/net-nds/kanidm/kanidm-1.11.2.ebuild similarity index 82% rename from net-nds/kanidm/kanidm-1.11.1.ebuild rename to net-nds/kanidm/kanidm-1.11.2.ebuild index 0e18f70..3e21d92 100644 --- a/net-nds/kanidm/kanidm-1.11.1.ebuild +++ b/net-nds/kanidm/kanidm-1.11.2.ebuild @@ -5,8 +5,7 @@ EAPI=8 -CRATES=" -" +CRATES="" inherit cargo shell-completion systemd @@ -32,13 +31,12 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64" IUSE="+acct pam server tpm" -RUST_MIN_VER="1.93" +RUST_MIN_VER="1.96" DEPEND=" acct? ( - server? ( acct-group/kanidm - acct-user/kanidm ) + acct-user/kanidm ) pam? ( sys-libs/pam ) tpm? ( app-crypt/tpm2-tss ) @@ -59,22 +57,28 @@ pkg_setup() { src_prepare() { eapply_user - echo "ECARGO_ARGS: ${ECARGO_ARGS}" + + einfo "Needs at least 7GB RAM to build!" + einfo "ECARGO_ARGS: ${ECARGO_ARGS}" } src_configure() { + local myconf local myfeatures=( $(usev tpm) unix ) + if use server; then + myconf+="--package daemon --package kanidm-ipa-sync --package kanidm-ldap-sync " + fi + if use pam; then + myconf+="--package nss_kanidm --package pam_kanidm " + fi + cargo_src_configure \ - --package daemon \ - --package kanidm-ipa-sync \ - --package kanidm-ldap-sync \ + ${myconf} \ --package kanidm_tools \ - --package kanidm_unix_int \ - --package nss_kanidm \ - --package pam_kanidm + --package kanidm_unix_int } src_install() { @@ -82,13 +86,13 @@ src_install() { dobin target/release/kanidm_unixd dobin target/release/kanidm_unixd_tasks dobin target/release/kanidm_ssh_authorizedkeys - dobin target/release/kanidm_ssh_authorizedkeys_direct - dolib.so target/release/libnss_kanidm.so - dolib.so target/release/libpam_kanidm.so - - insinto /lib64/security - use pam && newins target/release/libpam_kanidm.so pam_kanidm.so + if use pam; then + dolib.so target/release/libnss_kanidm.so + dolib.so target/release/libpam_kanidm.so + insinto /lib64/security + newins target/release/libpam_kanidm.so pam_kanidm.so + fi insinto /etc/kanidm newins examples/kanidm config @@ -105,12 +109,14 @@ src_install() { done systemd_dounit platform/opensuse/kanidm-unixd.service systemd_dounit platform/opensuse/kanidm-unixd-tasks.service + keepdir /var/log/kanidm if use server; then einfo "Installing kanidmd-server" dobin target/release/kanidmd dobin target/release/kanidm-ipa-sync dobin target/release/kanidm-ldap-sync + dobin target/release/kanidm_ssh_authorizedkeys_direct # -- setting NET-BIND SETCAP="setcap cap_net_bind_service=+ep" ${SETCAP} "${D}/usr/bin/kanidmd" @@ -121,8 +127,8 @@ src_install() { cp -r ${S}/server/core/static/* ${D}/usr/share/kanidm/ui/hpkg || die "Install failed!" chown -R root:root ${D}/usr/share/kanidm/ui - systemd_dounit platform/opensuse/kanidm-ipa-sync.service systemd_dounit platform/opensuse/kanidmd.service + systemd_dounit platform/opensuse/kanidm-ipa-sync.service newinitd "${FILESDIR}/kanidm.initd" kanidmd @@ -130,11 +136,8 @@ src_install() { dofishcomp target/release/build/completions/kanidmd.fish dozshcomp target/release/build/completions/_kanidmd cp -r ${S}/examples/migrations ${D}/etc/kanidm/migrations.d - fi - - - if use acct; then - if use server; then + + if use acct; then fowners root:kanidm /etc/kanidm/server.toml fperms 0640 /etc/kanidm/server.toml diropts -m0740 -o kanidm -g kanidm