Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4fec92c
commit 3c39619
Showing
2 changed files
with
178 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,176 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
PYTHON_COMPAT=( python{3_5,3_6,3_7} ) | ||
WANT_AUTOMAKE="1.13" | ||
|
||
inherit user eutils multilib flag-o-matic autotools distutils-r1 | ||
|
||
DESCRIPTION="389 Directory Server (core librares and daemons )" | ||
HOMEPAGE="https://pagure.io/${PN}" | ||
|
||
if [[ ${PV} = 9999 ]]; then | ||
inherit git-r3 | ||
|
||
EGIT_REPO_URI="https://pagure.io/${PN}.git" | ||
EGIT_BOOTSTRAP="" | ||
KEYWORDS="" | ||
S="${WORKDIR}/${PN}" | ||
else | ||
SRC_URI="https://releases.pagure.org/${PN}/${PN}-${PV}.tar.bz2" | ||
KEYWORDS="~amd64 ~x86" | ||
S="${WORKDIR}/${PN}-${PV}" | ||
fi | ||
|
||
LICENSE="GPL-3+" | ||
SLOT="0" | ||
IUSE="autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise selinux test" | ||
|
||
# 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/openssl:0= | ||
dev-libs/libpcre:3 | ||
dev-perl/NetAddr-IP | ||
net-nds/openldap | ||
sys-libs/pam | ||
sys-libs/zlib | ||
dev-libs/libevent | ||
dev-util/cmocka | ||
dev-python/six" | ||
|
||
DEPEND="${COMMON_DEPEND} | ||
virtual/pkgconfig | ||
doc? ( app-doc/doxygen ) | ||
dev-python/argparse-manpage | ||
dev-python/packaging" | ||
|
||
RDEPEND="${COMMON_DEPEND} | ||
selinux? ( sec-policy/selinux-dirsrv ) | ||
virtual/perl-Time-Local | ||
virtual/perl-MIME-Base64 | ||
dev-python/python-ldap | ||
dev-python/argcomplete | ||
dev-python/python-dateutil" | ||
|
||
pkg_setup() { | ||
if [ -n "${REPLACING_VERSIONS}" ]; then | ||
if ver_test $REPLACING_VERSIONS -lt 1.3.7; then | ||
echo | ||
eerror "It is not possible to update from ${REPLACING_VERSIONS}." | ||
eerror "At least version 1.3.7 is required to update to 1.4.x." | ||
eerror "Read more here: https://directory.fedoraproject.org/docs/389ds/howto/howto-install-389.html" | ||
echo | ||
die | ||
fi | ||
fi | ||
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 | ||
|
||
eautoreconf | ||
|
||
append-lfs-flags | ||
|
||
# Ensure prlog.h is found | ||
sed -i -e '/#include/ s/nspr4/nspr/' ldap/servers/plugins/sync/sync_persist.c || die | ||
|
||
distutils-r1_src_prepare | ||
} | ||
|
||
src_configure() { | ||
econf \ | ||
$(use_enable debug) \ | ||
$(use_enable pam-passthru) \ | ||
$(use_enable ldapi) \ | ||
$(use_enable autobind) \ | ||
$(use_enable dna) \ | ||
$(use_enable bitwise) \ | ||
$(use_enable auto-dn-suffix) \ | ||
$(use_enable test cmocka) \ | ||
--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() { | ||
emake | ||
cd "${S}/src/lib389" || die | ||
distutils-r1_src_compile | ||
|
||
if use doc; then | ||
doxygen docs/slapi.doxy || die "cannot run doxygen" | ||
fi | ||
} | ||
|
||
python_compile() { | ||
distutils-r1_python_compile build_manpages | ||
} | ||
|
||
src_test () { | ||
# -j1 is a temporary workaround for bug #605432 | ||
emake -j1 check | ||
} | ||
|
||
src_install () { | ||
# -j1 is a temporary workaround for bug #605432 | ||
emake -j1 DESTDIR="${D}" install | ||
|
||
cd "${S}/src/lib389" || die | ||
distutils-r1_src_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 | ||
|
||
# Ensure directories exists and fix permissions | ||
dodir /var/lib/dirsrv | ||
dodir /var/log/dirsrv | ||
fowners dirsrv:dirsrv /var/lib/dirsrv | ||
fowners dirsrv:dirsrv /var/log/dirsrv | ||
} | ||
|
||
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 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters