From e1c8cd6331bb559dfcee280c4c03e07d021a1afa Mon Sep 17 00:00:00 2001 From: Austin English Date: Mon, 2 May 2016 18:53:41 -0500 Subject: net-nds/389-admin: use #!/sbin/openrc-run instead of #!/sbin/runscript Gentoo-Bug: https://bugs.gentoo.org/573846 Package-Manager: portage-2.2.26 --- net-nds/389-admin/389-admin-1.1.31-r1.ebuild | 171 +++++++++++++++++++++++++++ net-nds/389-admin/files/389-admin.initd | 4 +- 2 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 net-nds/389-admin/389-admin-1.1.31-r1.ebuild (limited to 'net-nds/389-admin') diff --git a/net-nds/389-admin/389-admin-1.1.31-r1.ebuild b/net-nds/389-admin/389-admin-1.1.31-r1.ebuild new file mode 100644 index 000000000000..3f7d2b7ef6e6 --- /dev/null +++ b/net-nds/389-admin/389-admin-1.1.31-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +WANT_AUTOMAKE="1.9" + +MY_PV=${PV/_rc/.rc} +MY_PV=${MY_PV/_a/.a} + +inherit eutils multilib autotools depend.apache + +DESCRIPTION="389 Directory Server (admin)" +HOMEPAGE="http://port389.org/" +SRC_URI="http://directory.fedoraproject.org/sources/${PN}-${MY_PV}.tar.bz2" + +LICENSE="GPL-2 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug ipv6 selinux" + +# TODO snmp agent init script + +COMMON_DEPEND=">=app-admin/389-admin-console-1.1.0 + >=app-admin/389-ds-console-1.1.0 + app-misc/mime-types + dev-libs/389-adminutil + dev-libs/cyrus-sasl + dev-libs/icu:= + dev-libs/nss[utils] + || ( <=dev-libs/nspr-4.8.3-r3[ipv6?] >=dev-libs/nspr-4.8.4 ) + dev-libs/svrcore + net-analyzer/net-snmp[ipv6?] + net-nds/openldap + selinux? ( + sys-apps/checkpolicy + sys-apps/policycoreutils + ) + >=sys-libs/db-4.2.52 + sys-libs/pam + sys-apps/tcp-wrappers[ipv6?] + www-apache/mod_nss + www-servers/apache:2[apache2_modules_actions,apache2_modules_alias,apache2_modules_auth_basic,apache2_modules_authz_default,apache2_modules_cgi,apache2_modules_mime_magic,apache2_modules_rewrite,apache2_modules_setenvif,suexec,threads]" +RDEPEND=" + ${COMMON_DEPEND} + www-client/lynx + selinux? ( sec-policy/selinux-base-policy ) +" +DEPEND="sys-apps/sed ${COMMON_DEPEND}" + +S="${WORKDIR}/${PN}-${MY_PV}" + +need_apache2 + +src_prepare() { + # as per 389 documentation, when 64bit, export USE_64 + use amd64 && export USE_64=1 + + epatch "${FILESDIR}/1.1.11_rc1/0001-gentoo-apache-names.patch" + epatch "${FILESDIR}/1.1.11_rc1/0003-find-mod_nss.m4.patch" + epatch "${FILESDIR}/1.1.11_rc1/0004-rpath-fix.configure.ac.patch" + # Configuration fixes + epatch "${FILESDIR}/${PN}-cfgstuff-1.patch" + + sed -e "s!SUBDIRS!# SUBDIRS!g" -i Makefile.am || die "sed failed" + # Setup default user/group, in this case it's dirsrv + sed -e "s!nobody!dirsrv!g" -i configure.ac || die "sed failed" + + eautoreconf +} + +src_configure() { + # stub autoconf triplet :( + local myconf="" + use debug && myconf="--enable-debug" + use selinux && myconf="${myconf} --with-selinux" + + econf \ + --enable-threading \ + --disable-rpath \ + --with-adminutil=/usr \ + --with-apr-config \ + --with-apxs=${APXS} \ + --with-fhs \ + --with-httpd=${APACHE_BIN} \ + --with-openldap \ + ${myconf} || die "econf failed" +} + +src_install () { + + emake DESTDIR="${D}" install || die "emake failed" + keepdir /var/log/dirsrv/admin-serv + + # remove redhat style init script. + rm -rf "${D}"/etc/rc.d + rm -rf "${D}"/etc/default + + # install gentoo style init script. + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + # remove redhat style wrapper scripts + # and install gentoo scripts. + rm -rf "${D}"/usr/sbin/*-ds-admin + dosbin "${FILESDIR}"/*-ds-admin || die "cannot install gentoo start/stop scripts" + + # In this version build systems for modules is delete :( + # manually install modules, not using apache-modules eclass + # because use bindled library + + # install mod_admserv + exeinto "${APACHE_MODULESDIR}" + doexe "${S}/.libs"/mod_admserv.so || die "internal ebuild error: mod_admserv not found" + + insinto "${APACHE_MODULES_CONFDIR}" + newins "${FILESDIR}/1.1.11_rc1"/48_mod_admserv.conf 48_mod_admserv \ + || die "internal ebuild error: 48_mod_admserv.conf not found" + + # install mod_restard + exeinto "${APACHE_MODULESDIR}" + doexe "${S}/.libs"/mod_restartd.so || die "internal ebuild error: mod_restartd not found" + + insinto "${APACHE_MODULES_CONFDIR}" + newins "${FILESDIR}/1.1.11_rc1"/48_mod_restartd.conf 48_mod_restartd \ + || die "internal ebuild error: 48_mod_restard.conf not found" + + if use selinux; then + local POLICY_TYPES="targeted" + cd "${S}"/selinux || die + cp /usr/share/selinux/${POLICY_TYPES}/include/Makefile . || die + make || die "selinux policy compile failed" + insinto /usr/share/selinux/${POLICY_TYPES} + doins -r "${S}/selinux/"*.pp + fi + +} + +pkg_postinst() { + + # show setup information + elog "Once you configured www-servers/apache as written above," + elog "you need to run (as root): /usr/sbin/setup-ds-admin.pl" + elog + + # show security and sysctl info + elog "It is recommended to setup net.ipv4.tcp_keep_alive_time" + elog "in /etc/sysctl.conf (or via sysctl -w && sysctl -p) to a reasonable" + elog "value (in milliseconds) to avoid temporary server congestions" + elog "from lost client connections" + elog + + # /etc/security/limits.conf settings + elog "It is also recommended to fine tune the maximum open files" + elog "settings inside /etc/security/limits.conf:" + elog "* soft nofile 2048" + elog "* hard nofile 4096" + elog + + elog "To start 389 Directory Server Administration Interface at boot" + elog "please add 389-admin service to the default runlevel:" + elog + elog " rc-update add 389-admin default" + elog + + elog "for 389 Directory Server Admin interface to work, you need" + elog "to setup a FQDN hostname and use it while running /usr/sbin/setup-ds-admin.pl" + elog + +} diff --git a/net-nds/389-admin/files/389-admin.initd b/net-nds/389-admin/files/389-admin.initd index 9da3c50116b0..45420ea4c38d 100644 --- a/net-nds/389-admin/files/389-admin.initd +++ b/net-nds/389-admin/files/389-admin.initd @@ -1,5 +1,5 @@ -#!/sbin/runscript -# Copyright 1999-2010 Gentoo Foundation +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 opts="configdump configtest fullstatus graceful gracefulstop modules reload" -- cgit v1.2.3-65-gdbad