merged
This commit is contained in:
		
							
								
								
									
										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." | ||||
| } | ||||
		Reference in New Issue
	
	Block a user