2024-06-24 20:27:35 +00:00
|
|
|
# Contributor: fossdd <fossdd@pwned.life>
|
|
|
|
# Maintainer: fossdd <fossdd@pwned.life>
|
|
|
|
pkgname=kanidm
|
2025-02-10 20:02:55 +01:00
|
|
|
pkgver=1.5.0
|
2024-06-24 20:27:35 +00:00
|
|
|
pkgrel=0
|
|
|
|
pkgdesc="A simple, secure and fast identity management platform"
|
|
|
|
url="https://kanidm.com/"
|
2024-11-02 17:02:37 +01:00
|
|
|
arch="x86_64 aarch64 riscv64"
|
2024-06-24 20:27:35 +00:00
|
|
|
# only x86_64 (with x86_64_v2) and aarch64 (with neon_v8) supported:
|
2025-02-10 20:02:55 +01:00
|
|
|
# https://kanidm.github.io/kanidm/stable/preparing_for_your_deployment.html#cpu
|
2024-06-24 20:27:35 +00:00
|
|
|
license="MPL-2.0"
|
|
|
|
depends="
|
|
|
|
$pkgname-clients
|
|
|
|
$pkgname-server
|
|
|
|
$pkgname-unixd-clients
|
|
|
|
"
|
|
|
|
makedepends="
|
|
|
|
bash
|
|
|
|
bc
|
|
|
|
binaryen
|
|
|
|
brotli
|
|
|
|
cargo-auditable
|
|
|
|
libudev-zero-dev
|
|
|
|
linux-pam-dev
|
|
|
|
openssl-dev
|
|
|
|
rsync
|
|
|
|
"
|
|
|
|
install="
|
|
|
|
$pkgname-server.pre-install
|
|
|
|
$pkgname-unixd-clients.pre-install
|
|
|
|
"
|
|
|
|
subpackages="
|
|
|
|
$pkgname-bash-completion
|
|
|
|
$pkgname-clients
|
|
|
|
$pkgname-openrc
|
|
|
|
$pkgname-server
|
|
|
|
$pkgname-unixd-clients:unixd_clients
|
|
|
|
$pkgname-zsh-completion
|
|
|
|
"
|
|
|
|
source="$pkgname-$pkgver.tar.gz::https://github.com/kanidm/kanidm/archive/refs/tags/v$pkgver.tar.gz
|
2024-11-02 17:02:37 +01:00
|
|
|
release_alpine.toml
|
2024-06-24 20:27:35 +00:00
|
|
|
kanidmd.initd
|
|
|
|
kanidm-unixd.initd
|
|
|
|
kanidm-unixd-tasks.initd
|
2024-11-02 17:02:37 +01:00
|
|
|
use-var-lib-kanidm.toml
|
2024-06-24 20:27:35 +00:00
|
|
|
"
|
|
|
|
options="!check net" # takes too long, downloading rust crates
|
|
|
|
|
2024-11-02 17:02:37 +01:00
|
|
|
_profile="release_alpine"
|
2024-08-07 20:52:18 +00:00
|
|
|
_cargoopts="--frozen --release
|
|
|
|
--package daemon
|
|
|
|
--package kanidm-ipa-sync
|
|
|
|
--package kanidm_tools
|
|
|
|
--package kanidm_unix_int
|
|
|
|
--package nss_kanidm
|
|
|
|
--package pam_kanidm
|
|
|
|
"
|
|
|
|
|
2024-06-24 20:27:35 +00:00
|
|
|
prepare() {
|
|
|
|
default_prepare
|
|
|
|
|
|
|
|
cargo fetch --target="$CTARGET" --locked
|
2024-11-02 17:02:37 +01:00
|
|
|
install -Dm644 "$srcdir"/release_alpine.toml -t libs/profiles
|
2024-06-24 20:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
2024-11-02 17:02:37 +01:00
|
|
|
KANIDM_BUILD_PROFILE="$_profile" \
|
2024-08-07 20:52:18 +00:00
|
|
|
cargo auditable build $_cargoopts
|
2024-06-24 20:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
check() {
|
2024-11-02 17:02:37 +01:00
|
|
|
KANIDM_BUILD_PROFILE="$_profile" \
|
2024-08-07 20:52:18 +00:00
|
|
|
cargo test $_cargoopts -- --test-threads=1
|
2024-06-24 20:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
package() {
|
|
|
|
# openrc
|
|
|
|
install -Dm755 "$srcdir"/kanidmd.initd "$pkgdir"/etc/init.d/kanidmd
|
|
|
|
install -Dm755 "$srcdir"/kanidm-unixd.initd "$pkgdir"/etc/init.d/kanidm-unixd
|
|
|
|
install -Dm755 "$srcdir"/kanidm-unixd-tasks.initd "$pkgdir"/etc/init.d/kanidm-unixd-tasks
|
|
|
|
|
|
|
|
# zsh completion
|
|
|
|
install -Dm644 target/release/build/completions/_kanidm -t "$pkgdir"/usr/share/zsh/site-functions/
|
|
|
|
install -Dm644 target/release/build/completions/_kanidmd -t "$pkgdir"/usr/share/zsh/site-functions/
|
|
|
|
install -Dm644 target/release/build/completions/_kanidm_ssh_authorizedkeys_direct -t "$pkgdir"/usr/share/zsh/site-functions/
|
|
|
|
install -Dm644 target/release/build/completions/_kanidm_ssh_authorizedkeys -t "$pkgdir"/usr/share/zsh/site-functions/
|
|
|
|
install -Dm644 target/release/build/completions/_kanidm_unix -t "$pkgdir"/usr/share/zsh/site-functions/
|
|
|
|
|
|
|
|
# bash completion
|
|
|
|
install -Dm644 target/release/build/completions/kanidm.bash -t "$pkgdir"/usr/share/bash-completion/completions/
|
|
|
|
install -Dm644 target/release/build/completions/kanidmd.bash -t "$pkgdir"/usr/share/bash-completion/completions/
|
|
|
|
install -Dm644 target/release/build/completions/kanidm_ssh_authorizedkeys_direct.bash -t "$pkgdir"/usr/share/bash-completion/completions/
|
|
|
|
install -Dm644 target/release/build/completions/kanidm_ssh_authorizedkeys.bash -t "$pkgdir"/usr/share/bash-completion/completions/
|
|
|
|
install -Dm644 target/release/build/completions/kanidm_unix.bash -t "$pkgdir"/usr/share/bash-completion/completions/
|
|
|
|
}
|
|
|
|
|
|
|
|
clients() {
|
|
|
|
pkgdesc="Kanidm client to interact with kanidm identity management server"
|
2024-08-20 09:37:48 +02:00
|
|
|
depends=""
|
2024-06-24 20:27:35 +00:00
|
|
|
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidm -t "$subpkgdir"/usr/bin/
|
|
|
|
install -Dm644 "$builddir"/examples/config -t "$subpkgdir"/etc/kanidm/
|
|
|
|
}
|
|
|
|
|
|
|
|
server() {
|
|
|
|
pkgdesc="Kanidm server for idendity management, supports RADIUS, ssh key management"
|
2024-08-20 09:37:48 +02:00
|
|
|
depends=""
|
2024-06-24 20:27:35 +00:00
|
|
|
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidmd -t "$subpkgdir"/usr/bin/
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidm-ipa-sync -t "$subpkgdir"/usr/bin/
|
|
|
|
install -Dm644 "$builddir"/examples/server.toml -t "$subpkgdir"/etc/kanidm/
|
|
|
|
|
2024-11-02 17:02:37 +01:00
|
|
|
install -dv "$subpkgdir"/usr/share/kanidm/ui/hpkg
|
|
|
|
cp -r "$builddir"/server/core/static/* "$subpkgdir"/usr/share/kanidm/ui/hpkg
|
2024-06-24 20:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
unixd_clients() {
|
|
|
|
pkgdesc="Kanidm localhost resolver to resolve posix identities to a kanidm instance"
|
2024-08-20 09:37:48 +02:00
|
|
|
depends=""
|
2024-06-24 20:27:35 +00:00
|
|
|
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidm_ssh_authorizedkeys -t "$subpkgdir"/usr/bin/
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidm_ssh_authorizedkeys_direct -t "$subpkgdir"/usr/bin/
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidm-unix -t "$subpkgdir"/usr/bin/
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidm_unixd -t "$subpkgdir"/usr/bin/
|
|
|
|
install -Dm755 "$builddir"/target/release/kanidm_unixd_tasks -t "$subpkgdir"/usr/bin/
|
|
|
|
|
|
|
|
install -Dm755 "$builddir"/target/release/libnss_kanidm.so "$subpkgdir"/usr/lib/libnss_kanidm.so.2
|
|
|
|
install -Dm755 "$builddir"/target/release/libpam_kanidm.so "$subpkgdir"/usr/lib/security/pam_kanidm.so
|
|
|
|
|
|
|
|
install -Dm644 "$builddir"/examples/unixd -t "$subpkgdir"/etc/kanidm/
|
|
|
|
}
|
|
|
|
|
|
|
|
sha512sums="
|
2025-02-10 20:02:55 +01:00
|
|
|
4c3aad30c176f73ee08913e831814ed53746e2f05eced392b508fa5862d64efc9f79f3f7d047716504a3ce0a0f726c66814abb24e85b89171db33a1928c90d53 kanidm-1.5.0.tar.gz
|
|
|
|
646c59dc6228c6d557d43d481db7ab9996131358f7709c78f36022dc4649d13ebc12020449d8ef3eef14e98bfab950a5b5290c2cdf72bcfe7585ce19419c3c67 release_alpine.toml
|
2024-06-24 20:27:35 +00:00
|
|
|
718974ccf058f6e12894882b9bd27ccb3977b3d23be088752368d2c85d0e3c31a182ef9096cbced506d8d1d5d63a7e1e4dd22c07f7009e4532820d0d96ebef7c kanidmd.initd
|
|
|
|
c2936f5247122c3f6729ceca377a025c3752103c98e279df549a0d664783070561261edea41e7becf75d56f181cba05667c96a46205147ad25b284544ad5d656 kanidm-unixd.initd
|
|
|
|
08ab2aa7c1e8b14740172df89f3d265e1a7a06da083f65e8a296f7ac4cfdce7629b624d294a9de9bf4abf42769ca88efd10cb0edbbeb2320971b92d1bee393c0 kanidm-unixd-tasks.initd
|
2024-11-02 17:02:37 +01:00
|
|
|
6dec53d50389a7138163eeecef4dbcfe3a3cc474d33e66fcda65272b361219ffa43a59a042d5d59743e3a0b2df00ebcb273418920ebdc0354f52b22a9850bf5f use-var-lib-kanidm.toml
|
2024-06-24 20:27:35 +00:00
|
|
|
"
|