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 2010/09/28 11:20:42 UTC

svn commit: r1002067 - in /directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main: java/org/apache/directory/daemon/installers/ java/org/apache/directory/daemon/installers/archive/ java/org/apache/directory/daemon/installers/bin/ ...

Author: pamarcelot
Date: Tue Sep 28 09:20:42 2010
New Revision: 1002067

URL: http://svn.apache.org/viewvc?rev=1002067&view=rev
Log:
Fixed the bin installer.

Modified:
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/AbstractMojoCommand.java
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/archive/ArchiveInstallerCommand.java
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/macosxpkg/MacOsXPkgInstallerCommand.java
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/nsis/NsisInstallerCommand.java
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh
    directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/AbstractMojoCommand.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/AbstractMojoCommand.java?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/AbstractMojoCommand.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/AbstractMojoCommand.java Tue Sep 28 09:20:42 2010
@@ -131,22 +131,33 @@ public abstract class AbstractMojoComman
 
 
     /**
-     * Creates installation layout and copies files to it.
+     * Creates both installation and instance layouts.
      *
      * @param mojo
      *      the mojo
-     * @throws Exception
+     * @throws MojoFailureException
+     * @throws IOException
      */
-    public void copyCommonFiles( GenerateMojo mojo ) throws Exception
+    public void createLayouts() throws MojoFailureException, IOException
+    {
+        createInstallationLayout();
+        createInstanceLayout();
+    }
+
+
+    /**
+     * Creates the installation layout.
+     *
+     * @throws MojoFailureException
+     * @throws IOException
+     */
+    protected void createInstallationLayout() throws MojoFailureException, IOException
     {
         // Getting the installation layout and creating directories
         InstallationLayout installationLayout = getInstallationLayout();
         installationLayout.mkdirs();
 
-        // Getting the instance layout and creating directories
-        InstanceLayout instanceLayout = getInstanceLayout();
-        instanceLayout.mkdirs();
-
+        // Copying dependencies artifacts to the lib folder of the installation layout
         MojoHelperUtils.copyDependencies( mojo, installationLayout );
 
         // Copying the LICENSE and NOTICE files
@@ -158,21 +169,48 @@ public abstract class AbstractMojoComman
                 new File( installationLayout.getInstallationDirectory(),
                     "NOTICE" ) );
 
-        // Copying wrapper files
-        copyWrapperFiles( installationLayout, instanceLayout );
-
-        // Copying the log4j.properties file
-        MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
-            getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/log4j.properties" ),
-            new File( instanceLayout.getConfDirectory(), "log4j.properties" ), true );
-
         // Copying the 'apacheds' shell script (only for Linux, Solaris or Mac OS X)
         if ( target.isOsNameLinux() || target.isOsNameSolaris() || target.isOsNameMacOSX() )
         {
             MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
                 getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/apacheds.init" ),
                 new File( installationLayout.getBinDirectory(), "apacheds" ), true );
+
+            MojoHelperUtils.exec( new String[]
+                { "chmod", "755", "apacheds" }, installationLayout.getBinDirectory(), false );
         }
+
+        // Copying the wrappers files (native wrapper executable and library [.jnilib, .so, .dll])
+        copyWrapperFiles();
+
+        // Copying the wrapper configuration file
+        MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
+            getClass()
+                .getResourceAsStream( "/org/apache/directory/daemon/installers/wrapper-installation.conf" ),
+            new File( installationLayout.getConfDirectory(), "wrapper.conf" ), true );
+    }
+
+
+    /**
+     * Creates the instance layout.
+     *
+     * @throws IOException
+     */
+    protected void createInstanceLayout() throws IOException
+    {
+        // Getting the instance layout and creating directories
+        InstanceLayout instanceLayout = getInstanceLayout();
+        instanceLayout.mkdirs();
+
+        // Copying the log4j.properties file
+        MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
+            getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/log4j.properties" ),
+            new File( instanceLayout.getConfDirectory(), "log4j.properties" ), true );
+
+        // Copying the wrapper configuration file
+        MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
+                getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/wrapper-instance.conf" ),
+                new File( instanceLayout.getConfDirectory(), "wrapper.conf" ), true );
     }
 
 
@@ -205,10 +243,9 @@ public abstract class AbstractMojoComman
      *
      * @param installationLayout
      *      the installation layout
-     * @param instanceLayout
      * @throws MojoFailureException
      */
-    private void copyWrapperFiles( InstallationLayout installationLayout, InstanceLayout instanceLayout )
+    private void copyWrapperFiles()
         throws MojoFailureException
     {
         // Mac OS X x86
@@ -218,10 +255,10 @@ public abstract class AbstractMojoComman
             {
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/bin/wrapper-macosx-universal-32" ), new File(
-                        installationLayout.getBinDirectory(), "wrapper" ) );
+                        getInstallationLayout().getBinDirectory(), "wrapper" ) );
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/lib/libwrapper-macosx-universal-32.jnilib" ),
-                    new File( installationLayout.getLibDirectory(),
+                    new File( getInstallationLayout().getLibDirectory(),
                         "libwrapper.jnilib" ) );
             }
             catch ( IOException e )
@@ -237,10 +274,10 @@ public abstract class AbstractMojoComman
             {
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/bin/wrapper-macosx-universal-64" ), new File(
-                        installationLayout.getBinDirectory(), "wrapper" ) );
+                        getInstallationLayout().getBinDirectory(), "wrapper" ) );
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/lib/libwrapper-macosx-universal-64.jnilib" ),
-                    new File( installationLayout.getLibDirectory(),
+                    new File( getInstallationLayout().getLibDirectory(),
                         "libwrapper.jnilib" ) );
             }
             catch ( IOException e )
@@ -257,10 +294,10 @@ public abstract class AbstractMojoComman
                 MojoHelperUtils.copyBinaryFile(
                     getClass().getResourceAsStream(
                         "/org/apache/directory/daemon/installers/wrapper/bin/wrapper-linux-x86-32" ),
-                    new File( installationLayout.getBinDirectory(), "wrapper" ) );
+                    new File( getInstallationLayout().getBinDirectory(), "wrapper" ) );
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/lib/libwrapper-linux-x86-32.so" ),
-                    new File( installationLayout.getLibDirectory(), "libwrapper.so" ) );
+                    new File( getInstallationLayout().getLibDirectory(), "libwrapper.so" ) );
             }
             catch ( IOException e )
             {
@@ -276,10 +313,10 @@ public abstract class AbstractMojoComman
                 MojoHelperUtils.copyBinaryFile(
                     getClass().getResourceAsStream(
                         "/org/apache/directory/daemon/installers/wrapper/bin/wrapper-linux-x86-64" ),
-                    new File( installationLayout.getBinDirectory(), "wrapper" ) );
+                    new File( getInstallationLayout().getBinDirectory(), "wrapper" ) );
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/lib/libwrapper-linux-x86-64.so" ),
-                    new File( installationLayout.getLibDirectory(), "libwrapper.so" ) );
+                    new File( getInstallationLayout().getLibDirectory(), "libwrapper.so" ) );
             }
             catch ( IOException e )
             {
@@ -294,10 +331,10 @@ public abstract class AbstractMojoComman
             {
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/bin/wrapper-solaris-x86-32" ),
-                    new File( installationLayout.getBinDirectory(), "wrapper" ) );
+                    new File( getInstallationLayout().getBinDirectory(), "wrapper" ) );
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/lib/libwrapper-solaris-x86-32.so" ), new File(
-                        installationLayout.getLibDirectory(),
+                        getInstallationLayout().getLibDirectory(),
                     "libwrapper.so" ) );
             }
             catch ( IOException e )
@@ -313,10 +350,10 @@ public abstract class AbstractMojoComman
             {
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/bin/wrapper-solaris-sparc-32" ),
-                    new File( installationLayout.getBinDirectory(), "wrapper" ) );
+                    new File( getInstallationLayout().getBinDirectory(), "wrapper" ) );
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/lib/libwrapper-solaris-sparc-32.so" ), new File(
-                        installationLayout.getLibDirectory(),
+                        getInstallationLayout().getLibDirectory(),
                     "libwrapper.so" ) );
             }
             catch ( IOException e )
@@ -332,10 +369,10 @@ public abstract class AbstractMojoComman
             {
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/bin/wrapper-windows-x86-32.exe" ),
-                    new File( installationLayout.getBinDirectory(), "wrapper.exe" ) );
+                    new File( getInstallationLayout().getBinDirectory(), "wrapper.exe" ) );
                 MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream(
                     "/org/apache/directory/daemon/installers/wrapper/lib/wrapper-windows-x86-32.dll" ), new File(
-                        installationLayout.getLibDirectory(),
+                        getInstallationLayout().getLibDirectory(),
                     "wrapper.dll" ) );
             }
             catch ( IOException e )
@@ -343,20 +380,5 @@ public abstract class AbstractMojoComman
                 throw new MojoFailureException( "Failed to copy Tanuki binary files to lib and bin directories" );
             }
         }
-
-        // Wrapper configuration files
-        try
-        {
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
-                getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/wrapper-installation.conf" ),
-                new File( installationLayout.getConfDirectory(), "wrapper.conf" ), true );
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
-                getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/wrapper-instance.conf" ),
-                new File( instanceLayout.getConfDirectory(), "wrapper.conf" ), true );
-        }
-        catch ( IOException e )
-        {
-            throw new MojoFailureException( "Failed to copy Tanuki binary files to lib and bin directories" );
-        }
     }
 }

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/archive/ArchiveInstallerCommand.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/archive/ArchiveInstallerCommand.java?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/archive/ArchiveInstallerCommand.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/archive/ArchiveInstallerCommand.java Tue Sep 28 09:20:42 2010
@@ -84,8 +84,8 @@ public class ArchiveInstallerCommand ext
 
         try
         {
-            // Creating the installation layout and copying files to it
-            copyCommonFiles( mojo );
+            // Creating the installation and instance layouts
+            createLayouts();
 
             // Copy bat and sh scripts to bin
             MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream(

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/bin/BinInstallerCommand.java Tue Sep 28 09:20:42 2010
@@ -22,7 +22,6 @@ package org.apache.directory.daemon.inst
 
 import java.io.File;
 import java.io.IOException;
-import java.util.Properties;
 
 import org.apache.directory.daemon.installers.AbstractMojoCommand;
 import org.apache.directory.daemon.installers.GenerateMojo;
@@ -30,7 +29,6 @@ import org.apache.directory.daemon.insta
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.tools.ant.taskdefs.Execute;
-import org.codehaus.plexus.util.FileUtils;
 
 
 /**
@@ -87,9 +85,27 @@ public class BinInstallerCommand extends
 
         try
         {
-            // Creating the installation layout and copying files to it
-            copyCommonFiles( mojo );
+            // Creating the installation layouts
+            createInstallationLayout();
 
+            // Creating the instance directory
+            File instanceDirectory = getInstanceDirectory();
+            instanceDirectory.mkdirs();
+
+            // Copying configuration files to the instance directory
+            MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
+                getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/log4j.properties" ),
+                new File( instanceDirectory, "log4j.properties" ), true );
+            MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
+                    getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/wrapper-instance.conf" ),
+                    new File( instanceDirectory, "wrapper.conf" ), true );
+
+            // Copying the init script to the instance directory
+            MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
+                    getClass().getResourceAsStream( "/org/apache/directory/daemon/installers/bin/apacheds-init" ),
+                    new File( instanceDirectory, "apacheds-init" ), true );
+
+            // Creating the sh directory for the shell scripts
             File binShDirectory = new File( getBinInstallerDirectory(), "sh" );
             binShDirectory.mkdirs();
 
@@ -274,6 +290,8 @@ public class BinInstallerCommand extends
         }
         filterProperties.put( "finalName", finalName );
         filterProperties.put( "apacheds.version", mojo.getProject().getVersion() );
+        filterProperties.put( "wrapper.java.command", "# wrapper.java.command=<path-to-java-executable>" );
+        filterProperties.put( "double.quote", "" );
     }
 
 

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/macosxpkg/MacOsXPkgInstallerCommand.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/macosxpkg/MacOsXPkgInstallerCommand.java?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/macosxpkg/MacOsXPkgInstallerCommand.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/macosxpkg/MacOsXPkgInstallerCommand.java Tue Sep 28 09:20:42 2010
@@ -22,14 +22,11 @@ package org.apache.directory.daemon.inst
 
 import java.io.File;
 import java.io.IOException;
-import java.util.Properties;
 
 import org.apache.directory.daemon.installers.AbstractMojoCommand;
 import org.apache.directory.daemon.installers.GenerateMojo;
 import org.apache.directory.daemon.installers.MojoHelperUtils;
 import org.apache.directory.daemon.installers.Target;
-import org.apache.directory.server.InstallationLayout;
-import org.apache.directory.server.InstanceLayout;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.tools.ant.taskdefs.Execute;
@@ -108,8 +105,8 @@ public class MacOsXPkgInstallerCommand e
         // Copying the apacheds files in the root directory
         try
         {
-            // Creating the installation layout and copying files to it
-            copyCommonFiles( mojo );
+            // Creating the installation and instance layouts
+            createLayouts();
 
             // Copying the apacheds command to /usr/bin
             MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream(

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/nsis/NsisInstallerCommand.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/nsis/NsisInstallerCommand.java?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/nsis/NsisInstallerCommand.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/nsis/NsisInstallerCommand.java Tue Sep 28 09:20:42 2010
@@ -84,7 +84,8 @@ public class NsisInstallerCommand extend
 
         try
         {
-            copyCommonFiles( mojo );
+            // Creating the installation and instance layouts
+            createLayouts();
 
             // Copying the 'Manage ApacheDS' utility
             MojoHelperUtils.copyBinaryFile( getClass().getResourceAsStream( "Manage ApacheDS.exe" ), new File(

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/apacheds-init Tue Sep 28 09:20:42 2010
@@ -1,5 +1,4 @@
-#! /bin/sh
-#
+#!/bin/sh
 #
 #  Licensed to the Apache Software Foundation (ASF) under one
 #  or more contributor license agreements.  See the NOTICE file
@@ -18,595 +17,4 @@
 #  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="@INSTANCE.HOME@/@INSTANCE@/run"
-
-# 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=@RUN_AS_USER@
-
-# Do not modify anything beyond this point
-#-----------------------------------------------------------------------------
-
-# Get the fully qualified path to the script
-case $0 in 
-    /*) 
-        SCRIPT="$0" 
-        ;; 
-   ./*) 
-        SCRIPT="`pwd`/`echo $0 | sed -e 's/^[ ]*\.\///'`" 
-        ;; 
-     *) 
-        SCRIPT="`pwd`/`echo $0 | sed -e 's/^[ ]*//'`" 
-        ;; 
-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
-                IDEXE="/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
-        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
-}
-
-testpiddir()
-{
-	# Be sure that the PIDDIR exists
-    if [ ! -d $PIDDIR ]
-	then
-		# If it doesn't exist, we create it
-   		mkdir -p $PIDDIR
-   		chown $RUN_AS_USER:$RUN_AS_USER $PIDDIR
-	fi
-}
-
-usage() {
-    echo "Usage: $0 <command>"
-    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')
-    	testpiddir
-        checkUser touchlock $1 $INSTANCE
-        console
-        ;;
-
-    'start')
-    	testpiddir
-        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
+@installation.directory@/bin/apacheds $1 @default.instance.name@
\ No newline at end of file

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/bootstrap.sh Tue Sep 28 09:20:42 2010
@@ -268,7 +268,9 @@ cd ..
 verifyExitCode
 rm -rf sh
 verifyExitCode
-rm -rd rootFolder
+rm -rd instance
+verifyExitCode
+rm -rd server
 verifyExitCode
 rm -f $archiveName
 verifyExitCode

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh?rev=1002067&r1=1002066&r2=1002067&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/bin/install.sh Tue Sep 28 09:20:42 2010
@@ -45,10 +45,24 @@ done
 # Installing
 echo "Installing..."
 
+# Filtering apacheds script file
+sed -e "s;@installation.directory@;${APACHEDS_HOME_DIRECTORY};" ../server/bin/apacheds > ../server/bin/apacheds.tmp
+verifyExitCode
+mv ../server/bin/apacheds.tmp ../server/bin/apacheds
+verifyExitCode
+sed -e "s;@instances.directory@;${INSTANCES_HOME_DIRECTORY};" ../server/bin/apacheds > ../server/bin/apacheds.tmp
+verifyExitCode
+mv ../server/bin/apacheds.tmp ../server/bin/apacheds
+verifyExitCode
+sed -e "s;@user@;${RUN_AS_USER};" ../server/bin/apacheds > ../server/bin/apacheds.tmp
+verifyExitCode
+mv ../server/bin/apacheds.tmp ../server/bin/apacheds
+verifyExitCode
+
 # Copying the server files
 mkdir -p $APACHEDS_HOME_DIRECTORY
 verifyExitCode
-cp -r ../rootFolder/server/* $APACHEDS_HOME_DIRECTORY
+cp -r ../server/* $APACHEDS_HOME_DIRECTORY
 verifyExitCode
 
 # Creating instances home directory
@@ -62,8 +76,6 @@ mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTOR
 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
@@ -71,32 +83,28 @@ verifyExitCode
 mkdir -p $DEFAULT_INSTANCE_HOME_DIRECTORY/run
 verifyExitCode
 
-# Copying the default instance files
-cp ../rootFolder/instance/apacheds.conf $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
+# Filtering default instance wrapper.conf file
+sed -e "s;@installation.directory@;${APACHEDS_HOME_DIRECTORY};" ../instance/wrapper.conf > ../instance/wrapper.conf.tmp
 verifyExitCode
-cp ../rootFolder/instance/log4j.properties $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
+mv ../instance/wrapper.conf.tmp ../instance/wrapper.conf
 verifyExitCode
-#cp ../rootFolder/instance/server.xml $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
-#verifyExitCode
 
-# Filtering and copying the init.d script
-sed -e "s;@APACHEDS.HOME@;${APACHEDS_HOME_DIRECTORY};" ../rootFolder/instance/apacheds-init > ../rootFolder/instance/apacheds-init.tmp
-verifyExitCode
-mv ../rootFolder/instance/apacheds-init.tmp ../rootFolder/instance/apacheds-init
-verifyExitCode
-sed -e "s;@INSTANCE.HOME@;${INSTANCES_HOME_DIRECTORY};" ../rootFolder/instance/apacheds-init > ../rootFolder/instance/apacheds-init.tmp
+# Copying the default instance files
+cp ../instance/wrapper.conf $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
 verifyExitCode
-mv ../rootFolder/instance/apacheds-init.tmp ../rootFolder/instance/apacheds-init
+cp ../instance/log4j.properties $DEFAULT_INSTANCE_HOME_DIRECTORY/conf/
 verifyExitCode
-sed -e "s;@INSTANCE@;${DEFAULT_INSTANCE_NAME};" ../rootFolder/instance/apacheds-init > ../rootFolder/instance/apacheds-init.tmp
+
+# Filtering and copying the init.d script
+sed -e "s;@installation.directory@;${APACHEDS_HOME_DIRECTORY};" ../instance/apacheds-init > ../instance/apacheds-init.tmp
 verifyExitCode
-mv ../rootFolder/instance/apacheds-init.tmp ../rootFolder/instance/apacheds-init
+mv ../instance/apacheds-init.tmp ../instance/apacheds-init
 verifyExitCode
-sed -e "s;@RUN_AS_USER@;${RUN_AS_USER};" ../rootFolder/instance/apacheds-init > ../rootFolder/instance/apacheds-init.tmp
+sed -e "s;@default.instance.name@;$DEFAULT_INSTANCE_NAME;" ../instance/apacheds-init > ../instance/apacheds-init.tmp
 verifyExitCode
-mv ../rootFolder/instance/apacheds-init.tmp ../rootFolder/instance/apacheds-init
+mv ../instance/apacheds-init.tmp ../instance/apacheds-init
 verifyExitCode
-cp ../rootFolder/instance/apacheds-init $STARTUP_SCRIPT_DIRECTORY/apacheds-$APACHEDS_VERSION-$DEFAULT_INSTANCE_NAME
+cp ../instance/apacheds-init $STARTUP_SCRIPT_DIRECTORY/apacheds-$APACHEDS_VERSION-$DEFAULT_INSTANCE_NAME
 verifyExitCode
 
 # Setting the correct permissions on executable files
@@ -104,6 +112,8 @@ chmod +x $STARTUP_SCRIPT_DIRECTORY/apach
 verifyExitCode
 chmod +x $APACHEDS_HOME_DIRECTORY/bin/apacheds
 verifyExitCode
+chmod +x $APACHEDS_HOME_DIRECTORY/bin/wrapper
+verifyExitCode
 
 # Creating the apacheds user (only if needed)
 USER=`eval "id -u -n $RUN_AS_USER"`