diff --git a/security/kanidm/Makefile b/security/kanidm/Makefile index 3cd5b7f28979..a299544e64d6 100644 --- a/security/kanidm/Makefile +++ b/security/kanidm/Makefile @@ -1,102 +1,103 @@ PORTNAME= kanidm DISTVERSIONPREFIX= v DISTVERSION= 1.8.3 +PORTREVISION= 1 CATEGORIES= security net # implicit-approval+: dtxdf MAINTAINER= bofh@FreeBSD.org COMMENT= Simple and secure identity management platform ${${FLAVOR}_COMMENT} WWW= https://kanidm.com \ https://github.com/kanidm/kanidm/ LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/LICENSE.md IGNORE_FreeBSD_13= Does not build on FreeBSD 13.x due to OpenSSL 1.1.1 ONLY_FOR_ARCHS= aarch64 amd64 FLAVORS= client server FLAVOR?= ${FLAVORS:[1]} client_PKGNAMESUFFIX= -client client_COMMENT= (client only) client_PLIST= ${.CURDIR}/pkg-plist.client server_PKGNAMESUFFIX= -server server_COMMENT= (server only) server_PLIST= ${.CURDIR}/pkg-plist.server USES= cargo ssl llvm USE_GITHUB= yes MAKE_ENV= LIBCLANG_PATH=${LLVM_PREFIX}/lib .if ${FLAVOR} == server CARGO_BUILD_ARGS= -p daemon USE_RC_SUBR= kanidmd .endif .if ${FLAVOR} == client CARGO_BUILD_ARGS= -p kanidm_tools -p kanidm_unix_int -p nss_kanidm -p pam_kanidm USE_RC_SUBR= kanidm_unixd kanidm_unixd_tasks .endif CARGO_INSTALL= no CARGO_ENV= KANIDM_BUILD_PROFILE=release_freebsd CLIENT_CACHEDIR=/var/cache/kanidm-unixd CLIENT_LIBDIR=/var/lib/kanidm-unixd CLIENT_RUNDIR=/var/run/kanidm-unixd SERVER_LIBDIR=/var/lib/kanidmd SERVER_RUNDIR=/var/run/kanidmd .if ${FLAVOR} == server USERS= kanidmd GROUPS= kanidmd SUB_LIST= USER=${USERS} \ GROUP=${GROUPS} \ ETCDIR=${PREFIX}/etc/kanidm \ RUNDIR=/var/run/kanidmd \ LIBDIR=/var/lib/kanidmd \ SHAREDIR=${PREFIX}/share/kanidm .endif .if ${FLAVOR} == client USERS= kanidm GROUPS= kanidm SUB_LIST= USER=${USERS} \ GROUP=${GROUPS} \ ETCDIR=${PREFIX}/etc/kanidm \ RUNDIR=/var/run/kanidm-unixd \ CACHEDIR=/var/cache/kanidm-unixd \ LIBDIR=/var/lib/kanidm-unixd .endif do-install: .if ${FLAVOR} == server ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidmd ${STAGEDIR}${PREFIX}/libexec ${MKDIR} ${STAGEDIR}${ETCDIR} ${MKDIR} ${STAGEDIR}${SERVER_LIBDIR} ${MKDIR} ${STAGEDIR}${SERVER_RUNDIR} ${MKDIR} ${STAGEDIR}${DATADIR}/ui/hpkg (cd ${WRKSRC}/server/core/static/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/ui/hpkg/) .endif .if ${FLAVOR} == client ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm-unix ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_ssh_authorizedkeys ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_ssh_authorizedkeys_direct ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_unixd ${STAGEDIR}${PREFIX}/libexec ${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_unixd_tasks ${STAGEDIR}${PREFIX}/libexec ${INSTALL_LIB} ${WRKDIR}/target/release/libnss_kanidm.so ${STAGEDIR}${PREFIX}/lib/nss_kanidm.so.1 ${INSTALL_LIB} ${WRKDIR}/target/release/libpam_kanidm.so ${STAGEDIR}${PREFIX}/lib ${MKDIR} ${STAGEDIR}${ETCDIR} ${MKDIR} ${STAGEDIR}${CLIENT_CACHEDIR} ${MKDIR} ${STAGEDIR}${CLIENT_LIBDIR} ${MKDIR} ${STAGEDIR}${CLIENT_RUNDIR} .endif .include diff --git a/security/kanidm/files/kanidmd.in b/security/kanidm/files/kanidmd.in index e9f06fb44f94..ce58ac7c842e 100644 --- a/security/kanidm/files/kanidmd.in +++ b/security/kanidm/files/kanidmd.in @@ -1,29 +1,30 @@ #!/bin/sh # PROVIDE: kanidmd # REQUIRE: LOGIN # KEYWORD: shutdown # # Add these lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # kanidmd_enable (bool): Enable kanidmd. (default=NO) # kanidmd_config (str): Configuration file. # (default=%%ETCDIR%%/config.toml) . /etc/rc.subr name=kanidmd rcvar=kanidmd_enable load_rc_config $name : ${kanidmd_enable:="NO"} : ${kanidmd_config:="%%ETCDIR%%/config.toml"} pidfile="/var/run/kanidmd.pid" command=/usr/sbin/daemon command_args="-u %%USER%% -p /var/run/kanidmd.pid -T kanidmd %%PREFIX%%/libexec/${name} server --config-path ${kanidmd_config}" procname=%%PREFIX%%/libexec/${name} +extra_commands="reload" run_rc_command "$1"