Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 76262 invoked from network); 1 Apr 2008 16:22:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Apr 2008 16:22:10 -0000 Received: (qmail 89096 invoked by uid 500); 1 Apr 2008 16:22:10 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 89056 invoked by uid 500); 1 Apr 2008 16:22:10 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 89038 invoked by uid 99); 1 Apr 2008 16:22:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Apr 2008 09:22:10 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Apr 2008 16:21:14 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 920DC1A983E; Tue, 1 Apr 2008 09:21:24 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r643469 [2/3] - in /directory/daemon/branches/bigbang/plugin/src/main: java/org/apache/directory/daemon/installers/ java/org/apache/directory/daemon/installers/bin/ java/org/apache/directory/daemon/installers/deb/ java/org/apache/directory/... Date: Tue, 01 Apr 2008 16:20:54 -0000 To: commits@directory.apache.org From: pamarcelot@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080401162124.920DC1A983E@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init Tue Apr 1 09:20:44 2008 @@ -0,0 +1,593 @@ +#! /bin/sh +# +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# Shell script to start/stop Apache Directory Server +# If you want to change apacheds service settings please modify the apacheds.conf +# file for the instance you wish to change. +# chkconfig: 2345 91 35 +# description: This script starts and stops Apache DS +# + +# Variables +INSTANCE_HOME="@INSTANCE.HOME@" +APACHEDS_HOME="@APACHEDS.HOME@" +INSTANCE="@INSTANCE@" + +# Application +APP_NAME="@app@" +export APACHEDS_HOME +APP_LONG_NAME="Apache Directory Server - $INSTANCE" + + +# Wrapper +WRAPPER_CMD="$APACHEDS_HOME/bin/@app@" +WRAPPER_CONF="$APACHEDS_HOME/conf/@app@.conf" + +# Priority at which to run the wrapper. See "man nice" for valid priorities. +# nice is only used if a priority is specified. +PRIORITY= + +# Location of the pid file. +PIDDIR="/var/run/@app@-@app.version@" + +# If uncommented, causes the Wrapper to be shutdown using an anchor file. +# When launched with the 'start' command, it will also ignore all INT and +# TERM signals. +#IGNORE_SIGNALS=true + +# If specified, the Wrapper will be run as the specified user. +# IMPORTANT - Make sure that the user has the required privileges to write +# the PID file and wrapper.log files. Failure to be able to write the log +# file will cause the Wrapper to exit without any way to write out an error +# message. +# NOTE - This will set the user which is used to run the Wrapper as well as +# the JVM and is not useful in situations where a privileged resource or +# port needs to be allocated prior to the user being changed. +RUN_AS_USER=$APP_NAME + +# Do not modify anything beyond this point +#----------------------------------------------------------------------------- + +# Get the fully qualified path to the script +case $0 in + /*) + SCRIPT="$0" + ;; + *) + PWD=`pwd` + SCRIPT="$PWD/$0" + ;; +esac + +# Resolve the true real path without any sym links. +CHANGED=true +while [ "X$CHANGED" != "X" ] +do + # Change spaces to ":" so the tokens can be parsed. + SAFESCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'` + # Get the real path to this script, resolving any symbolic links + TOKENS=`echo $SAFESCRIPT | sed -e 's;/; ;g'` + REALPATH= + for C in $TOKENS; do + # Change any ":" in the token back to a space. + C=`echo $C | sed -e 's;:; ;g'` + REALPATH="$REALPATH/$C" + # If REALPATH is a sym link, resolve it. Loop for nested links. + while [ -h "$REALPATH" ] ; do + LS="`ls -ld "$REALPATH"`" + LINK="`expr "$LS" : '.*-> \(.*\)$'`" + if expr "$LINK" : '/.*' > /dev/null; then + # LINK is absolute. + REALPATH="$LINK" + else + # LINK is relative. + REALPATH="`dirname "$REALPATH"`""/$LINK" + fi + done + done + + if [ "$REALPATH" = "$SCRIPT" ] + then + CHANGED="" + else + SCRIPT="$REALPATH" + fi +done + +# Change the current directory to the location of the script +cd "`dirname "$REALPATH"`" +REALDIR=`pwd` + +# If the PIDDIR is relative, set its value relative to the full REALPATH to avoid problems if +# the working directory is later changed. +FIRST_CHAR=`echo $PIDDIR | cut -c1,1` +if [ "$FIRST_CHAR" != "/" ] +then + PIDDIR=$REALDIR/$PIDDIR +fi +# Same test for WRAPPER_CMD +FIRST_CHAR=`echo $WRAPPER_CMD | cut -c1,1` +if [ "$FIRST_CHAR" != "/" ] +then + WRAPPER_CMD=$REALDIR/$WRAPPER_CMD +fi +# Same test for WRAPPER_CONF +FIRST_CHAR=`echo $WRAPPER_CONF | cut -c1,1` +if [ "$FIRST_CHAR" != "/" ] +then + WRAPPER_CONF=$REALDIR/$WRAPPER_CONF +fi + +# Process ID +ANCHORFILE="$PIDDIR/@app@-@app.version@-$INSTANCE.anchor" +PIDFILE="$PIDDIR/$INSTANCE.pid" +LOCKDIR="/var/lock/subsys" +LOCKFILE="$LOCKDIR/$INSTANCE" +pid="" + +# Resolve the location of the 'ps' command +PSEXE="/usr/bin/ps" +if [ ! -x "$PSEXE" ] +then + PSEXE="/bin/ps" + if [ ! -x "$PSEXE" ] + then + echo "Unable to locate 'ps'." + echo "Please report this message along with the location of the command on your system." + exit 1 + fi +fi + +# Resolve the os +DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]` +case "$DIST_OS" in + 'sunos') + DIST_OS="solaris" + ;; + 'hp-ux' | 'hp-ux64') + DIST_OS="hpux" + ;; + 'darwin') + DIST_OS="macosx" + ;; + 'unix_sv') + DIST_OS="unixware" + ;; +esac + +# Resolve the architecture +DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]` +if [ "$DIST_ARCH" = "unknown" ] +then + DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]` +fi +case "$DIST_ARCH" in + 'amd64' | 'athlon' | 'ia32' | 'ia64' | 'i386' | 'i486' | 'i586' | 'i686' | 'x86_64') + DIST_ARCH="x86" + ;; + 'ip27') + DIST_ARCH="mips" + ;; + 'power' | 'powerpc' | 'power_pc' | 'ppc64') + DIST_ARCH="ppc" + ;; + 'pa_risc' | 'pa-risc') + DIST_ARCH="parisc" + ;; + 'sun4u' | 'sparcv9') + DIST_ARCH="sparc" + ;; + '9000/800') + DIST_ARCH="parisc" + ;; +esac + +outputFile() { + if [ -f "$1" ] + then + echo " $1 (Found but not executable.)"; + else + echo " $1" + fi +} + +# Decide on the wrapper binary to use. +# If a 32-bit wrapper binary exists then it will work on 32 or 64 bit +# platforms, if the 64-bit binary exists then the distribution most +# likely wants to use long names. Otherwise, look for the default. +# For macosx, we also want to look for universal binaries. +WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32" +if [ -x "$WRAPPER_TEST_CMD" ] +then + WRAPPER_CMD="$WRAPPER_TEST_CMD" +else + if [ "$DIST_OS" = "macosx" ] + then + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-32" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-64" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + if [ ! -x "$WRAPPER_CMD" ] + then + echo "Unable to locate any of the following binaries:" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32" + outputFile "$WRAPPER_CMD-$DIST_OS-universal-32" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + outputFile "$WRAPPER_CMD-$DIST_OS-universal-64" + outputFile "$WRAPPER_CMD" + exit 1 + fi + fi + fi + fi + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + if [ ! -x "$WRAPPER_CMD" ] + then + echo "Unable to locate any of the following binaries:" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + outputFile "$WRAPPER_CMD" + exit 1 + fi + fi + fi +fi + +# Build the nice clause +if [ "X$PRIORITY" = "X" ] +then + CMDNICE="" +else + CMDNICE="nice -$PRIORITY" +fi + +# Build the anchor file clause. +if [ "X$IGNORE_SIGNALS" = "X" ] +then + ANCHORPROP= + IGNOREPROP= +else + ANCHORPROP=wrapper.anchorfile=\"$ANCHORFILE\" + IGNOREPROP=wrapper.ignore_signals=TRUE +fi + +# Build the lock file clause. Only create a lock file if the lock directory exists on this platform. +LOCKPROP= +if [ -d $LOCKDIR ] +then + if [ -w $LOCKDIR ] + then + LOCKPROP=wrapper.lockfile=\"$LOCKFILE\" + fi +fi + +checkUser() { + # $1 touchLock flag + # $2 command + # $3 instance + + # Check the configured user. If necessary rerun this script as the desired user. + if [ "X$RUN_AS_USER" != "X" ] + then + # Resolve the location of the 'id' command + IDEXE="/usr/xpg4/bin/id" + if [ ! -x "$IDEXE" ] + then + IDEXE="/usr/bin/id" + if [ ! -x "$IDEXE" ] + then + echo "Unable to locate 'id'." + echo "Please report this message along with the location of the command on your system." + exit 1 + fi + fi + + if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ] + then + # Already running as the configured user. Avoid password prompts by not calling su. + RUN_AS_USER="" + fi + fi + if [ "X$RUN_AS_USER" != "X" ] + then + # If LOCKPROP and $RUN_AS_USER are defined then the new user will most likely not be + # able to create the lock file. The Wrapper will be able to update this file once it + # is created but will not be able to delete it on shutdown. If $2 is defined then + # the lock file should be created for the current command + if [ "X$LOCKPROP" != "X" ] + then + if [ "X$1" != "X" ] + then + # Resolve the primary group + RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1` + if [ "X$RUN_AS_GROUP" = "X" ] + then + RUN_AS_GROUP=$RUN_AS_USER + fi + touch $LOCKFILE + chown $RUN_AS_USER:$RUN_AS_GROUP $LOCKFILE + fi + fi + + # Still want to change users, recurse. This means that the user will only be + # prompted for a password once. Variables shifted by 1 + su -m $RUN_AS_USER -c "\"$REALPATH\" $2 $3" + + # Now that we are the original user again, we may need to clean up the lock file. + if [ "X$LOCKPROP" != "X" ] + then + getpid + if [ "X$pid" = "X" ] + then + # Wrapper is not running so make sure the lock file is deleted. + if [ -f "$LOCKFILE" ] + then + rm "$LOCKFILE" + fi + fi + fi + + exit 0 + fi +} + +getpid() { + if [ -f "$PIDFILE" ] + then + if [ -r "$PIDFILE" ] + then + pid=`cat "$PIDFILE"` + if [ "X$pid" != "X" ] + then + # It is possible that 'a' process with the pid exists but that it is not the + # correct process. This can happen in a number of cases, but the most + # common is during system startup after an unclean shutdown. + # The ps statement below looks for the specific wrapper command running as + # the pid. If it is not found then the pid file is considered to be stale. + pidtest=`$PSEXE -p $pid -o args | grep "$WRAPPER_CMD" | tail -1` + if [ "X$pidtest" = "X" ] + then + # This is a stale pid file. + rm -f "$PIDFILE" + echo "Removed stale pid file: $PIDFILE" + pid="" + fi + fi + else + echo "Cannot read $PIDFILE." + exit 1 + fi + fi +} + +testpid() { + pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1` + if [ "X$pid" = "X" ] + then + # Process is gone so remove the pid file. + rm -f "$PIDFILE" + pid="" + fi +} + +usage() { + echo "Usage: $0 " + echo " Available Commands: " + echo " console - Run in interactive mode with log output to the console." + echo " Press CTRL-C to stop." + echo " start - Run the instance in the background" + echo " stop - Stop the running instance" + echo " restart - Restart the instance if it is already running," + echo " or start if it wasn't already running" + echo " status - Display the status of the instance (running or stopped)" + echo " dump - Request a JVM dump of the running process" +} + +console() { + echo "Running $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + # The string passed to eval must handles spaces in paths correctly. + COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_HOME=\"$INSTANCE_HOME\" set.INSTANCE=\"$INSTANCE\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP wrapper.debug=true" + eval $COMMAND_LINE + else + echo "$APP_LONG_NAME is already running." + exit 1 + fi +} + +start() { + echo "Starting $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + # The string passed to eval must handles spaces in paths correctly. + COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_HOME=$INSTANCE_HOME set.INSTANCE=$INSTANCE wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP" + eval $COMMAND_LINE + else + echo "$APP_LONG_NAME is already running." + exit 1 + fi + + +} + +stopit() { + echo "Stopping $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME was not running." + else + if [ "X$IGNORE_SIGNALS" = "X" ] + then + # Running so try to stop it. + kill $pid + if [ $? -ne 0 ] + then + # An explanation for the failure should have been given + echo "Unable to stop $APP_LONG_NAME." + exit 1 + fi + else + rm -f "$ANCHORFILE" + if [ -f "$ANCHORFILE" ] + then + # An explanation for the failure should have been given + echo "Unable to stop $APP_LONG_NAME." + exit 1 + fi + fi + + # We can not predict how long it will take for the wrapper to + # actually stop as it depends on settings in apacheds.conf. + # Loop until it does. + savepid=$pid + CNT=0 + TOTCNT=0 + while [ "X$pid" != "X" ] + do + # Show a waiting message every 5 seconds. + if [ "$CNT" -lt "5" ] + then + CNT=`expr $CNT + 1` + else + echo "Waiting for $APP_LONG_NAME to exit..." + CNT=0 + fi + TOTCNT=`expr $TOTCNT + 1` + + sleep 1 + + testpid + done + + pid=$savepid + testpid + if [ "X$pid" != "X" ] + then + echo "Failed to stop $APP_LONG_NAME." + exit 1 + else + echo "Stopped $APP_LONG_NAME." + fi + fi +} + +status() { + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME is not running." + exit 1 + else + echo "$APP_LONG_NAME is running ($pid)." + exit 0 + fi +} + +dump() { + echo "Dumping $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME was not running." + + else + kill -3 $pid + + if [ $? -ne 0 ] + then + echo "Failed to dump $APP_LONG_NAME." + exit 1 + else + echo "Dumped $APP_LONG_NAME." + fi + fi +} + +list() { + echo "Available instances..." + for instance in $INSTANCE_HOME/* ; do + echo " " `basename $instance`; + done +} + +case "$1" in + + 'console') + checkUser touchlock $1 $INSTANCE + console + ;; + + 'start') + checkUser touchlock $1 $INSTANCE + start + ;; + + 'stop') + checkUser "" $1 $INSTANCE + stopit + ;; + + 'restart') + checkUser touchlock $1 $INSTANCE + stopit + start + ;; + + 'status') + checkUser "" $1 $INSTANCE + status + ;; + + 'dump') + checkUser "" $1 $INSTANCE + dump + ;; + 'list') + list + ;; + + *) + echo "Usage: $0 { console | start | stop | restart | status | dump }" + exit 1 + ;; +esac + +exit 0 Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf Tue Apr 1 09:20:44 2008 @@ -0,0 +1,124 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +#include /etc/apacheds/%INSTANCE%.conf + +# If the default java executable is not on the path, +# this will need to be set to a fully qualified path. +# This can also be overridden in /var/lib/apacheds//conf/apacheds.conf +# +#wrapper.java.command=/usr/local/java/jdk1.5.0_10/bin/java + +wrapper.java.mainclass=org.apache.directory.daemon.TanukiBootstrapper +wrapper.max_failed_invocations=1 + +wrapper.java.classpath.1=../lib/bootstrapper.jar +wrapper.java.classpath.2=../lib/wrapper.jar +wrapper.java.classpath.3=../lib/slf4j-api-1.4.3.jar +wrapper.java.classpath.4=../lib/slf4j-log4j12-1.4.3.jar +wrapper.java.classpath.5=../lib/log4j-1.2.14.jar + +# Java Library Path (location of Wrapper.DLL or libwrapper.so) +wrapper.java.library.path.1=../lib + +# Java Additional Parameters +wrapper.java.additional.1=-Dlog4j.configuration=file:///%INSTANCE_HOME%/%INSTANCE%/conf/log4j.properties +wrapper.java.additional.2=-Dapacheds.var.dir=%INSTANCE_HOME%/%INSTANCE% +wrapper.java.additional.3=-Dapacheds.log.dir=%INSTANCE_HOME%/%INSTANCE%/log +wrapper.java.additional.4=-Dapacheds.run.dir=%INSTANCE_HOME%/%INSTANCE%/run +wrapper.java.additional.5=-Dapacheds.instance=%INSTANCE% +wrapper.java.additional.6=-Dbootstrap.start.class=org.apache.ldap.server.Service +wrapper.java.additional.7=-Dbootstrap.stop.class=org.apache.ldap.server.Service + +# Initial Java Heap Size (in MB) +wrapper.java.initmemory=384 + +# Maximum Java Heap Size (in MB) +wrapper.java.maxmemory=384 + +# Application parameters. Add parameters as needed starting from 1 +wrapper.app.parameter.1=%APACHEDS_HOME% +wrapper.app.parameter.2=org.apache.directory.server.Service +wrapper.app.parameter.3=%INSTANCE_HOME%/%INSTANCE%/conf/server.xml + +#******************************************************************** +# Wrapper Logging Properties +#******************************************************************** +# Format of output for the console. (See docs for formats) +wrapper.console.format=PM + +# Log Level for console output. (See docs for log levels) +wrapper.console.loglevel=INFO + +# Log file to use for wrapper output logging. +wrapper.logfile="%INSTANCE_HOME%/%INSTANCE%/log/wrapper.log" + +# Format of output for the log file. (See docs for formats) +wrapper.logfile.format=LPTM + +# Log Level for log file output. (See docs for log levels) +wrapper.logfile.loglevel=INFO + +# Maximum size that the log file will be allowed to grow to before +# the log is rolled. Size is specified in bytes. The default value +# of 0, disables log rolling. May abbreviate with the 'k' (kb) or +# 'm' (mb) suffix. For example: 10m = 10 megabytes. +wrapper.logfile.maxsize=1m + +# Maximum number of rolled log files which will be allowed before old +# files are deleted. The default value of 0 implies no limit. +wrapper.logfile.maxfiles=5 + +# Log Level for sys/event log output. (See docs for log levels) +wrapper.syslog.loglevel=NONE + +#******************************************************************** +# Wrapper Windows Properties +#******************************************************************** +# Title to use when running as a console +wrapper.console.title=apacheds-%INSTANCE% + +#******************************************************************** +# Wrapper Windows NT/2000/XP Service Properties +#******************************************************************** +# WARNING - Do not modify any of these properties when an application +# using this configuration file has been installed as a service. +# Please uninstall the service before modifying this section. The +# service can then be reinstalled. + +# Name of the service +wrapper.ntservice.name=apacheds-%INSTANCE% + +# Display name of the service +wrapper.ntservice.displayname=Apache Directory Server - %INSTANCE% + +# Description of the service +wrapper.ntservice.description=Apache Directory Server - %INSTANCE% + +# Service dependencies. Add dependencies as needed starting from 1 +#wrapper.ntservice.dependency.1= + +# Mode in which the service is installed. AUTO_START or DEMAND_START +wrapper.ntservice.starttype=AUTO_START + +# Allow the service to interact with the desktop. +wrapper.ntservice.interactive=false + +# Anything after this line can't be overridden +#include "%INSTANCE_HOME%/%INSTANCE%/conf/apacheds.conf" \ No newline at end of file Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh Tue Apr 1 09:20:44 2008 @@ -0,0 +1,238 @@ +#!/bin/sh + +# Variables +export APACHEDS_VERSION=${apacheds.version} + +# Displaying welcome message and license terms +more <<"EOF" + WELCOME TO THE APACHE DS INSTALLER PROGRAM + _ _ ____ ____ + / \ _ __ __ _ ___| |__ ___| _ \/ ___| + / _ \ | '_ \ / _` |/ __| '_ \ / _ \ | | \___ \ + / ___ \| |_) | (_| | (__| | | | __/ |_| |___) | + /_/ \_\ .__/ \__,_|\___|_| |_|\___|____/|____/ + |_| + + Apache DS is distributed under the Apache Software License Version 2.0. + + Please, take some time to read the license terms below. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. +EOF + +# Asking for license agreement +echo "" +echo "Do you agree to the above license terms? [yes or no]" + +# Reading userInput +while [ "true" ]; +do + read userInput leftover + case $userInput in + [yY] | [yY][eE][sS]) + break;; + [nN] | [nN][oO]) + echo "If you don't agree to the license this software cannot be installed." + exit 1 + esac +done + +# This is the name of the contained archive +archiveName=__tmp.tar.gz + +# Unpacking the installer +echo "Unpacking the installer..." +trap 'rm -f $archiveName; exit 1' HUP INT QUIT TERM +tail -n +@LINES@ $0 > $archiveName + +# Extracting the installer +echo "Extracting the installer..." +tar xzf $archiveName + +# Launching the installer +cd sh +. ./install.sh + +# Cleaning +cd .. +rm -rf sh +rm -rd root +rm -f $archiveName + +# Finishing +echo "Done." +echo "Apache DS has been installed successfully." +exit 0 Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/createInstaller.sh URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/createInstaller.sh?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/createInstaller.sh (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/createInstaller.sh Tue Apr 1 09:20:44 2008 @@ -0,0 +1,18 @@ +#!/bin/sh + +# Copying bootstrap.sh to the installer (and replacing the @lines@ variable) +lines=`wc -l < bootstrap.sh` +lines=`expr $lines + 1` +sed -e "s/@LINES@/${lines}/" bootstrap.sh > ../${finalName} + +# Packing the data and shell scripts +tar czf ${tmpArchive} root/* sh/* + +# Adding the temp archive to the installer +cat ${tmpArchive} >> ../${finalName} + +# Modifying permission on the installer so it is executable +chmod 750 ../${finalName} + +# Cleaning +rm ${tmpArchive} \ No newline at end of file Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh Tue Apr 1 09:20:44 2008 @@ -0,0 +1,110 @@ +#!/bin/sh + +#------------------------------------------------------------------------------ +# Updates a variables that will be exported. The question, the variable name, +# the default value and the mandatory aspect of the input are stored in the +# "variables.sh" file under the following form: +# | | [] | [] +#------------------------------------------------------------------------------ +ask_param() +{ + # Skipping empty lines + if [ -z "$1" ] + then + return + fi + + # Searching for the current line (which is not a comment) + curline=`cat -n variables.sh | grep -e "^[[:space:]]*$1[[:space:]][[:space:]]*" | sed -e 's/^[^a-aA-Z|#-]*//'` + comment=`echo $curline | grep -e "^\#"` + + # Skipping comments + if [ -n "$comment" ] + then + return + fi + + # Getting question, variable, default and mandatory values + question=`echo $curline | cut -d'|' -f1 | sed -e 's/^[ ]*//' -e 's/[ ]*$//'` # The question + variable=`echo $curline | cut -d'|' -f2 | sed -e 's/^[ ]*//' -e 's/[ ]*$//'` # The variable + default=`echo $curline | cut -d'|' -f3 | sed -e 's/^[ ]*//' -e 's/[ ]*$//'` # The default value + mandatory=`echo $curline | cut -d'|' -f4 | sed -e 's/^[ ]*//' -e 's/[ ]*$//'` # Mandatory input ? + + # Use the commands below for debug + #echo "Current Line = " $curline + #echo "Question = " $question + #echo "Variable = " $variable + #echo "Default value = " $default + #echo "Mandatory = " $mandatory + + # The line must include a variable + if [ -z "$variable" ] + then + return + fi + + # If there is no question, we update the variable and we return + if [ -z "$question" ] + then + var=`eval echo $default` + export $variable="$var" + return + fi + + # Removing extra spaces from mandatory + if [ -n "$mandatory" ] + then + mandatory=`echo $mandatory | sed -e 's/[[:space:]*M[[:space:]]*/M/'` + fi + + # Let's ask the question + if [ -n "$default" ] + then + printf "$question? [Default: "; + printf `eval echo $default`; + printf "]\n" + else + echo "$question?" + fi + + # Reading anwser + read read_answer + while [ -z "$read_answer" ] + do + if [ "x$mandatory" = "xM" ] + then + echo "You have to anwser, please." + if [ -n "$default" ] + then + printf "$question? [Default: "; + printf `eval echo $default`; + printf "]\n" + else + echo "$question?" + fi + read read_answer + else + # If the user does not enter any input and the input is not + # mandatory, we use the default value + read_answer=`eval echo $default` + fi + done + + # Exporting the variable + export $variable="$read_answer" +} + +#------------------------------------------------------------------------------ +# Verifies the exit code of the last command used. If the exit code is 0, the +# execution continues, if not the execution is halted and we exit the program +# with a 1 value. +#------------------------------------------------------------------------------ +verifyExitCode() +{ + if [ $? -ne 0 ] + then + echo "An error occurred when installing Apache DS." + echo "Apache DS installation failed." + exit 1 + fi +} \ No newline at end of file Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh Tue Apr 1 09:20:44 2008 @@ -0,0 +1,105 @@ +#!/bin/sh + +# Loading functions +. ./functions.sh + +# Reading variables file and asking questions +lines=`wc -l < ./variables.sh` +count=1 +lines=`expr ${lines:-0} + 1` +while [ $count -lt $lines ] +do + ask_param $count + count=`expr ${count:-0} + 1` +done + +# +# Starting installation +# + +# Verifying the user is root +#if ( test `id -un` != "root" ) +#then +# echo "Only root can install this software." +# echo "Apache DS installation has failed." +# exit 1 ; +#fi + +# Installing +echo "Installing..." + +# Copying the server files +mkdir -p $APACHEDS_HOME_DIRECTORY +verifyExitCode +cp -r ../root/server/* $APACHEDS_HOME_DIRECTORY +verifyExitCode + +# Creating instances home directory +mkdir -p $INSTANCES_HOME_DIRECTORY +verifyExitCode + +# Creating the default instance home directory +DEFAULT_INSTANCE_HOME_DIRECTORY=$INSTANCES_HOME_DIRECTORY/$DEFAULT_INSTANCE_NAME +verifyExitCode +mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTORY +verifyExitCode +mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTORY/conf +verifyExitCode +mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTORY/ldif +verifyExitCode +mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTORY/log +verifyExitCode +mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTORY/partitions +verifyExitCode +mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTORY/run +verifyExitCode + +# Creating the PID directory +mkdir -p /var/run/apacheds-$APACHEDS_VERSION +verifyExitCode + +# Copying the default instance files +cp ../root/instance/apacheds.conf $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/ +verifyExitCode +cp ../root/instance/log4j.properties $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/ +verifyExitCode +cp ../root/instance/server.xml $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/ +verifyExitCode + +# Filtering and copying the init.d script +sed -e "s;@APACHEDS.HOME@;${APACHEDS_HOME_DIRECTORY};" ../root/instance/apacheds-init > ../root/instance/apacheds-init.tmp +verifyExitCode +mv ../root/instance/apacheds-init.tmp ../root/instance/apacheds-init +verifyExitCode +sed -e "s;@INSTANCE.HOME@;${INSTANCES_HOME_DIRECTORY};" ../root/instance/apacheds-init > ../root/instance/apacheds-init.tmp +verifyExitCode +mv ../root/instance/apacheds-init.tmp ../root/instance/apacheds-init +verifyExitCode +sed -e "s;@INSTANCE@;${DEFAULT_INSTANCE_NAME};" ../root/instance/apacheds-init > ../root/instance/apacheds-init.tmp +verifyExitCode +mv ../root/instance/apacheds-init.tmp ../root/instance/apacheds-init +verifyExitCode +cp ../root/instance/apacheds-init /etc/init.d/apacheds-$APACHEDS_VERSION-$DEFAULT_INSTANCE_NAME +verifyExitCode + +# Setting the correct permissions on executable files +chmod +x /etc/init.d/apacheds-$APACHEDS_VERSION-$DEFAULT_INSTANCE_NAME +verifyExitCode +chmod +x $APACHEDS_HOME_DIRECTORY/bin/apacheds +verifyExitCode + +# Creating the apacheds user (only if needed) +USER=`eval "id -u -n apacheds"` +if [ ! "Xapacheds" = "X$USER" ] +then + /usr/sbin/groupadd apacheds >/dev/null 2>&1 || : + verifyExitCode + /usr/sbin/useradd -g apacheds -d $APACHEDS_HOME_DIRECTORY apacheds >/dev/null 2>&1 || : + verifyExitCode +fi + +# Modifying owner +chown -R apacheds:apacheds $APACHEDS_HOME_DIRECTORY +chown -R apacheds:apacheds $INSTANCES_HOME_DIRECTORY +chown apacheds:apacheds /var/run/apacheds-$APACHEDS_VERSION +chown root:root /etc/init.d/apacheds-$APACHEDS_VERSION-$DEFAULT_INSTANCE_NAME Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh Tue Apr 1 09:20:44 2008 @@ -0,0 +1,4 @@ +#!/bin/sh +Where do you want to install Apache DS|APACHEDS_HOME_DIRECTORY|/opt/apacheds-${APACHEDS_VERSION}|| +Where do you want to install Apache DS instances|INSTANCES_HOME_DIRECTORY|/var/lib/apacheds-${APACHEDS_VERSION}|| +What name do you want for the default instance|DEFAULT_INSTANCE_NAME|default|| Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-default.conf URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-default.conf?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-default.conf (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-default.conf Tue Apr 1 09:20:44 2008 @@ -0,0 +1,41 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# +# In this file you can override parameters specified in the default +# Apache Directory Server config file which is usually at +# /opt/apacheds-x.x.x/conf/apacheds.conf +# +# See also http://wrapper.tanukisoftware.org/doc/english/properties.html +# For a list of properties that can be set. +# +# Common overrides shown commented below + + +# Override the JRE used +# wrapper.java.command=%JAVA_HOME%/bin/java + +# Override the JVM memory settings +# Initial Java Heap Size (in MB) +# wrapper.java.initmemory=384 + +# Maximum Java Heap Size (in MB) +# wrapper.java.maxmemory=384 + +# apacheds.instance.start=auto \ No newline at end of file Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-init URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-init?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-init (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds-init Tue Apr 1 09:20:44 2008 @@ -0,0 +1,593 @@ +#! /bin/sh +# +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# Shell script to start/stop Apache Directory Server +# If you want to change apacheds service settings please modify the apacheds.conf +# file for the instance you wish to change. +# chkconfig: 2345 91 35 +# description: This script starts and stops Apache DS +# + +# Variables +INSTANCE_HOME=/var/lib/@app@-@app.version@ +APACHEDS_HOME=/opt/@app@-@app.version@ +INSTANCE=default + +# Application +APP_NAME="@app@" +export APACHEDS_HOME +APP_LONG_NAME="Apache Directory Server - $INSTANCE" + + +# Wrapper +WRAPPER_CMD="$APACHEDS_HOME/bin/@app@" +WRAPPER_CONF="$APACHEDS_HOME/conf/@app@.conf" + +# Priority at which to run the wrapper. See "man nice" for valid priorities. +# nice is only used if a priority is specified. +PRIORITY= + +# Location of the pid file. +PIDDIR="/var/run/@app@-@app.version@" + +# If uncommented, causes the Wrapper to be shutdown using an anchor file. +# When launched with the 'start' command, it will also ignore all INT and +# TERM signals. +#IGNORE_SIGNALS=true + +# If specified, the Wrapper will be run as the specified user. +# IMPORTANT - Make sure that the user has the required privileges to write +# the PID file and wrapper.log files. Failure to be able to write the log +# file will cause the Wrapper to exit without any way to write out an error +# message. +# NOTE - This will set the user which is used to run the Wrapper as well as +# the JVM and is not useful in situations where a privileged resource or +# port needs to be allocated prior to the user being changed. +RUN_AS_USER=$APP_NAME + +# Do not modify anything beyond this point +#----------------------------------------------------------------------------- + +# Get the fully qualified path to the script +case $0 in + /*) + SCRIPT="$0" + ;; + *) + PWD=`pwd` + SCRIPT="$PWD/$0" + ;; +esac + +# Resolve the true real path without any sym links. +CHANGED=true +while [ "X$CHANGED" != "X" ] +do + # Change spaces to ":" so the tokens can be parsed. + SAFESCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'` + # Get the real path to this script, resolving any symbolic links + TOKENS=`echo $SAFESCRIPT | sed -e 's;/; ;g'` + REALPATH= + for C in $TOKENS; do + # Change any ":" in the token back to a space. + C=`echo $C | sed -e 's;:; ;g'` + REALPATH="$REALPATH/$C" + # If REALPATH is a sym link, resolve it. Loop for nested links. + while [ -h "$REALPATH" ] ; do + LS="`ls -ld "$REALPATH"`" + LINK="`expr "$LS" : '.*-> \(.*\)$'`" + if expr "$LINK" : '/.*' > /dev/null; then + # LINK is absolute. + REALPATH="$LINK" + else + # LINK is relative. + REALPATH="`dirname "$REALPATH"`""/$LINK" + fi + done + done + + if [ "$REALPATH" = "$SCRIPT" ] + then + CHANGED="" + else + SCRIPT="$REALPATH" + fi +done + +# Change the current directory to the location of the script +cd "`dirname "$REALPATH"`" +REALDIR=`pwd` + +# If the PIDDIR is relative, set its value relative to the full REALPATH to avoid problems if +# the working directory is later changed. +FIRST_CHAR=`echo $PIDDIR | cut -c1,1` +if [ "$FIRST_CHAR" != "/" ] +then + PIDDIR=$REALDIR/$PIDDIR +fi +# Same test for WRAPPER_CMD +FIRST_CHAR=`echo $WRAPPER_CMD | cut -c1,1` +if [ "$FIRST_CHAR" != "/" ] +then + WRAPPER_CMD=$REALDIR/$WRAPPER_CMD +fi +# Same test for WRAPPER_CONF +FIRST_CHAR=`echo $WRAPPER_CONF | cut -c1,1` +if [ "$FIRST_CHAR" != "/" ] +then + WRAPPER_CONF=$REALDIR/$WRAPPER_CONF +fi + +# Process ID +ANCHORFILE="$PIDDIR/@app@-@app.version@-$INSTANCE.anchor" +PIDFILE="$PIDDIR/$INSTANCE.pid" +LOCKDIR="/var/lock/subsys" +LOCKFILE="$LOCKDIR/$INSTANCE" +pid="" + +# Resolve the location of the 'ps' command +PSEXE="/usr/bin/ps" +if [ ! -x "$PSEXE" ] +then + PSEXE="/bin/ps" + if [ ! -x "$PSEXE" ] + then + echo "Unable to locate 'ps'." + echo "Please report this message along with the location of the command on your system." + exit 1 + fi +fi + +# Resolve the os +DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]` +case "$DIST_OS" in + 'sunos') + DIST_OS="solaris" + ;; + 'hp-ux' | 'hp-ux64') + DIST_OS="hpux" + ;; + 'darwin') + DIST_OS="macosx" + ;; + 'unix_sv') + DIST_OS="unixware" + ;; +esac + +# Resolve the architecture +DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]` +if [ "$DIST_ARCH" = "unknown" ] +then + DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]` +fi +case "$DIST_ARCH" in + 'amd64' | 'athlon' | 'ia32' | 'ia64' | 'i386' | 'i486' | 'i586' | 'i686' | 'x86_64') + DIST_ARCH="x86" + ;; + 'ip27') + DIST_ARCH="mips" + ;; + 'power' | 'powerpc' | 'power_pc' | 'ppc64') + DIST_ARCH="ppc" + ;; + 'pa_risc' | 'pa-risc') + DIST_ARCH="parisc" + ;; + 'sun4u' | 'sparcv9') + DIST_ARCH="sparc" + ;; + '9000/800') + DIST_ARCH="parisc" + ;; +esac + +outputFile() { + if [ -f "$1" ] + then + echo " $1 (Found but not executable.)"; + else + echo " $1" + fi +} + +# Decide on the wrapper binary to use. +# If a 32-bit wrapper binary exists then it will work on 32 or 64 bit +# platforms, if the 64-bit binary exists then the distribution most +# likely wants to use long names. Otherwise, look for the default. +# For macosx, we also want to look for universal binaries. +WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32" +if [ -x "$WRAPPER_TEST_CMD" ] +then + WRAPPER_CMD="$WRAPPER_TEST_CMD" +else + if [ "$DIST_OS" = "macosx" ] + then + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-32" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-64" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + if [ ! -x "$WRAPPER_CMD" ] + then + echo "Unable to locate any of the following binaries:" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32" + outputFile "$WRAPPER_CMD-$DIST_OS-universal-32" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + outputFile "$WRAPPER_CMD-$DIST_OS-universal-64" + outputFile "$WRAPPER_CMD" + exit 1 + fi + fi + fi + fi + else + WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + if [ -x "$WRAPPER_TEST_CMD" ] + then + WRAPPER_CMD="$WRAPPER_TEST_CMD" + else + if [ ! -x "$WRAPPER_CMD" ] + then + echo "Unable to locate any of the following binaries:" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32" + outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64" + outputFile "$WRAPPER_CMD" + exit 1 + fi + fi + fi +fi + +# Build the nice clause +if [ "X$PRIORITY" = "X" ] +then + CMDNICE="" +else + CMDNICE="nice -$PRIORITY" +fi + +# Build the anchor file clause. +if [ "X$IGNORE_SIGNALS" = "X" ] +then + ANCHORPROP= + IGNOREPROP= +else + ANCHORPROP=wrapper.anchorfile=\"$ANCHORFILE\" + IGNOREPROP=wrapper.ignore_signals=TRUE +fi + +# Build the lock file clause. Only create a lock file if the lock directory exists on this platform. +LOCKPROP= +if [ -d $LOCKDIR ] +then + if [ -w $LOCKDIR ] + then + LOCKPROP=wrapper.lockfile=\"$LOCKFILE\" + fi +fi + +checkUser() { + # $1 touchLock flag + # $2 command + # $3 instance + + # Check the configured user. If necessary rerun this script as the desired user. + if [ "X$RUN_AS_USER" != "X" ] + then + # Resolve the location of the 'id' command + IDEXE="/usr/xpg4/bin/id" + if [ ! -x "$IDEXE" ] + then + IDEXE="/usr/bin/id" + if [ ! -x "$IDEXE" ] + then + echo "Unable to locate 'id'." + echo "Please report this message along with the location of the command on your system." + exit 1 + fi + fi + + if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ] + then + # Already running as the configured user. Avoid password prompts by not calling su. + RUN_AS_USER="" + fi + fi + if [ "X$RUN_AS_USER" != "X" ] + then + # If LOCKPROP and $RUN_AS_USER are defined then the new user will most likely not be + # able to create the lock file. The Wrapper will be able to update this file once it + # is created but will not be able to delete it on shutdown. If $2 is defined then + # the lock file should be created for the current command + if [ "X$LOCKPROP" != "X" ] + then + if [ "X$1" != "X" ] + then + # Resolve the primary group + RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1` + if [ "X$RUN_AS_GROUP" = "X" ] + then + RUN_AS_GROUP=$RUN_AS_USER + fi + touch $LOCKFILE + chown $RUN_AS_USER:$RUN_AS_GROUP $LOCKFILE + fi + fi + + # Still want to change users, recurse. This means that the user will only be + # prompted for a password once. Variables shifted by 1 + su -m $RUN_AS_USER -c "\"$REALPATH\" $2 $3" + + # Now that we are the original user again, we may need to clean up the lock file. + if [ "X$LOCKPROP" != "X" ] + then + getpid + if [ "X$pid" = "X" ] + then + # Wrapper is not running so make sure the lock file is deleted. + if [ -f "$LOCKFILE" ] + then + rm "$LOCKFILE" + fi + fi + fi + + exit 0 + fi +} + +getpid() { + if [ -f "$PIDFILE" ] + then + if [ -r "$PIDFILE" ] + then + pid=`cat "$PIDFILE"` + if [ "X$pid" != "X" ] + then + # It is possible that 'a' process with the pid exists but that it is not the + # correct process. This can happen in a number of cases, but the most + # common is during system startup after an unclean shutdown. + # The ps statement below looks for the specific wrapper command running as + # the pid. If it is not found then the pid file is considered to be stale. + pidtest=`$PSEXE -p $pid -o args | grep "$WRAPPER_CMD" | tail -1` + if [ "X$pidtest" = "X" ] + then + # This is a stale pid file. + rm -f "$PIDFILE" + echo "Removed stale pid file: $PIDFILE" + pid="" + fi + fi + else + echo "Cannot read $PIDFILE." + exit 1 + fi + fi +} + +testpid() { + pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1` + if [ "X$pid" = "X" ] + then + # Process is gone so remove the pid file. + rm -f "$PIDFILE" + pid="" + fi +} + +usage() { + echo "Usage: $0 " + echo " Available Commands: " + echo " console - Run in interactive mode with log output to the console." + echo " Press CTRL-C to stop." + echo " start - Run the instance in the background" + echo " stop - Stop the running instance" + echo " restart - Restart the instance if it is already running," + echo " or start if it wasn't already running" + echo " status - Display the status of the instance (running or stopped)" + echo " dump - Request a JVM dump of the running process" +} + +console() { + echo "Running $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + # The string passed to eval must handles spaces in paths correctly. + COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_HOME=\"$INSTANCE_HOME\" set.INSTANCE=\"$INSTANCE\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP wrapper.debug=true" + eval $COMMAND_LINE + else + echo "$APP_LONG_NAME is already running." + exit 1 + fi +} + +start() { + echo "Starting $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + # The string passed to eval must handles spaces in paths correctly. + COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_HOME=$INSTANCE_HOME set.INSTANCE=$INSTANCE wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP" + eval $COMMAND_LINE + else + echo "$APP_LONG_NAME is already running." + exit 1 + fi + + +} + +stopit() { + echo "Stopping $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME was not running." + else + if [ "X$IGNORE_SIGNALS" = "X" ] + then + # Running so try to stop it. + kill $pid + if [ $? -ne 0 ] + then + # An explanation for the failure should have been given + echo "Unable to stop $APP_LONG_NAME." + exit 1 + fi + else + rm -f "$ANCHORFILE" + if [ -f "$ANCHORFILE" ] + then + # An explanation for the failure should have been given + echo "Unable to stop $APP_LONG_NAME." + exit 1 + fi + fi + + # We can not predict how long it will take for the wrapper to + # actually stop as it depends on settings in apacheds.conf. + # Loop until it does. + savepid=$pid + CNT=0 + TOTCNT=0 + while [ "X$pid" != "X" ] + do + # Show a waiting message every 5 seconds. + if [ "$CNT" -lt "5" ] + then + CNT=`expr $CNT + 1` + else + echo "Waiting for $APP_LONG_NAME to exit..." + CNT=0 + fi + TOTCNT=`expr $TOTCNT + 1` + + sleep 1 + + testpid + done + + pid=$savepid + testpid + if [ "X$pid" != "X" ] + then + echo "Failed to stop $APP_LONG_NAME." + exit 1 + else + echo "Stopped $APP_LONG_NAME." + fi + fi +} + +status() { + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME is not running." + exit 1 + else + echo "$APP_LONG_NAME is running ($pid)." + exit 0 + fi +} + +dump() { + echo "Dumping $APP_LONG_NAME..." + getpid + if [ "X$pid" = "X" ] + then + echo "$APP_LONG_NAME was not running." + + else + kill -3 $pid + + if [ $? -ne 0 ] + then + echo "Failed to dump $APP_LONG_NAME." + exit 1 + else + echo "Dumped $APP_LONG_NAME." + fi + fi +} + +list() { + echo "Available instances..." + for instance in $INSTANCE_HOME/* ; do + echo " " `basename $instance`; + done +} + +case "$1" in + + 'console') + checkUser touchlock $1 $INSTANCE + console + ;; + + 'start') + checkUser touchlock $1 $INSTANCE + start + ;; + + 'stop') + checkUser "" $1 $INSTANCE + stopit + ;; + + 'restart') + checkUser touchlock $1 $INSTANCE + stopit + start + ;; + + 'status') + checkUser "" $1 $INSTANCE + status + ;; + + 'dump') + checkUser "" $1 $INSTANCE + dump + ;; + 'list') + list + ;; + + *) + echo "Usage: $0 { console | start | stop | restart | status | dump }" + exit 1 + ;; +esac + +exit 0 Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds.conf URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds.conf?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds.conf (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/apacheds.conf Tue Apr 1 09:20:44 2008 @@ -0,0 +1,124 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +#include /etc/apacheds/%INSTANCE%.conf + +# If the default java executable is not on the path, +# this will need to be set to a fully qualified path. +# This can also be overridden in /var/lib/apacheds//conf/apacheds.conf +# +#wrapper.java.command=/usr/local/java/jdk1.5.0_10/bin/java + +wrapper.java.mainclass=org.apache.directory.daemon.TanukiBootstrapper +wrapper.max_failed_invocations=1 + +wrapper.java.classpath.1=../lib/bootstrapper.jar +wrapper.java.classpath.2=../lib/wrapper.jar +wrapper.java.classpath.3=../lib/slf4j-api-1.4.3.jar +wrapper.java.classpath.4=../lib/slf4j-log4j12-1.4.3.jar +wrapper.java.classpath.5=../lib/log4j-1.2.14.jar + +# Java Library Path (location of Wrapper.DLL or libwrapper.so) +wrapper.java.library.path.1=../lib + +# Java Additional Parameters +wrapper.java.additional.1=-Dlog4j.configuration=file:///%INSTANCE_HOME%/%INSTANCE%/conf/log4j.properties +wrapper.java.additional.2=-Dapacheds.var.dir=%INSTANCE_HOME%/%INSTANCE% +wrapper.java.additional.3=-Dapacheds.log.dir=%INSTANCE_HOME%/%INSTANCE%/log +wrapper.java.additional.4=-Dapacheds.run.dir=%INSTANCE_HOME%/%INSTANCE%/run +wrapper.java.additional.5=-Dapacheds.instance=%INSTANCE% +wrapper.java.additional.6=-Dbootstrap.start.class=org.apache.ldap.server.Service +wrapper.java.additional.7=-Dbootstrap.stop.class=org.apache.ldap.server.Service + +# Initial Java Heap Size (in MB) +wrapper.java.initmemory=384 + +# Maximum Java Heap Size (in MB) +wrapper.java.maxmemory=384 + +# Application parameters. Add parameters as needed starting from 1 +wrapper.app.parameter.1=%APACHEDS_HOME% +wrapper.app.parameter.2=org.apache.directory.server.Service +wrapper.app.parameter.3=%INSTANCE_HOME%/%INSTANCE%/conf/server.xml + +#******************************************************************** +# Wrapper Logging Properties +#******************************************************************** +# Format of output for the console. (See docs for formats) +wrapper.console.format=PM + +# Log Level for console output. (See docs for log levels) +wrapper.console.loglevel=INFO + +# Log file to use for wrapper output logging. +wrapper.logfile="%INSTANCE_HOME%/%INSTANCE%/log/wrapper.log" + +# Format of output for the log file. (See docs for formats) +wrapper.logfile.format=LPTM + +# Log Level for log file output. (See docs for log levels) +wrapper.logfile.loglevel=INFO + +# Maximum size that the log file will be allowed to grow to before +# the log is rolled. Size is specified in bytes. The default value +# of 0, disables log rolling. May abbreviate with the 'k' (kb) or +# 'm' (mb) suffix. For example: 10m = 10 megabytes. +wrapper.logfile.maxsize=1m + +# Maximum number of rolled log files which will be allowed before old +# files are deleted. The default value of 0 implies no limit. +wrapper.logfile.maxfiles=5 + +# Log Level for sys/event log output. (See docs for log levels) +wrapper.syslog.loglevel=NONE + +#******************************************************************** +# Wrapper Windows Properties +#******************************************************************** +# Title to use when running as a console +wrapper.console.title=apacheds-%INSTANCE% + +#******************************************************************** +# Wrapper Windows NT/2000/XP Service Properties +#******************************************************************** +# WARNING - Do not modify any of these properties when an application +# using this configuration file has been installed as a service. +# Please uninstall the service before modifying this section. The +# service can then be reinstalled. + +# Name of the service +wrapper.ntservice.name=apacheds-%INSTANCE% + +# Display name of the service +wrapper.ntservice.displayname=Apache Directory Server - %INSTANCE% + +# Description of the service +wrapper.ntservice.description=Apache Directory Server - %INSTANCE% + +# Service dependencies. Add dependencies as needed starting from 1 +#wrapper.ntservice.dependency.1= + +# Mode in which the service is installed. AUTO_START or DEMAND_START +wrapper.ntservice.starttype=AUTO_START + +# Allow the service to interact with the desktop. +wrapper.ntservice.interactive=false + +# Anything after this line can't be overridden +#include "%INSTANCE_HOME%/%INSTANCE%/conf/apacheds.conf" \ No newline at end of file Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/control URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/control?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/control (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/control Tue Apr 1 09:20:44 2008 @@ -0,0 +1,14 @@ +Package: apacheds +Version: ${version.debian} +Section: devel +Priority: optional +Architecture: ${arch} +Depends: +Installed-Size: 9318 +Maintainer: Apache Directory Project +Description: LDAP Server + ApacheDS is an embeddable directory server entirely written in Java, which + has been certified LDAPv3 compatible by the Open Group. Besides LDAP it + supports Kerberos 5 and the Change Password Protocol. It has been designed + to introduce triggers, stored procedures, queues and views to the world of + LDAP which has lacked these rich constructs. Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/postinst URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/postinst?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/postinst (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/deb/postinst Tue Apr 1 09:20:44 2008 @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +# Setting executable permissions +chmod +x /opt/apacheds-${app.version}/bin/apacheds +chmod +x /etc/init.d/apacheds-${app.version}-default + +# Creating the apacheds user (only if needed) +USER=`eval "id -u -n apacheds 2>/dev/null || :"` +if [ ! "Xapacheds" = "X$USER" ] +then + /usr/sbin/groupadd apacheds >/dev/null 2>&1 || : + /usr/sbin/useradd -g apacheds -d /opt/apacheds-${app.version} apacheds >/dev/null 2>&1 || : +fi + +# Modifying owner +chown -R apacheds:apacheds /opt/apacheds-${app.version} +chown -R apacheds:apacheds /var/lib/apacheds-${app.version} +chown apacheds:apacheds /var/run/apacheds-${app.version} +chown root:root /etc/init.d/apacheds-${app.version}-default \ No newline at end of file Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/DS_Store URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/DS_Store?rev=643469&view=auto ============================================================================== Binary file - no diff available. Propchange: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/DS_Store ------------------------------------------------------------------------------ svn:executable = * Propchange: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/DS_Store ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/Info.plist URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/Info.plist?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/Info.plist (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/Info.plist Tue Apr 1 09:20:44 2008 @@ -0,0 +1,58 @@ + + + + + + + + CFBundleGetInfoString + Copyright © 2008 Apache Software Foundation + CFBundleIdentifier + org.apache.directory.server + IFPkgFlagAllowBackRev + + IFPkgFlagAuthorizationAction + AdminAuthorization + IFPkgFlagBackgroundAlignment + topleft + IFPkgFlagBackgroundScaling + none + IFPkgFlagDefaultLocation + / + IFPkgFlagFollowLinks + + IFPkgFlagInstallFat + + IFPkgFlagIsRequired + + IFPkgFlagOverwritePermissions + + IFPkgFlagRelocatable + + IFPkgFlagRestartAction + NoRestart + IFPkgFlagRootVolumeOnly + + IFPkgFlagUpdateInstalledLanguages + + IFPkgFormatVersion + 0.10000000149011612 + + Added: directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/License.rtf URL: http://svn.apache.org/viewvc/directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/License.rtf?rev=643469&view=auto ============================================================================== --- directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/License.rtf (added) +++ directory/daemon/branches/bigbang/plugin/src/main/resources/org/apache/directory/daemon/installers/pkg/License.rtf Tue Apr 1 09:20:44 2008 @@ -0,0 +1,80 @@ +{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw11899\paperh16839\margl1440\margr1440\vieww14860\viewh11540\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs24 \cf0 Apache License\ +Version 2.0, January 2004\ + +\f1\b0 http://www.apache.org/licenses/\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\cf0 \ +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\ +\ + +\f0\b 1. Definitions. +\f1\b0 \ +\ +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\ +\ +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\ +\ +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\ +\ +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\ +\ +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\ +\ +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\ +\ +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\ +\ +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\ +\ +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\ +\ +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\ +\ + +\f0\b 2. Grant of Copyright License. +\f1\b0 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\ +\ + +\f0\b 3. Grant of Patent License. +\f1\b0 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\ +\ + +\f0\b 4. Redistribution. +\f1\b0 You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\ +\ + 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\ +\ + 2. You must cause any modified files to carry prominent notices stating that You changed the files; and\ +\ + 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\ +\ + 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\ +\ +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\ +\ + +\f0\b 5. Submission of Contributions. +\f1\b0 Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\ +\ + +\f0\b 6. Trademarks. +\f1\b0 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\ +\ + +\f0\b 7. Disclaimer of Warranty. +\f1\b0 Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\ +\ + +\f0\b 8. Limitation of Liability. +\f1\b0 In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\ +\ + +\f0\b 9. Accepting Warranty or Additional Liability. +\f1\b0 While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. \ +} \ No newline at end of file