blob: 1d33087c4d28797bbf26fd9e3ac7bb9f56315273 (
plain)
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
117
118
119
120
121
122
123
124
125
126
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
WANT_AUTOMAKE="1.13"
inherit user eutils multilib flag-o-matic autotools
DESCRIPTION="389 Directory Server (core librares and daemons )"
HOMEPAGE="http://www.port389.org/"
SRC_URI="http://www.port389.org/sources/${P}.tar.bz2"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise presence kerberos selinux"
# Pinned to db:4.8 as it is the current stable, can change to a later db version < 6 when they stabilize.
# The --with-db-inc line in econf will need to be updated as well when changing db version.
COMMON_DEPEND="
sys-libs/db:4.8
>=dev-libs/cyrus-sasl-2.1.19
>=net-analyzer/net-snmp-5.1.2
>=dev-libs/icu-3.4:=
>=dev-libs/nss-3.22[utils]
dev-libs/nspr
>=dev-libs/svrcore-4.1.2
dev-libs/openssl:0=
dev-libs/libpcre:3
>=dev-perl/perl-mozldap-1.5.3
dev-perl/NetAddr-IP
net-nds/openldap
sys-libs/pam
sys-libs/zlib
kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] )"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
doc? ( app-doc/doxygen )"
RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-dirsrv )
virtual/perl-Time-Local
virtual/perl-MIME-Base64"
pkg_setup() {
enewgroup dirsrv
enewuser dirsrv -1 -1 -1 dirsrv
}
src_prepare() {
# as per 389 documentation, when 64bit, export USE_64
use amd64 && export USE_64=1
epatch "${FILESDIR}/389-ds-base-1.3.6-backport-invalid-password-mig.patch"
eautoreconf
append-lfs-flags
}
src_configure() {
econf \
$(use_enable debug) \
$(use_enable pam-passthru) \
$(use_enable ldapi) \
$(use_enable autobind) \
$(use_enable dna) \
$(use_enable bitwise) \
$(use_enable presence) \
$(use_with kerberos) \
$(use_enable auto-dn-suffix) \
--with-initddir=no \
--enable-maintainer-mode \
--with-fhs \
--with-openldap \
--sbindir=/usr/sbin \
--bindir=/usr/bin \
--with-db-inc=/usr/include/db4.8
}
src_compile() {
default
if use doc; then
doxygen slapi.doxy || die "cannot run doxygen"
fi
}
src_install() {
# -j1 is a temporary workaround for bug #605432
emake -j1 DESTDIR="${D}" install
# Install gentoo style init script
# Get these merged upstream
newinitd "${FILESDIR}"/389-ds.initd-r1 389-ds
newinitd "${FILESDIR}"/389-ds-snmp.initd 389-ds-snmp
# cope with libraries being in /usr/lib/dirsrv
dodir /etc/env.d
echo "LDPATH=/usr/$(get_libdir)/dirsrv" > "${D}"/etc/env.d/08dirsrv
if use doc; then
cd "${S}" || die
docinto html/
dodoc -r docs/html/.
fi
}
pkg_postinst() {
echo
elog "If you are planning to use 389-ds-snmp (ldap-agent),"
elog "make sure to properly configure: /etc/dirsrv/config/ldap-agent.conf"
elog "adding proper 'server' entries, and adding the lines below to"
elog " => /etc/snmp/snmpd.conf"
elog
elog "master agentx"
elog "agentXSocket /var/agentx/master"
elog
elog "To start 389 Directory Server (LDAP service) at boot:"
elog
elog " rc-update add 389-ds default"
elog
echo
}
|