From 6596653669b7e4a0ceb8c6e2d64acdd5edda58bc Mon Sep 17 00:00:00 2001 From: geos_one Date: Mon, 18 Aug 2008 21:31:22 +0000 Subject: [PATCH] net-nds/fedora-ds-admin: remove USE for now as the m4 macros aren't really usable for a system like gentoo ebuild fedora-ds-admin-1.1.5-r1.ebuild digest git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@451 6952d904-891a-0410-993b-d76249ca496b --- net-nds/fedora-ds-admin/ChangeLog | 6 + net-nds/fedora-ds-admin/Manifest | 7 +- .../fedora-ds-admin-1.1.5-r1.ebuild | 73 ++++++++ .../fedora-ds-admin-1.1.5.ebuild | 76 ++++---- .../fedora-ds-admin/files/dirsrv-admin.confd | 73 ++++++++ .../fedora-ds-admin/files/dirsrv-admin.initd | 165 ++++++++++++++++++ 6 files changed, 359 insertions(+), 41 deletions(-) create mode 100644 net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5-r1.ebuild create mode 100644 net-nds/fedora-ds-admin/files/dirsrv-admin.confd create mode 100755 net-nds/fedora-ds-admin/files/dirsrv-admin.initd diff --git a/net-nds/fedora-ds-admin/ChangeLog b/net-nds/fedora-ds-admin/ChangeLog index 84cd3091..8e7b6427 100644 --- a/net-nds/fedora-ds-admin/ChangeLog +++ b/net-nds/fedora-ds-admin/ChangeLog @@ -2,6 +2,12 @@ # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 18 Aug 2008; Mario Fetka + +files/dirsrv-admin.confd, +files/dirsrv-admin.initd, + fedora-ds-admin-1.1.5.ebuild, +fedora-ds-admin-1.1.5-r1.ebuild: + remove USE for now as the m4 macros aren't really usable for a system like + gentoo ebuild fedora-ds-admin-1.1.5-r1.ebuild digest + 27 Jun 2008; Mario Fetka ChangeLog: Bump diff --git a/net-nds/fedora-ds-admin/Manifest b/net-nds/fedora-ds-admin/Manifest index f2d80932..d8b0354a 100644 --- a/net-nds/fedora-ds-admin/Manifest +++ b/net-nds/fedora-ds-admin/Manifest @@ -1,9 +1,12 @@ +AUX dirsrv-admin.confd 3079 RMD160 4c85078cd92ca5b16582aabb6c5c614d2cb06784 SHA1 d0dd4117d67324bb5fe005ef54a7882b46ff2556 SHA256 e27ea96a265e3738905c9acb37096a6fe15d873d15832e417d7dff41fc94a149 +AUX dirsrv-admin.initd 3701 RMD160 70ea7e54f83fb5c29e0c931c4143198832f4562e SHA1 56f635f57df05f965fe9c66f2b57921eec96c2c8 SHA256 4f3e7a2795527633fecc70685e9109519e6780f528382ac663f5d280bff28226 AUX fedora-ds-admin-cvs.sh 340 RMD160 ebd9c99007e7c0864b1bb654333d1b672294e91d SHA1 3dc407f3e5f8cd1afab01106d7e3fddfb4201048 SHA256 7572aa1936dc728732e59412a033077a58e2bd399ec9ab90857a1716739d4a62 DIST fedora-ds-admin-1.1.2.tar.bz2 1065046 RMD160 43c13ba52bbfbf39ab8d21653c132804c69d3b00 SHA1 04bea3bd8b6422a4f2b2f4f74402426c360b0818 SHA256 ac9dd568736994510c31708a3dab7d1e7ee3b7ae5bbe9f120a917789ac36f81b DIST fedora-ds-admin-1.1.4.tar.bz2 1068502 RMD160 498cbda0098092eea14342ecf8e4f5df3e2e0858 SHA1 d8de5a1bcb53b74cbff741d484321b67c9349188 SHA256 129cde2b974c19d9ee1b6da94e3cb7d9d1da96385fb4722d201ba69a0e02e0f5 DIST fedora-ds-admin-1.1.5.tar.bz2 1068625 RMD160 1bcb1f9f3cf38ef15e38a89ae943c2965ac98306 SHA1 55749243ca9ad7f304dced35154904c6b1c1a20b SHA256 27560a4cdccde8360d098b8370aa8880139b0b47d6ae9080e8ecee7b0e71f1a6 EBUILD fedora-ds-admin-1.1.2.ebuild 2098 RMD160 85ba252edfe8e019d324403cf282d136618b79e1 SHA1 0f4fcc6c3d73ade0f530ae7e0cb9a29385f8b5f9 SHA256 6f3ad1c728e91a5f9027c169abe179c321409da9a33768853ebe6aaa737773d9 EBUILD fedora-ds-admin-1.1.4.ebuild 2098 RMD160 20a024f47200bbdcb4fb4be946922e3fdf7b111e SHA1 f12cdd64db332a3c9a1557afe0eb0215b4a0eacd SHA256 d0d0d09d44a730d141ddbc7519591b03391d79bd6db623ff40a7344959df56fc -EBUILD fedora-ds-admin-1.1.5.ebuild 2161 RMD160 2dc4c25d34a00fedf34297ec3ce1720156ea9bfe SHA1 a14ae0a1a2228277cfeeeb3481619be42b4ff906 SHA256 75ea9661a5cd784ac35c7b3d7700e345e5d9741e2fb29fcd01b84c0096afc30f -MISC ChangeLog 1056 RMD160 ebaf6762fa5fa77cf3c8182ab93f33e94d292b3b SHA1 9fc5cf192409e10188986621f6ce619e74bac57d SHA256 8eb5326ca5cc23dd85f3dccd7947f1c6e41e6781071032e9771df5bdea20868c +EBUILD fedora-ds-admin-1.1.5-r1.ebuild 1611 RMD160 260183ec394701c316358906369ebcfba32f418d SHA1 6d1240e55e3d509b2e25c79976efa5ccce0090d7 SHA256 4d6867256c315a1caa04a178449326bbde25f55668f1c7ea613e4e8b147c8d3f +EBUILD fedora-ds-admin-1.1.5.ebuild 1787 RMD160 85ac453a20e52061c2166d3d888be0d4d9acaa8f SHA1 c1eaba8ced0d8f16a1a66cf09b0e0de3edea2bfa SHA256 efba21127c3a0aa67c69f99329797e0e053128f4f97ce8ad3a437190204cb757 +MISC ChangeLog 1362 RMD160 d6583c8fbda200cd280866b23beefd8058f731d7 SHA1 9a8c3af6b6d199ec99b8d815fb9afe8fa1cd3f1e SHA256 f9efad1bc947463a2e160267e77637bb8a9c482c59e75b144e7a998aaa4960e5 MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42 diff --git a/net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5-r1.ebuild b/net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5-r1.ebuild new file mode 100644 index 00000000..b7b374c0 --- /dev/null +++ b/net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5-r1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="latest" + +inherit eutils multilib autotools + +DESCRIPTION="Fedora Directory Server (admin)" +HOMEPAGE="http://directory.fedora.redhat.com/" +SRC_URI="http://directory.fedoraproject.org/sources/${P}.tar.bz2" + +LICENSE="GPL-2-with-exceptions" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ipv6 debug" + +DEPEND=">=dev-libs/nss-3.11.4 + >=dev-libs/nspr-4.6.4 + >=dev-libs/svrcore-4.0.3 + >=dev-libs/mozldap-6.0.2 + >=dev-libs/adminutil-1.1.5 + >=dev-libs/cyrus-sasl-2.1.19 + >=dev-libs/icu-3.4 + >=sys-libs/db-4.2.52 + >=net-analyzer/net-snmp-5.1.2 + sys-apps/lm_sensors + app-arch/bzip2 + dev-libs/openssl + sys-apps/tcp-wrappers + sys-libs/pam + sys-libs/zlib + >=www-servers/apache-2.0 + www-apache/mod_restartd + www-apache/mod_nss + www-apache/mod_admserv" + +src_unpack() { + unpack ${A} + cd ${S} + sed -e "s!SUBDIRS!# SUBDIRS!g" -i Makefile.am + rm -rf mod_* + eautoreconf +} + +src_compile() { + econf $(use_enable debug) \ + --with-fhs \ + --with-httpd=/usr/sbin/apache2 \ + || die "econf failed" + + emake || die "emake failed" + +# --with-nspr=yes \ +# --with-nss=yes \ +# --with-ldapsdk=yes \ +# --with-db=yes \ +# --with-svrcore=yes \ +# --with-icu=yes \ + +} + +src_install () { + emake DESTDIR=${D} install || die "emake failed" + + # remove redhat style init script. + rm -rf ${D}/etc/rc.d + rm -rf ${D}/etc/default + newinitd "${FILESDIR}"/dirsrv-admin.initd dirsrv-admin + newconfd "${FILESDIR}"/dirsrv-admin.confd dirsrv-admin + +} diff --git a/net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5.ebuild b/net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5.ebuild index 199d6812..e2c97dd1 100644 --- a/net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5.ebuild +++ b/net-nds/fedora-ds-admin/fedora-ds-admin-1.1.5.ebuild @@ -17,23 +17,25 @@ KEYWORDS="~amd64 ~x86" IUSE="sasl snmp ipv6 debug" DEPEND=">=dev-libs/nss-3.11.4 - >=dev-libs/nspr-4.6.4 - >=dev-libs/svrcore-4.0.3 - >=dev-libs/mozldap-6.0.2 - sasl? ( >=dev-libs/cyrus-sasl-2.1.19 ) - >=dev-libs/icu-3.4 - >=sys-libs/db-4.2.52 - snmp? ( >=net-analyzer/net-snmp-5.1.2 ) - sys-apps/lm_sensors - app-arch/bzip2 - dev-libs/openssl - sys-apps/tcp-wrappers - sys-libs/pam - sys-libs/zlib - !net-nds/fedora-ds" + >=dev-libs/nspr-4.6.4 + >=dev-libs/svrcore-4.0.3 + >=dev-libs/mozldap-6.0.2 + sasl? ( >=dev-libs/cyrus-sasl-2.1.19 ) + >=dev-libs/icu-3.4 + >=sys-libs/db-4.2.52 + snmp? ( >=net-analyzer/net-snmp-5.1.2 ) + sys-apps/lm_sensors + app-arch/bzip2 + dev-libs/openssl + sys-apps/tcp-wrappers + sys-libs/pam + sys-libs/zlib + www-apache/mod_restartd + www-apache/mod_nss + www-apache/mod_admserv" src_unpack() { - unpack ${A} + unpack ${A} cd ${S} sed -e "s!SUBDIRS!# SUBDIRS!g" -i Makefile.am rm -rf mod_* @@ -41,22 +43,23 @@ src_unpack() { } src_compile() { - if use amd64 ; then - myconf="${myconf} --enable-64bit" - elif use sasl ; then - myconf="${myconf} --with-sasl=yes" - elif use snmp ; then - myconf="${myconf} --netsnmp=yes" - else - myconf="" - fi + if use amd64 ; then + myconf="${myconf} --enable-64bit" + elif use sasl ; then + myconf="${myconf} --with-sasl=yes" + elif use snmp ; then + myconf="${myconf} --netsnmp=yes" + else + myconf="" + fi - econf $(use_enable debug) \ - ${myconf} \ - --with-fhs \ - --with-httpd=/usr/sbin/apache2 \ - || die "econf failed" - emake || die "emake failed" + econf $(use_enable debug) \ + ${myconf} \ + --with-fhs \ + --with-httpd=/usr/sbin/apache2 \ + || die "econf failed" + + emake || die "emake failed" # --with-nspr=yes \ # --with-nss=yes \ @@ -68,16 +71,11 @@ src_compile() { } src_install () { - emake DESTDIR=${D} install || die "emake failed" - + emake DESTDIR=${D} install || die "emake failed" + # remove redhat style init script. # we are on gentoo apache is build with mozldap # no LD_PRELOAD required - rm -rf ${D}/etc/rc.d - rm -rf ${D}/etc/default - - # for now remove the *-ds-admin and no apacha restart - # the sources must be patched to invoke init.d/apache2 - # or a script that handles the restart - rm -rf ${D}/usr/sbin/*-ds-admin + rm -rf ${D}/etc/rc.d + rm -rf ${D}/etc/default } diff --git a/net-nds/fedora-ds-admin/files/dirsrv-admin.confd b/net-nds/fedora-ds-admin/files/dirsrv-admin.confd new file mode 100644 index 00000000..a994fae3 --- /dev/null +++ b/net-nds/fedora-ds-admin/files/dirsrv-admin.confd @@ -0,0 +1,73 @@ +# /etc/conf.d/dirsrv-admin: config file for /etc/init.d/dirsrv-admin + +# When you install a module it is easy to activate or deactivate the modules +# and other features of apache using the APACHE2_OPTS line. Every module should +# install a configuration in /etc/dirsrv/admin-serv. In that file will have an +# directive where NNN is the option to enable that module. +# +# Here are the options available in the default configuration: +# +# AUTH_DIGEST Enables mod_auth_digest +# AUTHNZ_LDAP Enables authentication through mod_ldap (available if USE=ldap) +# CACHE Enables mod_cache +# DAV Enables mod_dav +# ERRORDOCS Enables default error documents for many languages. +# INFO Enables mod_info, a useful module for debugging +# LANGUAGE Enables content-negotiation based on language and charset. +# LDAP Enables mod_ldap (available if USE=ldap) +# MANUAL Enables /manual/ to be the apache manual (available if USE=docs) +# MEM_CACHE Enables default configuration mod_mem_cache +# PROXY Enables mod_proxy +# SSL Enables SSL (available if USE=ssl) +# SUEXEC Enables running CGI scripts (in USERDIR) through suexec. +# USERDIR Enables /~username mapping to /home/username/public_html +# +# +# The following two options provide the default virtual host for the HTTP and +# HTTPS protocol. YOU NEED TO ENABLE AT LEAST ONE OF THEM, otherwise apache +# will not listen for incomming connections on the approriate port. +# +# DEFAULT_VHOST Enables name-based virtual hosts, with the default +# virtual host being in /var/www/localhost/htdocs +# SSL_DEFAULT_VHOST Enables default vhost for SSL (you should enable this +# when you enable SSL) +# +APACHE2_OPTS="-D DEFAULT_VHOST -D LANGUAGE -D INFO" + +# Extended options for advanced uses of Apache ONLY +# You don't need to edit these unless you are doing crazy Apache stuff +# As not having them set correctly, or feeding in an incorrect configuration +# via them will result in Apache failing to start +# YOU HAVE BEEN WARNED. + +# PID file +#PIDFILE=/var/run/dirsrv/admin-serv.pid + +# timeout for startup/shutdown checks +#TIMEOUT=10 + +# ServerRoot setting +#SERVERROOT=/usr/lib/apache2 + +# Configuration file location +# - If this does NOT start with a '/', then it is treated relative to +# $SERVERROOT by Apache +#CONFIGFILE=/etc/dirsrv/admin-serv/httpd.conf + +# Location to log startup errors to +# They are normally dumped to your terminal. +#STARTUPERRORLOG="/var/log/dirsrv/admin-serv/startuperror.log" + +# A command that outputs a formatted text version of the HTML at the URL +# of the command line. Designed for lynx, however other programs may work. +#LYNX="lynx -dump" + +# The URL to your server's mod_status status page. +# Required for status and fullstatus +#STATUSURL="http://localhost/server-status" + +# Method to use when reloading the server +# Valid options are 'restart' and 'graceful' +# See http://httpd.apache.org/docs/2.2/stopping.html for information on +# what they do and how they differ. +#RELOAD_TYPE="graceful" diff --git a/net-nds/fedora-ds-admin/files/dirsrv-admin.initd b/net-nds/fedora-ds-admin/files/dirsrv-admin.initd new file mode 100755 index 00000000..8c31979d --- /dev/null +++ b/net-nds/fedora-ds-admin/files/dirsrv-admin.initd @@ -0,0 +1,165 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +opts="configdump configtest fullstatus graceful gracefulstop modules reload" + +depend() { + need net + use mysql dns logger netmount postgresql + after sshd +} + +configtest() { + ebegin "Checking Apache Configuration" + checkconfig + eend $? +} + +checkconfd() { + PIDFILE="${PIDFILE:-/var/run/dirsrv/admin-serv.pid}" + TIMEOUT=${TIMEOUT:-10} + + SERVERROOT="${SERVERROOT:-/usr/lib/apache2}" + if [ ! -d ${SERVERROOT} ]; then + eerror "SERVERROOT does not exist: ${SERVERROOT}" + return 1 + fi + + CONFIGFILE="${CONFIGFILE:-/etc/dirsrv/admin-serv/httpd.conf}" + [ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}" + if [ ! -r "${CONFIGFILE}" ]; then + eerror "Unable to read configuration file: ${CONFIGFILE}" + return 1 + fi + + APACHE2_OPTS="${APACHE2_OPTS} -d ${SERVERROOT}" + APACHE2_OPTS="${APACHE2_OPTS} -f ${CONFIGFILE}" + [ -n "${STARTUPERRORLOG}" ] && APACHE2_OPTS="${APACHE2_OPTS} -E ${STARTUPERRORLOG}" + + APACHE2="/usr/sbin/apache2" +} + +checkconfig() { + checkconfd || return 1 + + ${APACHE2} ${APACHE2_OPTS} -t 1>/dev/null 2>&1 + ret=$? + if [ $ret -ne 0 ]; then + eerror "Apache2 has detected a syntax error in your configuration files:" + ${APACHE2} ${APACHE2_OPTS} -t + fi + + return $ret +} + +start() { + checkconfig || return 1 + + [ -f /var/log/dirsrv/admin-serv/ssl_scache ] && rm /var/log/dirsrv/admin-serv/ssl_scache + + ebegin "Starting apache2" + ${APACHE2} ${APACHE2_OPTS} -k start + + let i=0 + while [ ! -e "${PIDFILE}" ] && [ $i -lt ${TIMEOUT} ]; do + sleep 1 && let i++ + done + + test $i -le ${TIMEOUT} + eend $? +} + +stop() { + checkconfd || return 1 + + ebegin "Stopping apache2" + ${APACHE2} ${APACHE2_OPTS} -k stop + + let i=0 + while pidof "${APACHE2}" >/dev/null && [ $i -lt ${TIMEOUT} ]; do + sleep 1 && let i++ + done + + test $i -le ${TIMEOUT} + eend $? +} + +reload() { + RELOAD_TYPE="${RELOAD_TYPE:-graceful}" + + checkconfig || return 1 + service_started "${SVCNAME}" || return + + if [ "${RELOAD_TYPE}" = "restart" ]; then + ebegin "Restarting apache2" + ${APACHE2} ${APACHE2_OPTS} -k restart + eend $? + elif [ "${RELOAD_TYPE}" = "graceful" ]; then + ebegin "Gracefully restarting apache2" + ${APACHE2} ${APACHE2_OPTS} -k graceful + eend $? + else + eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/dirsrv-admin" + fi +} + +graceful() { + checkconfig || return 1 + service_started "${SVCNAME}" || return + ebegin "Gracefully restarting apache2" + ${APACHE2} ${APACHE2_OPTS} -k graceful + eend $? +} + +gracefulstop() { + checkconfig || return 1 + + # zap! + if service_started "${SVCNAME}"; then + mark_service_stopped "${SVCNAME}" + fi + + ebegin "Gracefully stopping apache2" + ${APACHE2} ${APACHE2_OPTS} -k graceful-stop + eend $? +} + +modules() { + checkconfig || return 1 + + ${APACHE2} ${APACHE2_OPTS} -M 2>&1 +} + +fullstatus() { + LYNX="${LYNX:-lynx -dump}" + STATUSURL="${STATUSURL:-http://localhost/server-status}" + + if ! service_started "${SVCNAME}"; then + eerror "${SVCNAME} not started" + elif ! type -p ${LYNX} 2>&1 >/dev/null; then + eerror "lynx not found! you need to emerge www-client/lynx" + else + ${LYNX} ${STATUSURL} + fi +} + +configdump() { + LYNX="${LYNX:-lynx -dump}" + INFOURL="${INFOURL:-http://localhost/server-info}" + + checkconfd || return 1 + + if ! service_started "${SVCNAME}"; then + eerror "${SVCNAME} not started" + elif ! type -p ${LYNX} 2>&1 >/dev/null; then + eerror "lynx not found! you need to emerge www-client/lynx" + else + echo "${APACHE2} started with '${APACHE2_OPTS}'" + for i in config server list; do + ${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q' + done + fi +} + +# vim: ts=4 filetype=gentoo-init-d