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

Chris Ridd
19.14.2012 be2a4753d04b9c7efa0a2e5444c7de73fd1e5ee0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/sh
#
# 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/opends/resource/legal-notices/OpenDS.LICENSE
# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
# 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/opends/resource/legal-notices/OpenDS.LICENSE.  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 2006-2008 Sun Microsystems, Inc.
#      Portions Copyright 2011-2012 ForgeRock AS
 
 
# Capture the current working directory so that we can change to it later.
# Then capture the location of this script and the Directory Server instance
# root so that we can use them to create appropriate paths.
WORKING_DIR=`pwd`
 
cd "`dirname "${0}"`"
SCRIPT_DIR=`pwd`
 
INSTALL_ROOT=${SCRIPT_DIR}
export INSTALL_ROOT
 
SCRIPT_NAME=configure
export SCRIPT_NAME
 
case `uname -r` in
  *10)
       MANIFEST=/var/svc/manifest/network/ldap/opendj-manifest.xml
       IMPORTSVC="/usr/sbin/svccfg import $MANIFEST"
       ;;
  *11)
       MANIFEST=/lib/svc/manifest/network/ldap/opendj-manifest.xml
       IMPORTSVC="/usr/sbin/svcadm restart svc:/system/manifest-import:default"
       ;;
esac
 
# Check if running as root. This is required to be able to copy files and
# enable SMF
if [[ `id -u` -ne 0 ]]
then
  echo "This script must be run as root" 1>&2
  exit 1
fi
 
cd "${WORKING_DIR}"
 
# Set environment variables
SCRIPT_UTIL_CMD=set-full-environment-and-test-java
export SCRIPT_UTIL_CMD
.  "${INSTALL_ROOT}/lib/_script-util.sh"
RETURN_CODE=$?
if test ${RETURN_CODE} -ne 0
then
  exit ${RETURN_CODE}
fi
 
# Launch the configure process.
"${OPENDJ_JAVA_BIN}" ${OPENDJ_JAVA_ARGS} ${SCRIPT_NAME_ARG} -DINSTALL_ROOT=${INSTALL_ROOT} org.opends.server.tools.configurator.Configurator "${@}"
 
# return part
RETURN_CODE=$?
if test ${RETURN_CODE} -eq 50 -o ${RETURN_CODE} -eq 51
then
  # Version or help info was on requested
  exit 0
else
if test ${RETURN_CODE} -eq 10
then
  # Syntax error
  exit 1
else
  if test ${RETURN_CODE} -eq 0
  then
    # Retrieve INSTANCE_ROOT
    INSTANCE_ROOT=`cat /etc/opendj/instance.loc`
    # Now update SMF manifest, cp it to the right place and import it
    OWNER=`ls -ld ${INSTANCE_ROOT}`
    CURRENT_IFS=${IFS}
    IFS=" "
    set -- ${OWNER}
    USERNAME=`echo $3`
    GROUPNAME=`echo $4`
    IFS=${CURRENT_IFS}
    if test "${USERNAME}" = "ldap" -a "$GROUPNAME" = "ldap"
    then
        cp ${INSTALL_ROOT}/resources/opendj-manifest.xml $MANIFEST
    else
        cat ${INSTALL_ROOT}/resources/opendj-manifest.xml | sed -e "s/user='ldap/user='${USERNAME}/;s/group='ldap/group='${GROUPNAME}/" > /tmp/opendj-manifest.$$
        cp /tmp/opendj-manifest.$$ $MANIFEST
        rm /tmp/opendj-manifest.$$
    fi
    $IMPORTSVC
  fi
  exit ${RETURN_CODE}
fi
fi