Introducing ApacheDS ebuild

This commit is contained in:
Micha Glave
2013-09-26 16:17:38 +02:00
parent 4f5af8d3a0
commit 1131abbc35
4 changed files with 155 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
# Set the handle of the JVM to use. If unset uses the system-vm.
# run 'eselect java-vm list' to get possible values.
#
#APACHEDS_JVM="icedtea-7"
# Additional options to pass to the JVM.
# Example to set library path for tomcat-native:
# JAVA_OPTS="-Djava.library.path=/usr/lib"
#
#JAVA_OPTS=""
# User/Group of this instance.
APACHEDS_USER=@INSTANCE_USER@
APACHEDS_GROUP=@INSTANCE_GROUP@
# Directory path location of temporary directory the JVM should
# use (java.io.tmpdir).
# Note: This directory must exist and be read/writable by tomcat.
# See #246362 as an example where /var/tmp was deleted on shutdown.
#
#APACHEDS_TMPDIR="/@GENTOO_PORTAGE_EPREFIX@var/tmp/apacheds"
# Additional options to pass to ApacheDS
#
#APACHEDS_OPTS=""

View File

@@ -0,0 +1,71 @@
#!/@GENTOO_PORTAGE_EPREFIX@sbin/runscript
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
PIDFILE=/@GENTOO_PORTAGE_EPREFIX@var/run/${RC_SVCNAME}.pid
: ${APACHEDS_HOME:=/@GENTOO_PORTAGE_EPREFIX@var/run/${RC_SVCNAME}}
: ${APACHEDS_BASE:=/@GENTOO_PORTAGE_EPREFIX@var/lib/${RC_SVCNAME}}
: ${APACHEDS_TMPDIR:=/@GENTOO_PORTAGE_EPREFIX@var/tmp/${RC_SVCNAME}}
: ${APACHEDS_USER:=apacheds}
: ${APACHEDS_GROUP:=apacheds}
export JAVA_HOME=`java-config ${TOMCAT_JVM:+--select-vm ${TOMCAT_JVM}} --jre-home`
ADS_PWD=/usr/share/apacheds
# Building dynamically the classpath
depend() {
use logger net
}
start() {
ebegin "Starting ${RC_SVCNAME}"
if [ ! -e "${APACHEDS_TMPDIR}" ]; then
eerror "APACHEDS_TMPDIR does not exist. Unable to start tomcat."
eerror "Please see /@GENTOO_PORTAGE_EPREFIX@etc/conf.d/${RC_SVCNAME} for more information."
eend 1
fi
ADS_CONTROLS="-Dapacheds.controls=org.apache.directory.api.ldap.codec.controls.cascade.CascadeFactory,org.apache.directory.api.ldap.codec.controls.manageDsaIT.ManageDsaITFactory,org.apache.directory.api.ldap.codec.controls.search.entryChange.EntryChangeFactory,org.apache.directory.api.ldap.codec.controls.search.pagedSearch.PagedResultsFactory,org.apache.directory.api.ldap.codec.controls.search.persistentSearch.PersistentSearchFactory,org.apache.directory.api.ldap.codec.controls.search.subentries.SubentriesFactory,org.apache.directory.api.ldap.extras.controls.ppolicy_impl.PasswordPolicyFactory,org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncDoneValueFactory,org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncInfoValueFactory,org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncRequestValueFactory,org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncStateValueFactory"
ADS_EXTENDED_OPERATIONS="-Dapacheds.extendedOperations=org.apache.directory.api.ldap.extras.extended.ads_impl.cancel.CancelFactory,org.apache.directory.api.ldap.extras.extended.ads_impl.certGeneration.CertGenerationFactory,org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulShutdown.GracefulShutdownFactory,org.apache.directory.api.ldap.extras.extended.ads_impl.storedProcedure.StoredProcedureFactory,org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectFactory"
CLASSPATH=
for i in $(ls $ADS_PWD)
do
CLASSPATH=${CLASSPATH}:$ADS_PWD/${i}
done
start-stop-daemon --start \
--quiet --background \
--chdir "${APACHEDS_TMPDIR}" \
--user ${APACHEDS_USER}:${APACHEDS_GROUP} \
--make-pidfile --pidfile ${PIDFILE} \
--exec ${JAVA_HOME}/bin/java \
-- \
${JAVA_OPTS} \
${ADS_CONTROLS} \
${ADS_EXTENDED_OPERATIONS} \
-Dlog4j.configuration=file:/etc/apacheds/log4j.properties \
-Dapacheds.log.dir=/var/log/${RC_SVCNAME} \
-Djava.io.tmpdir="${APACHEDS_TMPDIR}" \
-classpath "${CLASSPATH}" \
org.apache.directory.server.UberjarMain \
"${APACHEDS_HOME}"
eend $?
}
stop() {
ebegin "Stopping '${RC_SVCNAME}'"
start-stop-daemon --stop \
--quiet --retry=60 \
--pidfile ${PIDFILE}
--signal=3
eend $?
}