1 # Created by: erich@rrnet.com
7 MASTER_SITES= ${MASTER_SITE_SUDO}
9 MAINTAINER= wxs@FreeBSD.org
10 COMMENT= Allow others to run commands as root
13 LICENSE_NAME= Sudo license
14 LICENSE_FILE= ${WRKSRC}/doc/LICENSE
15 LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
20 LDFLAGS+= -lssp_nonshared
22 CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc \
27 --with-long-otp-prompt
29 OPTIONS_DEFINE= LDAP INSULTS DISABLE_ROOT_SUDO DISABLE_AUTH NOARGS_SHELL \
30 AUDIT OPIE NLS SSSD DOCS
31 OPTIONS_DEFAULT= AUDIT
34 INSULTS_DESC= Enable insults on failures
35 DISABLE_ROOT_SUDO_DESC= Do not allow root to run sudo
36 DISABLE_AUTH_DESC= Do not require authentication by default
37 NOARGS_SHELL_DESC= Run a shell if no arguments are given
38 AUDIT_DESC= Enable BSM audit support
39 OPIE_DESC= Enable one-time passwords (no PAM support)
40 SSSD_DESC= Enable SSSD backend support.
43 CONFIGURE_ARGS+= --with-logfac=${LOGFAC}
45 # This is intentionally not an option.
46 # SUDO_SECURE_PATH is a PATH string that will override the user's PATH.
47 # ex: make SUDO_SECURE_PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
48 .if defined(SUDO_SECURE_PATH)
49 CONFIGURE_ARGS+= --with-secure-path="${SUDO_SECURE_PATH}"
53 NLS_CONFIGURE_ENABLE= nls
54 NLS_LDFLAGS= -L${LOCALBASE}/lib -lintl
55 NLS_CFLAGS= -I${LOCALBASE}/include
57 INSULTS_CONFIGURE_ON= --with-insults
58 INSULTS_CONFIGURE_ON+= --with-all-insults
60 LDAP_USE= OPENLDAP=yes
61 LDAP_CONFIGURE_ON= --with-ldap=${PREFIX}
62 SUDO_LDAP_CONF?= ldap.conf
63 LDAP_CONFIGURE_ON+= --with-ldap-conf-file=${PREFIX}/etc/${SUDO_LDAP_CONF}
65 DISABLE_ROOT_SUDO_CONFIGURE_ON= --disable-root-sudo
66 DISABLE_AUTH_CONFIGURE_ON= --disable-authentication
67 NOARGS_SHELL_CONFIGURE_ENABLE= noargs-shell
68 AUDIT_CONFIGURE_WITH= bsm-audit
69 OPIE_CONFIGURE_ON= --with-opie
70 OPIE_CONFIGURE_OFF= --with-pam
71 SSSD_CONFIGURE_ON= --with-sssd
72 SSSD_RUN_DEPENDS= sssd:${PORTSDIR}/security/sssd
74 .include <bsd.port.options.mk>
77 CONFIGURE_ARGS+= --disable-pie
81 @${REINPLACE_CMD} -E '/install-(binaries|noexec):/,/^$$/ \
82 s/\$$\(INSTALL\)/& ${STRIP}/;s/-b\~/-b ~/' \
83 ${WRKSRC}/src/Makefile.in
84 @${REINPLACE_CMD} -e 's,$$(srcdir)/sudoers2ldif $$(DESTDIR)$$(docdir),$$(srcdir)/sudoers2ldif $$(DESTDIR)$$(bindir),' ${WRKSRC}/plugins/sudoers/Makefile.in
85 .if empty(PORT_OPTIONS:MDOCS)
86 @${REINPLACE_CMD} -e 's/mkinstalldirs $$(DESTDIR)$$(docdir)/mkinstalldirs/' \
87 ${WRKSRC}/doc/Makefile.in
88 @${REINPLACE_CMD} -e '/for f in $$(OTHER_DOCS); do/d;/@LDAP@for f in $$(OTHER_DOCS_LDAP); do/d' ${WRKSRC}/doc/Makefile.in
89 @${REINPLACE_CMD} -e 's/$$(DESTDIR)$$(sudoersdir) $$(DESTDIR)$$(docdir)/$$(DESTDIR)$$(sudoersdir)/' ${WRKSRC}/plugins/sudoers/Makefile.in
93 ${INSTALL_DATA} ${FILESDIR}/pam.conf ${STAGEDIR}${PREFIX}/etc/pam.d/sudo.default
94 ${TOUCH} ${STAGEDIR}${PREFIX}/etc/sudoers.d/.keep-me
95 ${MV} ${STAGEDIR}${PREFIX}/etc/sudoers ${STAGEDIR}${PREFIX}/etc/sudoers.sample
96 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/sudoreplay
97 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/visudo
98 .for f in group_file.so libsudo_util.so sudoers.so system_group.so
99 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/sudo/${f}
102 .include <bsd.port.mk>