Tweak security/sshblock version 1.0_1
[dports.git] / security / sudo / Makefile
1 # Created by: erich@rrnet.com
2 # $FreeBSD$
3
4 PORTNAME=       sudo
5 DISTVERSION=    1.8.11p1
6 CATEGORIES=     security
7 MASTER_SITES=   ${MASTER_SITE_SUDO}
8
9 MAINTAINER=     wxs@FreeBSD.org
10 COMMENT=        Allow others to run commands as root
11
12 LICENSE=        sudo
13 LICENSE_NAME=   Sudo license
14 LICENSE_FILE=   ${WRKSRC}/doc/LICENSE
15 LICENSE_PERMS=  dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
16
17 USES=           libtool
18 GNU_CONFIGURE=  yes
19 LDFLAGS+=       -lgcc
20 LDFLAGS+=       -lssp_nonshared
21
22 CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc \
23                 --with-ignore-dot \
24                 --with-tty-tickets \
25                 --with-env-editor \
26                 --with-logincap \
27                 --with-long-otp-prompt
28
29 OPTIONS_DEFINE= LDAP INSULTS DISABLE_ROOT_SUDO DISABLE_AUTH NOARGS_SHELL \
30                 AUDIT OPIE NLS SSSD DOCS
31 OPTIONS_DEFAULT=        AUDIT
32 OPTIONS_SUB=    yes
33
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.
41
42 LOGFAC?=        authpriv
43 CONFIGURE_ARGS+=        --with-logfac=${LOGFAC}
44
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}"
50 .endif
51
52 NLS_USES=       gettext
53 NLS_CONFIGURE_ENABLE=   nls
54 NLS_LDFLAGS=    -L${LOCALBASE}/lib -lintl
55 NLS_CFLAGS=     -I${LOCALBASE}/include
56
57 INSULTS_CONFIGURE_ON=   --with-insults
58 INSULTS_CONFIGURE_ON+=  --with-all-insults
59
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}
64
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
73
74 .include <bsd.port.options.mk>
75
76 .if ${ARCH} == "arm"
77 CONFIGURE_ARGS+=        --disable-pie
78 .endif
79
80 post-patch:
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
90 .endif
91
92 post-install:
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}
100 .endfor
101
102 .include <bsd.port.mk>