diff --git a/security/py-privleap/Makefile b/security/py-privleap/Makefile index 802949ea9dfa..27e55124f83f 100644 --- a/security/py-privleap/Makefile +++ b/security/py-privleap/Makefile @@ -1,50 +1,51 @@ PORTNAME= privleap DISTVERSION= 5.7-1 +PORTREVISION= 1 CATEGORIES= security python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= dtxdf@FreeBSD.org COMMENT= Limited Privilege Escalation Framework WWW= https://www.kicksecure.com/wiki/Privleap LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/COPYING RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}PAM>=0:security/py-PAM@${PY_FLAVOR} USES= python:3.13+ shebangfix USE_GITHUB= yes GH_ACCOUNT= Kicksecure USE_RC_SUBR= privleapd SHEBANG_FILES= usr/bin/* usr/libexec/privleap/shim.py NO_ARCH= yes SUB_LIST= PYTHON_CMD=${PYTHON_CMD} do-build: @${PYTHON_CMD} -OO ${PYTHON_LIBDIR}/compileall.py \ -d ${PYTHON_SITELIBDIR} \ -f ${WRKSRC}/usr/lib/python3/dist-packages/${PORTNAME} do-install: .for script in leapctl leaprun privleapd ${INSTALL_SCRIPT} ${WRKSRC}/usr/bin/${script} ${STAGEDIR}${PREFIX}/bin/${script} .endfor @${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} @cd ${WRKSRC}/usr/lib/python3/dist-packages/${PORTNAME} && \ ${COPYTREE_SHARE} . ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} @${MKDIR} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME} ${INSTALL_SCRIPT} ${WRKSRC}/usr/libexec/${PORTNAME}/shim.py ${STAGEDIR}${PREFIX}/libexec/${PORTNAME} ${INSTALL_SCRIPT} ${FILESDIR}/pam_create_socket.sh ${STAGEDIR}${PREFIX}/libexec/${PORTNAME} ${INSTALL_MAN} ${WRKSRC}/auto-generated-man-pages/leapctl.8 ${STAGEDIR}${PREFIX}/share/man/man8 ${INSTALL_MAN} ${WRKSRC}/auto-generated-man-pages/leaprun.8 ${STAGEDIR}${PREFIX}/share/man/man8 ${INSTALL_MAN} ${WRKSRC}/auto-generated-man-pages/privleap.conf.d.5 ${STAGEDIR}${PREFIX}/share/man/man5 ${INSTALL_MAN} ${WRKSRC}/auto-generated-man-pages/privleapd.1 ${STAGEDIR}${PREFIX}/share/man/man1 @${MKDIR} ${STAGEDIR}${ETCDIR}/conf.d @cd ${WRKSRC}/etc/${PORTNAME}/conf.d && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/conf.d @${MKDIR} ${STAGEDIR}${PREFIX}/etc/pam.d ${INSTALL_DATA} ${FILESDIR}/pam.conf ${STAGEDIR}${PREFIX}/etc/pam.d/privleapd .include diff --git a/security/py-privleap/files/privleapd.in b/security/py-privleap/files/privleapd.in index 37b93ae71e07..e39d90bf2260 100755 --- a/security/py-privleap/files/privleapd.in +++ b/security/py-privleap/files/privleapd.in @@ -1,23 +1,37 @@ #!/bin/sh # # PROVIDE: privleapd # REQUIRE: LOGIN # KEYWORD: shutdown . /etc/rc.subr name=privleapd desc="Limited Privilege Escalation Framework" rcvar="${name}_enable" load_rc_config "${name}" : ${privleapd_enable:=NO} +leapctl_cmd="%%PREFIX%%/bin/leapctl" pidfile="/var/run/${name}.pid" procname="%%PREFIX%%/bin/${name}" command_interpreter="%%PYTHON_CMD%%" command="/usr/sbin/daemon" command_args="-cS -l authpriv -t \"${desc}\" -T \"${name}\" -p \"${pidfile}\" \"${procname}\"" +extra_commands="reload" +reload_precmd="${name}_checkconf" +reload_cmd="${name}_reload" + +privleapd_checkconf() +{ + "${procname}" --check-config +} + +privleapd_reload() +{ + "${leapctl_cmd}" --reload +} run_rc_command "$1"