This commit is contained in:
parent
00c8508537
commit
80adb772de
3
dev-java/nexus/Manifest
Normal file
3
dev-java/nexus/Manifest
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
AUX nexus.init 15022 RMD160 fa43eceee0de9fc1ce52e07a5052dc3394fae423 SHA1 848b94860861c46d4a986d38d6ba584b5660b574 SHA256 8426a084371a1110a35294fecb3b0d22162509663e42b7b8167b7c897f6a7e3f
|
||||||
|
DIST nexus-oss-webapp-1.9.0.2-bundle.tar.gz 27416107 RMD160 10b53fc44acfd50189464670ab4657d0b8b73511 SHA1 86d05c788808a2c32858e0121d92782148363f2a SHA256 53d41ba0da03869221902e4e259a6fd3e06ff5fbf5896343f354b64a5d141646
|
||||||
|
EBUILD nexus-1.9.0.2.ebuild 1796 RMD160 efcd2c44c6240e8bf82728a4f0654d170bdf0413 SHA1 28b6908aec5e4d27dca145d43788f0b384f75177 SHA256 573cf741f271b2d9fa87e6bbc8385f2e5aa144e11e44698c9e8e0fd49383cf31
|
549
dev-java/nexus/files/nexus.init
Executable file
549
dev-java/nexus/files/nexus.init
Executable file
@ -0,0 +1,549 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
DEF_APP_NAME="nexus"
|
||||||
|
DEF_APP_LONG_NAME="Nexus Wrapper Sample Application"
|
||||||
|
|
||||||
|
# Application
|
||||||
|
APP_NAME="nexus-webapp"
|
||||||
|
APP_LONG_NAME="Sonatype Nexus Repository Manager"
|
||||||
|
|
||||||
|
# Wrapper
|
||||||
|
WRAPPER_CMD="/usr/share/nexus/bin/jsw/linux-x86-64/wrapper"
|
||||||
|
WRAPPER_CONF="/etc/nexus/wrapper.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/nexus"
|
||||||
|
|
||||||
|
# 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=nexus
|
||||||
|
|
||||||
|
# The following two lines are used by the chkconfig command. Change as is
|
||||||
|
# appropriate for your application. They should remain commented.
|
||||||
|
# chkconfig: 2345 20 80
|
||||||
|
# description: Test Wrapper Sample Application
|
||||||
|
|
||||||
|
# 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/$APP_NAME.anchor"
|
||||||
|
PIDFILE="$PIDDIR/$APP_NAME.pid"
|
||||||
|
LOCKDIR="/var/lock/subsys"
|
||||||
|
LOCKFILE="$LOCKDIR/$APP_NAME"
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
}
|
||||||
|
|
||||||
|
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\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP"
|
||||||
|
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\" 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
|
||||||
|
getpid
|
||||||
|
if [ "X$pid" != "X" ]
|
||||||
|
then
|
||||||
|
echo "Started $APP_LONG_NAME."
|
||||||
|
else
|
||||||
|
echo "Failed to start $APP_LONG_NAME."
|
||||||
|
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 wrapper.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
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
|
||||||
|
'console')
|
||||||
|
checkUser touchlock $1
|
||||||
|
console
|
||||||
|
;;
|
||||||
|
|
||||||
|
'start')
|
||||||
|
checkUser touchlock $1
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
|
||||||
|
'stop')
|
||||||
|
checkUser "" $1
|
||||||
|
stopit
|
||||||
|
;;
|
||||||
|
|
||||||
|
'restart')
|
||||||
|
checkUser touchlock $1
|
||||||
|
stopit
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
|
||||||
|
'status')
|
||||||
|
checkUser "" $1
|
||||||
|
status
|
||||||
|
;;
|
||||||
|
|
||||||
|
'dump')
|
||||||
|
checkUser "" $1
|
||||||
|
dump
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 { console | start | stop | restart | status | dump }"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
70
dev-java/nexus/nexus-1.9.0.2.ebuild
Normal file
70
dev-java/nexus/nexus-1.9.0.2.ebuild
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
|
||||||
|
EAPI=2
|
||||||
|
|
||||||
|
inherit eutils java-pkg-2
|
||||||
|
|
||||||
|
DESCRIPTION="Nexus Maven Repository Server"
|
||||||
|
|
||||||
|
MY_P=${P/nexus/nexus-oss-webapp}
|
||||||
|
SLOT="0"
|
||||||
|
SRC_URI="http://nexus.sonatype.org/downloads/${MY_P}-bundle.tar.gz"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
RDEPEND=">=virtual/jre-1.5"
|
||||||
|
DEPEND=">=virtual/jdk-1.5"
|
||||||
|
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
NEXUS_HOME=/usr/share/${PN}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
java-pkg-2_pkg_setup
|
||||||
|
enewgroup nexus
|
||||||
|
enewuser nexus -1 /bin/sh -1 nexus
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cd "${S}/bin/jsw"
|
||||||
|
case ${ARCH} in
|
||||||
|
x86) F_ARCH="linux-x86-32" ;;
|
||||||
|
amd64) F_ARCH="linux-x86-64" ;;
|
||||||
|
*) die "This ebuild doesn't support ${ARCH}." ;;
|
||||||
|
esac
|
||||||
|
ls | grep -v $F_ARCH | xargs rm -vR || die "remove failed"
|
||||||
|
|
||||||
|
dodir ${NEXUS_HOME}
|
||||||
|
|
||||||
|
diropts -m775 -o nexus -g nexus
|
||||||
|
keepdir /etc/nexus
|
||||||
|
keepdir /var/lib/nexus/
|
||||||
|
keepdir /var/log/nexus/
|
||||||
|
keepdir /var/run/nexus/
|
||||||
|
keepdir /var/tmp/nexus/
|
||||||
|
|
||||||
|
dosym /var/log/nexus ${NEXUS_HOME}/logs
|
||||||
|
dosym /var/log/nexus /var/lib/nexus/logs
|
||||||
|
dosym /etc/nexus ${NEXUS_HOME}/conf
|
||||||
|
|
||||||
|
# zunaechst nur an localhost binden
|
||||||
|
sed -i -e 's:application-host=0.0.0.0:application-host=127.0.0.1:' "${S}"/conf/plexus.properties
|
||||||
|
# working-dir aendern
|
||||||
|
sed -i -e 's:nexus-work=\${basedir}/../sonatype-work/nexus:nexus-work=/var/lib/nexus:' "${S}"/conf/plexus.properties
|
||||||
|
|
||||||
|
cd "${S}"
|
||||||
|
chown -R nexus:nexus bin/* runtime/*
|
||||||
|
cp -pPR bin runtime "${D}${NEXUS_HOME}" || die "failed to copy runtime"
|
||||||
|
cp -pPR conf/* "${D}/etc/nexus" || die "failed to copy conf"
|
||||||
|
|
||||||
|
dosym /var/tmp/nexus /usr/share/nexus/runtime/tmp
|
||||||
|
|
||||||
|
newinitd "${FILESDIR}"/nexus.init nexus
|
||||||
|
|
||||||
|
elog "Nexus storage is /var/lib/nexus. Ensure that there is enough space."
|
||||||
|
|
||||||
|
elog "The default password for user admin is admin123."
|
||||||
|
|
||||||
|
ewarn "For security reasons nexus is bound to localhost."
|
||||||
|
ewarn "Before binding to public ip or mapping with mod_jk, please change passwords."
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user