aboutsummaryrefslogtreecommitdiff
path: root/security/sssd/Makefile
blob: 73e0055fe3f0fa0b80dcce0ef5becb333a4e9c30 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Created by: Lukas Slebodnik <lukas.slebodnik@intrak.sk>

PORTNAME=	sssd
PORTVERSION=	1.16.5
PORTREVISION=	3
CATEGORIES=	security
MASTER_SITES=	https://releases.pagure.org/SSSD/${PORTNAME}/

MAINTAINER=	lukas.slebodnik@intrak.sk
COMMENT=	System Security Services Daemon

LICENSE=	GPLv3+
LICENSE_FILE=	${WRKSRC}/COPYING

LIB_DEPENDS=	libpopt.so:devel/popt \
		libtalloc.so:devel/talloc \
		libtevent.so:devel/tevent \
		libtdb.so:databases/tdb \
		libldb.so:databases/ldb21 \
		libcares.so:dns/c-ares \
		libdbus-1.so:devel/dbus \
		libdhash.so:devel/ding-libs \
		libpcre.so:devel/pcre \
		libunistring.so:devel/libunistring \
		libnss3.so:security/nss \
		libsasl2.so:security/cyrus-sasl2 \
		libinotify.so:devel/libinotify \
		libplds4.so:devel/nspr
BUILD_DEPENDS=	xmlcatalog:textproc/libxml2 \
		docbook-xsl>=1:textproc/docbook-xsl \
		xsltproc:textproc/libxslt \
		xmlcatmgr:textproc/xmlcatmgr \
		krb5>=1.10:security/krb5 \
		nsupdate:dns/bind-tools

GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--without-selinux --without-semanage \
		--without-libnl --without-nfsv4-idmapd-plugin \
		--without-autofs --without-secrets --without-kcm \
		--without-python2-bindings --with-python-prefix=${PREFIX} \
		--with-init-dir=no \
		--disable-cifs-idmap-plugin \
		--with-unicode-lib=libunistring \
		--with-ldb-lib-dir=${LOCALBASE}/lib/shared-modules/ldb \
		--with-xml-catalog-path=${LOCALBASE}/share/xml/catalog \
		--datadir=${DATADIR} --docdir=${DOCSDIR} --localstatedir=/var \
		--with-db-path=/var/db/sss/db --with-mcache-path=/var/db/sss/mc \
		--with-pubconf-path=/var/db/sss/pubconf  \
		--with-gpo-cache-path=/var/db/sss/gpo_cache  \
		--with-pid-path=/var/run --with-pipe-path=/var/run/sss/pipes \
		--with-krb5-conf=/etc/krb5.conf \
		--enable-pammoddir=${PREFIX}/lib
CFLAGS+=	-fstack-protector-all
PLIST_SUB=	PYTHON_VER=${PYTHON_VER}
#DEBUG_FLAGS=	-g
MAKE_ENV+=	LINGUAS="bg de eu es fr hu id it ja nb nl pl pt ru sv tg tr uk zh_CN zh_TW"
SUB_FILES=	pkg-message

USES=		autoreconf cpe gettext gmake iconv libtool pathfix pkgconfig \
		python:3.7 shebangfix gssapi:mit
USE_LDCONFIG=	yes
USE_OPENLDAP=	yes
INSTALL_TARGET=	install-strip
CPE_VENDOR=	fedoraproject

BINARY_ALIAS=	python3=python${PYTHON_VER}
SHEBANG_FILES=	src/tools/sss_obfuscate \
		src/sbus/sbus_codegen

USE_RC_SUBR=	${PORTNAME}
PORTDATA=	*

OPTIONS_DEFINE=	DOCS SMB
OPTIONS_SUB=	yes

SMB_DESC=		Install IPA and AD providers (requires Samba4)
SMB_USES=		samba:lib
SMB_CONFIGURE_WITH=	samba smb-idmap-interface-version=6
SMB_LIB_DEPENDS=	libndr-nbt.so.0:net/samba412 \
			libndr-krb5pac.so.0:net/samba412 \
			libndr-standard.so.0:net/samba412 \
			libndr.so.1:net/samba412 \
			libsamba-util.so.0:net/samba412 \
			libsmbclient.so.0:net/samba412

post-patch:
	@${REINPLACE_CMD} -e 's|NSS_STATUS_NOTFOUND|NS_NOTFOUND|g' \
		-e 's|NSS_STATUS_UNAVAIL|NS_UNAVAIL|g' \
		-e 's|NSS_STATUS_TRYAGAIN|NS_TRYAGAIN|g' \
		-e '/ETIME/d' \
		-e 's|NSS_STATUS_SUCCESS|NS_SUCCESS|g' \
		${WRKSRC}/src/sss_client/common.c
	@${REINPLACE_CMD} \
		-e 's|pam_modutil_getlogin(pamh)|getlogin()|g' \
		${WRKSRC}/src/sss_client/pam_sss.c
	@${REINPLACE_CMD} \
		-e 's|install-data-hook install-dist_initSCRIPTS|install-dist_initSCRIPTS|g' \
		-e 's|install-data-hook|notinstall-data-hook|g' \
		${WRKSRC}/Makefile.am
	@${REINPLACE_CMD} -e 's|/etc/sssd/|${ETCDIR}/|g' \
		-e 's|/etc/openldap/|${LOCALBASE}/etc/openldap/|g' \
		${WRKSRC}/src/man/*xml
	@${CP} ${FILESDIR}/bsdnss.c ${WRKSRC}/src/sss_client/bsdnss.c
	@${CP} ${FILESDIR}/sss_bsd_errno.h ${WRKSRC}/src/util/sss_bsd_errno.h

post-install:
	${INSTALL_DATA} ${WRKSRC}/src/examples/sssd-example.conf \
		${STAGEDIR}${ETCDIR}/sssd.conf.sample
	${LN} -sf nss_sss.so ${STAGEDIR}${PREFIX}/lib/nss_sss.so.1

# clean unused man dirs
.for i in es/man1 nl/man1 nl/man5 pt/man1 pt/man5 sv/man1
	@${RMDIR} ${STAGEDIR}${PREFIX}/man/${i}
.endfor

.include <bsd.port.mk>