blob: 047ed1bec1f2058878fc1e6de4ab46507f87780a (
plain)
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
|
#!/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.
#
realpath() {
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated
AWK=awk
if ${solaris}; then
if [ -x /usr/xpg4/bin/awk ]; then
AWK=/usr/xpg4/bin/awk
elif [ -x /usr/bin/nawk ]; then
AWK=/usr/bin/nawk
fi
fi
READLINK_EXISTS=$(command -v readlink &> /dev/null)
if [ -z "$READLINK_EXISTS" ]; then
OURPWD=${PWD}
cd "$(dirname "${1}")" || exit 2
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}')
while [ "${LINK}" ]; do
echo "link: ${LINK}" >&2
cd "$(dirname "${LINK}")" || exit 2
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}')
done
REALPATH="${PWD}/$(basename "${1}")"
cd "${OURPWD}" || exit 2
echo "${REALPATH}"
else
OURPWD=${PWD}
cd "$(dirname "${1}")" || exit 2
LINK=$(readlink "$(basename "${1}")")
while [ "${LINK}" ]; do
echo "link: ${LINK}" >&2
cd "$(dirname "${LINK}")" || exit 2
LINK=$(readlink "$(basename "${1}")")
done
REALPATH="${PWD}/$(basename "${1}")"
cd "${OURPWD}" || exit 2
echo "${REALPATH}"
fi
}
REALNAME=$(realpath "$0")
DIRNAME=$(dirname "${REALNAME}")
PROGNAME=$(basename "${REALNAME}")
#
# Load common functions
#
. "${DIRNAME}/inc"
#
# Sourcing environment settings for karaf similar to tomcats setenv
#
KARAF_SCRIPT="${PROGNAME}"
export KARAF_SCRIPT
if [ -f "${DIRNAME}/setenv" ]; then
. "${DIRNAME}/setenv"
fi
init() {
# Determine if there is special OS handling we must perform
detectOS
# Locate the Karaf home directory
locateHome
}
run() {
convertPaths
# Enable redirect
if [ "x${KARAF_REDIRECT}" != "x" ]; then
warn "Redirecting Karaf output to ${KARAF_REDIRECT}"
else
KARAF_REDIRECT="/dev/null"
fi
exec "${KARAF_HOME}/bin/karaf" server "$@" >> "${KARAF_REDIRECT}" 2>&1 &
}
main() {
init
run "$@"
}
main "$@"
|