mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Violette Roche-Montane
06.23.2013 5d0fda83a87ba827433b92e4863580325cc6698d
CR-2123 OPENDJ-1068 create resources for rpm packaging
- added init.d script to RPM package.
1 files added
3 files modified
180 ■■■■■ changed files
opends/build.xml 2 ●●●●● patch | view | raw | blame | history
opends/resource/rpm/files 1 ●●●● patch | view | raw | blame | history
opends/resource/rpm/opendj 161 ●●●●● patch | view | raw | blame | history
opends/resource/rpm/specFile 16 ●●●●● patch | view | raw | blame | history
opends/build.xml
@@ -1465,6 +1465,8 @@
    
    <copy file="resource/rpm/excludedFiles" tofile="${build.dir}/rpm/SOURCES/excludedFiles" />
    <replace file="${build.dir}/rpm/SOURCES/excludedFiles" token="# [[ excludedListFiles ]]" value="${excludedRPMFiles}" />
    <copy file="resource/rpm/opendj" tofile="${build.dir}/rpm/SOURCES/opendj" />
  
    <rpm specfile="specFile"
         topdir="${build.dir}/rpm"
opends/resource/rpm/files
@@ -23,4 +23,5 @@
#
#      Copyright 2013 ForgeRock AS
#
/etc/init.d/opendj
# [[ listFiles ]]
opends/resource/rpm/opendj
New file
@@ -0,0 +1,161 @@
#! /bin/sh
#
# OPENDJ SERVICE SCRIPT
#
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at
# trunk/opendj3/legal-notices/CDDLv1_0.txt
# or http://forgerock.org/license/CDDLv1.0.html.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at
# trunk/opendj3/legal-notices/CDDLv1_0.txt.  If applicable,
# add the following below this CDDL HEADER, with the fields enclosed
# by brackets "[]" replaced with your own identifying information:
#      Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#      Copyright 2013 ForgeRock AS
#
# chkconfig: 2345 80 05
# description: Starts and stops opendj LDAPv3 service.
#
### BEGIN INIT INFO
# Provides:          opendj
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: This is the opendj daemon
# Description:       OpenDJ is an LDAPv3 compliant directory service, developed for the Java
#                    platform, providing a high performance, highly available and secure store
#                    for the identities managed by enterprises. Its easy installation process,
#                    combined with the power of the Java platform makes OpenDJ one of the
#                    simplest and fastest directory servers to deploy and manage.
### END INIT INFO
# Set up source function library depending on the distribution
if [ -f /etc/redhat-release ]
then
    # Redhat
    . /etc/init.d/functions
elif [ -f /etc/SuSE-release ]
then
    # SuSE
    . /etc/rc.status
else
    # Other dist.
    if [ -f /etc/init.d/functions.sh ]
    then
        . /etc/init.d/functions.sh
    fi
fi
# Sets the script vars
INSTALL_ROOT="/opt/opendj/"
export INSTALL_ROOT
DAEMON=opendj
# Pid file is a symlink to /opt/opendj/log/server.pid
PIDFILE=/var/run/opendj.pid
RETVAL=0
# If the daemon is not there, then exit / LSB return code.
test -x "$INSTALL_ROOT/bin/start-ds" || exit 5
#Starts the server and creates pid file.
start() {
    echo -n $"Starting $DAEMON: "
    # Server is running
    if [ -e $PIDFILE ]
    then
        echo "> Already running."
        return 0
    else
        "$INSTALL_ROOT"/bin/start-ds --quiet
        RETVAL=$?
        if [ $RETVAL = 0 ]
        then
            echo "> SUCCESS."
        else
            echo "> FAILURE."
        fi
        echo ""
        return $RETVAL
    fi
}
#Stops the server and removes pid file.
stop() {
    echo -n $"Stopping $DAEMON: "
    # Server is running
    if [ -e $PIDFILE ]
    then
        "$INSTALL_ROOT"/bin/stop-ds --quiet
        RETVAL=$?
        if [ $RETVAL = 0 ]
        then
            echo "> SUCCESS."
        else
            echo "> FAILURE."
        fi
        echo ""
        return $RETVAL
    else
        echo "> Already stopped."
        echo ""
        return 3
    fi
}
# Displays the service status
status() {
    echo -n $"$DAEMON status: "
    if [ -e $PIDFILE ]
    then
        echo "> Running."
        return 0
    else
        echo "> Stopped."
        return 3
    fi
}
case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        stop
        sleep 5
        start
    ;;
    force-reload)
        # Not implemented.
    ;;
    status)
        status
    ;;
    *)
        echo $"Usage: /etc/init.d/$DAEMON {start|restart|stop|force-reload|status}"
        exit 1
    ;;
esac
exit $RETVAL
opends/resource/rpm/specFile
@@ -87,6 +87,10 @@
    rm -r "${RPM_BUILD_ROOT}"%{_prefix}$excludedFiles
done
# Moves the init.d script.
mkdir -p "$RPM_BUILD_ROOT"/etc/init.d/
install -m 755 "$RPM_SOURCE_DIR"/opendj "$RPM_BUILD_ROOT"/etc/init.d/opendj
%clean
[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf "${RPM_BUILD_ROOT}"
@@ -123,6 +127,10 @@
# -------------------------
# Post Install
%post
# Registers the service
/sbin/chkconfig --add opendj
# Symlink to process ID
ln -s /opt/opendj/logs/server.pid /var/run/opendj.pid
if [ "$1" == "1" ] ; then
    echo "Post Install - initial install"
else if [ "$1" == "2" ] ; then
@@ -165,6 +173,11 @@
%preun
if [ "$1" == "0" ] ; then
    echo "Pre Uninstall - uninstall"
# Stops the service and delete it.
    /etc/init.d/opendj stop >/dev/null 2>&1
    /sbin/chkconfig --del opendj
    # Unlink the symlink to the process ID.
    unlink /var/run/opendj.pid
# Only if the instance has been configured    
    if [ -e "%{_prefix}"/config/buildinfo ] && [ "$(ls -A "%{_prefix}"/config/archived-configs)" ]
    then
@@ -196,6 +209,9 @@
# Changelog
# =========================
%changelog
* Tue Aug 6 2013 ForgeRock
- Added init.d service script.
* Wed Jul 31 2013 ForgeRock
- Fixed the doc's section.
- Target no longer fails when build path contains spaces.