summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorsoloturn2021-04-02 16:45:41 +0200
committersoloturn2021-04-02 16:45:41 +0200
commitef2ecf48fff97c00d1d9317804f06131afbc9b58 (patch)
tree3e4fb0f5acc728cebe708371194f862768b1a21c
downloadaur-ef2ecf48fff97c00d1d9317804f06131afbc9b58.tar.gz
kanidm-1.1.0.alpha4
-rw-r--r--.SRCINFO28
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD108
3 files changed, 141 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..4f6b05ddf75b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = kanidm
+ pkgdesc = A identity management service and clients.
+ pkgver = v1.1.0_alpha.4
+ pkgrel = 1
+ url = https://github.com/kanidm/kanidm
+ arch = x86_64
+ arch = aarch64
+ license = MPL-2.0
+ makedepends = cargo
+ makedepends = git
+ source = kanidm-v1.1.0_alpha.4.tar.gz::https://github.com/kanidm/kanidm/archive/refs/tags/v1.1.0-alpha.4.tar.gz
+ sha256sums = SKIP
+
+pkgname = kanidm-clients
+ pkgdesc = kanidm client to interact with kanidm identity management server.
+ provides = kanidm-clients
+ conflicts = kanidm-clients
+
+pkgname = kanidm-server
+ pkgdesc = kanidm server for idendity management, supports RADIUS, ssh key management.
+ provides = kanidm-server
+ conflicts = kanidm-server
+
+pkgname = kanidm-unixd-clients
+ pkgdesc = kanidm localhost resolver to resolve posix identities to a kanidm instance.
+ provides = kanidm-unixd-clients
+ conflicts = kanidm-unixd-clients
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..3c2bfc727806
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/kanidm-git
+/kanidm*gz
+/pkg
+/src
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5ed060466e5e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,108 @@
+# kanidm service, the following still needs clarification or work:
+#
+# * kanidm-unixd-tasks should be installed as soon as merged in upstream master
+# * check the systemd units on their preconditions, especially nptd, ...
+# as they are a copy of suse service files from https://build.opensuse.org/package/view_file/home:firstyear:kanidm/kanidm:w
+# * systemd activate and run should be added to package if this is so with other arch packages
+#
+# if somebody wants to maintain or contribute, just drop a note, i will add you.
+
+# Maintainer: soloturn@gmail.com
+
+_basename=kanidm
+pkgbase=kanidm
+pkgname=($pkgbase-clients $pkgbase-server $pkgbase-unixd-clients)
+pkgver=1.1.0_alpha.4
+_realver=${pkgver/_/-}
+pkgrel=1
+pkgdesc='A identity management service and clients.'
+url='https://github.com/kanidm/kanidm'
+#https://github.com/kanidm/kanidm/archive/refs/tags/v1.1.0-alpha.4.tar.gz
+source=("$_basename-$pkgver.tar.gz::https://github.com/$_basename/$_basename/archive/refs/tags/v${pkgver/_/-}.tar.gz")
+#source=("$_basename-$pkgver.tar.gz::https://codeload.github.com/kanidm/kanidm/tar.gz/refs/tags/${_realver}")
+arch=(x86_64 aarch64)
+license=(MPL-2.0)
+makedepends=(cargo git)
+sha256sums=(SKIP)
+
+build () {
+ cd ${pkgbase}-$_realver
+ export RUSTFLAGS="-Clink-arg=-Wl,-z,relro,-z,now -C debuginfo=2"
+ cargo build --release --target-dir target
+
+ # Now, move the completions to easier to install locations.
+ mkdir -p target/release/_completions
+ cp target/release/build/*/out/_kanidm* target/release/_completions/
+ cp target/release/build/*/out/kanidm*.bash target/release/_completions/
+}
+
+package_kanidm-clients () {
+ conflicts=("$_basename-clients")
+ provides=("$_basename-clients")
+ pkgdesc='kanidm client to interact with kanidm identity management server.'
+
+ cd ${pkgbase}-$_realver
+
+ install -Dm755 target/release/kanidm "${pkgdir}/usr/bin/kanidm"
+
+ install -Dm644 target/release/_completions/_kanidm "${pkgdir}/usr/share/zsh/site-functions/_kanidm"
+
+ install -Dm644 target/release/_completions/kanidm.bash "${pkgdir}/usr/share/bash-completion/completions/kanidm.sh"
+}
+
+package_kanidm-server () {
+ conflicts=("$_basename-server")
+ provides=("$_basename-server")
+ pkgdesc='kanidm server for idendity management, supports RADIUS, ssh key management.'
+
+ cd ${pkgbase}-$_realver
+
+ install -Dm755 target/release/kanidmd "${pkgdir}/usr/bin/kanidmd"
+ install -Dm755 target/release/kanidm_badlist_preprocess "${pkgdir}/usr/bin/kanidm_badlist_preprocess"
+
+ install -Dm644 $srcdir/../server.toml "$pkgdir/etc/kanidm/server.toml"
+
+ install -Dm644 $srcdir/../kanidmd.service "$pkgdir/usr/lib/systemd/system/kanidmd.service"
+
+ install -Dm644 target/release/_completions/_kanidmd "${pkgdir}/usr/share/zsh/site-functions/_kanidmd"
+ install -Dm644 target/release/_completions/_kanidm_badlist_preprocess "${pkgdir}/usr/share/zsh/site-functions/_kanidm_badlist_preprocess"
+
+ install -Dm644 target/release/_completions/kanidmd.bash "${pkgdir}/usr/share/bash-completion/completions/kanidmd.sh"
+ install -Dm644 target/release/_completions/kanidm_badlist_preprocess.bash "${pkgdir}/usr/share/bash-completion/completions/kanidm_badlist_preprocess.sh"
+}
+
+package_kanidm-unixd-clients () {
+ conflicts=("$_basename-unixd-clients")
+ provides=("$_basename-unixd-clients")
+ pkgdesc='kanidm localhost resolver to resolve posix identities to a kanidm instance.'
+
+ cd ${pkgbase}-$_realver
+
+ install -Dm755 target/release/libnss_kanidm.so "${pkgdir}/usr/lib/libnss_kanidm.so"
+ install -Dm755 target/release/libpam_kanidm.so "${pkgdir}/usr/lib/security/libpam_kanidm.so"
+
+ install -Dm755 target/release/kanidm_cache_clear "${pkgdir}/usr/bin/kanidm_cache_clear"
+ install -Dm755 target/release/kanidm_cache_invalidate "${pkgdir}/usr/bin/kanidm_cache_invalidate"
+ install -Dm755 target/release/kanidm_ssh_authorizedkeys "${pkgdir}/usr/bin/kanidm_ssh_authorizedkeys"
+ install -Dm755 target/release/kanidm_ssh_authorizedkeys_direct "${pkgdir}/usr/bin/kanidm_ssh_authorizedkeys_direct"
+ install -Dm755 target/release/kanidm_unixd "${pkgdir}/usr/bin/kanidm_unixd"
+ install -Dm755 target/release/kanidm_unixd_status "${pkgdir}/usr/bin/kanidm_unixd_status"
+ # as soon as merged into master upstream
+ # install -Dm755 target/release/kanidm_unixd_status "${pkgdir}/usr/bin/kanidm_unixd_tasks"
+
+ install -Dm644 $srcdir/../kanidm-unixd.service "$pkgdir/usr/lib/systemd/system/kanidm-unixd.service"
+ install -Dm644 $srcdir/../kanidm-unixd.service "$pkgdir/usr/lib/systemd/system/kanidm-unixd-tasks.service"
+
+ install -Dm644 target/release/_completions/_kanidm_ssh_authorizedkeys_direct "${pkgdir}/usr/share/zsh/site-functions/_kanidm_ssh_authorizedkeys_direct"
+ install -Dm644 target/release/_completions/_kanidm_cache_clear "${pkgdir}/usr/share/zsh/site-functions/_kanidm_cache_clear"
+ install -Dm644 target/release/_completions/_kanidm_cache_invalidate "${pkgdir}/usr/share/zsh/site-functions/_kanidm_cache_invalidate"
+ install -Dm644 target/release/_completions/_kanidm_ssh_authorizedkeys "${pkgdir}/usr/share/zsh/site-functions/_kanidm_ssh_authorizedkeys"
+ install -Dm644 target/release/_completions/_kanidm_unixd_status "${pkgdir}/usr/share/zsh/site-functions/_kanidm_unixd_status"
+
+ install -Dm644 target/release/_completions/kanidm_ssh_authorizedkeys_direct.bash "${pkgdir}/usr/share/bash-completion/completions/kanidm_ssh_authorizedkeys_direct.sh"
+ install -Dm644 target/release/_completions/kanidm_cache_clear.bash "${pkgdir}/usr/share/bash-completion/completions/kanidm_cache_clear.sh"
+ install -Dm644 target/release/_completions/kanidm_cache_invalidate.bash "${pkgdir}/usr/share/bash-completion/completions/kanidm_cache_invalidate.sh"
+ install -Dm644 target/release/_completions/kanidm_ssh_authorizedkeys.bash "${pkgdir}/usr/share/bash-completion/completions/kanidm_ssh_authorizedkeys.sh"
+ install -Dm644 target/release/_completions/kanidm_unixd_status.bash "${pkgdir}/usr/share/bash-completion/completions/kanidm_unixd_status.sh"
+}
+