You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2008/03/10 18:20:45 UTC
svn commit: r635606 - in
/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers:
daemon/plugin/src/main/java/org/apache/directory/daemon/installers/bin/
daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/
installer...
Author: pamarcelot
Date: Mon Mar 10 10:20:38 2008
New Revision: 635606
URL: http://svn.apache.org/viewvc?rev=635606&view=rev
Log:
Updated Binary Installer Command.
Added:
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init
Modified:
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh
directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/installers/apacheds/pom.xml
Modified: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java?rev=635606&r1=635605&r2=635606&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java (original)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java Mon Mar 10 10:20:38 2008
@@ -147,6 +147,10 @@
MojoHelperUtils.copyAsciiFile( mymojo, filterProperties, new File( binRootServerDirectory,
"conf/server.xml" ), new File( binRootInstanceDirectory, "server.xml" ), false );
+ // Copying the apacheds-init script file for the default instance
+ MojoHelperUtils.copyAsciiFile( mymojo, filterProperties, getClass().getResourceAsStream( "apacheds-init" ),
+ new File( binRootInstanceDirectory, "apacheds-init" ), true );
+
// Copying shell script utilities for the installer
MojoHelperUtils.copyAsciiFile( mymojo, filterProperties, getClass().getResourceAsStream( "bootstrap.sh" ),
new File( binDirectory, "bootstrap.sh" ), true );
@@ -227,6 +231,16 @@
private void initializeFiltering()
{
filterProperties.putAll( mymojo.getProject().getProperties() );
+ filterProperties.put( "app", target.getApplication().getName() );
+ String version = target.getApplication().getVersion();
+ if ( version != null )
+ {
+ filterProperties.put( "app.version", version );
+ }
+ else
+ {
+ filterProperties.put( "app.version", "1.0" );
+ }
filterProperties.put( "tmpArchive", "__tmp.tar.gz" );
filterProperties.put( "finalName", target.getFinalName() );
filterProperties.put( "apacheds.version", target.getApplication().getVersion() );
Added: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init?rev=635606&view=auto
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init (added)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init Mon Mar 10 10:20:38 2008
@@ -0,0 +1,595 @@
+#! /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
+RUN_AS_USER=root
+
+# 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/$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 "Please enter an instance name..."
+ echo "Usage: $0 <command> <instance name>"
+ 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 } <instance name>"
+ exit 1
+ ;;
+esac
+
+exit 0
Modified: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf?rev=635606&r1=635605&r2=635606&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf (original)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds.conf Mon Mar 10 10:20:38 2008
@@ -24,8 +24,6 @@
# This can also be overridden in /var/lib/apacheds/<instance_name>/conf/apacheds.conf
#
#wrapper.java.command=/usr/local/java/jdk1.5.0_10/bin/java
-#
-wrapper.java.command=@app.java.home@
wrapper.java.mainclass=org.apache.directory.daemon.TanukiBootstrapper
wrapper.max_failed_invocations=1
@@ -40,10 +38,10 @@
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.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
@@ -55,9 +53,9 @@
wrapper.java.maxmemory=384
# Application parameters. Add parameters as needed starting from 1
-wrapper.app.parameter.1="%APACHEDS_HOME%"
+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.app.parameter.3=%INSTANCE_HOME%/%INSTANCE%/conf/server.xml
#********************************************************************
# Wrapper Logging Properties
Modified: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh?rev=635606&r1=635605&r2=635606&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh (original)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh Mon Mar 10 10:20:38 2008
@@ -229,7 +229,7 @@
# Cleaning
cd ..
rm -rf sh
-rm -rd data
+rm -rd root
rm -f $archiveName
# Finishing
Modified: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh?rev=635606&r1=635605&r2=635606&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh (original)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/functions.sh Mon Mar 10 10:20:38 2008
@@ -92,4 +92,19 @@
# 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
}
Modified: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh?rev=635606&r1=635605&r2=635606&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh (original)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh Mon Mar 10 10:20:38 2008
@@ -30,24 +30,69 @@
# 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/example;
+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
# Copying the default instance files
-cp ../instance/apacheds.conf $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
-cp ../instance/log4j.properties $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
-cp ../instance/server.xml $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
+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
# Creating the directory for the pid files
-mkdir -p /var/run/apacheds-${APACHEDS_VERSION}
\ No newline at end of file
+mkdir -p /var/run/apacheds-$APACHEDS_VERSION
+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 755 /etc/init.d/apacheds-$APACHEDS_VERSION-$DEFAULT_INSTANCE_NAME
+verifyExitCode
+chmod 755 $APACHEDS_HOME_DIRECTORY/bin/apacheds
+verifyExitCode
+
+# Creating the apacheds user (only if needed)
+#USER=`eval "id -u -n apacheds"`
+#if [ ! "Xapacheds" = "X$USER" ]
+#then
+ #verifyExitCode
+ #useradd apacheds
+ #verifyExitCode
+#fi
Modified: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh?rev=635606&r1=635605&r2=635606&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh (original)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/daemon/plugin/src/main/resources/org/apache/directory/daemon/installers/bin/variables.sh Mon Mar 10 10:20:38 2008
@@ -1,3 +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||
Modified: directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/installers/apacheds/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/installers/apacheds/pom.xml?rev=635606&r1=635605&r2=635606&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/installers/apacheds/pom.xml (original)
+++ directory/sandbox/pamarcelot/trunks/apacheds-additional-installers/installers/apacheds/pom.xml Mon Mar 10 10:20:38 2008
@@ -241,8 +241,7 @@
<application>
<name>apacheds</name>
<version>1.5.2-SNAPSHOT</version>
- <description>Apache Directory Suite</description>
-
+ <description>Apache Directory Server</description>
<icon>src/main/resources/feather.ico</icon>
<copyrightYear>2007</copyrightYear>
<minimumJavaVersion>1.5</minimumJavaVersion>
@@ -283,9 +282,10 @@
<binTargets>
<binTarget>
<id>apacheds-bin-installer</id>
- <finalName>apacheds-macosx</finalName>
- <osName>Debian</osName>
+ <finalName>apacheds-linux.bin</finalName>
+ <osName>Linux</osName>
<osFamily>linux</osFamily>
+ <osArch>i386</osArch>
<daemonFramework>tanuki</daemonFramework>
</binTarget>
</binTargets>