From: Kill Your TV Date: Mon, 18 Apr 2011 16:43:40 +0000 Subject: path substitution The purpose of this patch is the change the values handled by the Izpack based installer. Non-applicable sections (e.g., portable & windows) are also removed for the Debian wrapper.config to try to prevent confusion. --- installer/resources/eepget | 2 +- installer/resources/i2prouter | 82 ++++-------------------------------- installer/resources/runplain.sh | 4 +- installer/resources/wrapper.config | 70 ++++++------------------------ 4 files changed, 24 insertions(+), 134 deletions(-) --- a/installer/resources/eepget +++ b/installer/resources/eepget @@ -1,3 +1,3 @@ #!/bin/sh -I2P="%INSTALL_PATH" +I2P="/usr/share/i2p" java -cp "$I2P/lib/i2p.jar" net.i2p.util.EepGet "$@" --- a/installer/resources/i2prouter +++ b/installer/resources/i2prouter @@ -10,7 +10,7 @@ # wrapper configuration file. # # If this script fails to successfully invoke i2psvc on your platform, -# try the runplain.sh script instead. +# try the i2prouter-nowrapper script instead. # # This software is the proprietary information of Tanuki Software. # You shall use it only in accordance with the terms of the @@ -24,16 +24,9 @@ # These settings can be modified to fit the needs of your application # Optimized for use with version 3.5.17 of the Wrapper. -# Paths -# Note that (percent)INSTALL_PATH, (percent)USER_HOME, and (percent)SYSTEM_java_io_tmpdir -# should have been replaced by the izpack installer. -# If you did not run the installer, replace them with the appropriate paths. -I2P="%INSTALL_PATH" -I2P_CONFIG_DIR="%USER_HOME/.i2p" -I2PTEMP="%SYSTEM_java_io_tmpdir" -# PORTABLE installation: -# Use the following instead. -#I2PTEMP="%INSTALL_PATH" +I2P="/usr/share/i2p" +I2P_CONFIG_DIR="$HOME/.i2p" +I2PTEMP="/tmp" # Application APP_NAME="i2p" @@ -61,8 +54,8 @@ #RUN_AS_USER= # Wrapper -WRAPPER_CMD="$I2P/i2psvc" -WRAPPER_CONF="$I2P/wrapper.config" +WRAPPER_CMD="/usr/sbin/wrapper" +WRAPPER_CONF="/etc/i2p/wrapper.config" # Priority at which to run the wrapper. See "man nice" for valid priorities. # nice is only used if a priority is specified. @@ -167,48 +160,6 @@ # Workaround for Gentoo JAVABINARY=$(awk -F'=' '/^ *wrapper\.java\.command/{print $2}' "$WRAPPER_CONF") -if [ -e /etc/gentoo-release ]; then - if [ $JAVABINARY = java ]; then - if [ -x /etc/java-config-2/current-system-vm/bin/java ]; then - JAVABINARY="/etc/java-config-2/current-system-vm/bin/java" - else - echo "Please set wrapper.java.command in $WRAPPER_CONF" - exit 1 - fi - fi -fi - -WRAPPER_URL="http://www.i2p2.de/manualwrapper" -unsupported() { - echo "The most likely reason is that a supported version of the java" - echo "wrapper is not available in the I2P installation package for your" - echo "platform. It may be possible to manually download and install" - echo "a compatible wrapper for your system." - echo "See ${WRAPPER_URL} for hints." - echo - echo "In the meantime, you may start I2P by running the script" - echo "${I2P}/runplain.sh" - echo -} - -failed() { - echo "**`gettext 'Failed to load the wrapper'`**" - case `uname -s` in - FreeBSD) - echo - echo "The wrapper requires libiconv to be on your system." - echo "It can be installed with pkg_add -r libiconv" - echo - exit 1 - ;; - *) - echo - unsupported - exit 1 - ;; - esac -} - if [ -n "$FIXED_COMMAND" ] then COMMAND="$FIXED_COMMAND" @@ -920,9 +871,6 @@ # The string passed to eval must handles spaces in paths correctly. COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA" eval $COMMAND_LINE - if [ "$?" -ne "0" ]; then - failed - fi else eval echo `gettext '$APP_LONG_NAME is already running.'` exit 1 @@ -1046,9 +994,6 @@ # The string passed to eval must handles spaces in paths correctly. COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA" eval $COMMAND_LINE - if [ "$?" -ne "0" ]; then - failed - fi else eval echo `gettext '$APP_LONG_NAME is already running.'` exit 1 @@ -1858,24 +1803,9 @@ status ;; - 'install') - installdaemon - if [ ! `grep ^RUN_AS_USER $0` ]; then - echo - showsetusermesg - fi - echo - echo "You may want to disable the browser from launching at startup at" - echo "http://127.0.0.1:7657/configclients" - echo - echo "I2P_CONFIG_DIR is currently set to $I2P_CONFIG_DIR." - echo "Change the value in $0 if this is not" - echo "appropriate for your configuration." - ;; - - 'remove' | 'uninstall') - removedaemon - ;; + 'install' | 'remove' | 'uninstall') + echo "Use \"dpkg-reconfigure i2p\" to configure the initscript." + exit 1 'dump') checkUser "" "$COMMAND" --- a/installer/resources/runplain.sh +++ b/installer/resources/runplain.sh @@ -11,8 +11,8 @@ # Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir # should have been replaced by the izpack installer. # If you did not run the installer, replace them with the appropriate path. -I2P="%INSTALL_PATH" -I2PTEMP="%SYSTEM_java_io_tmpdir" +I2P="/usr/share/i2p" +I2PTEMP="/tmp" # Having IPv6 enabled can cause problems with certain configurations. Changing the # next value to true may help. --- a/installer/resources/wrapper.config +++ b/installer/resources/wrapper.config @@ -8,22 +8,13 @@ # click "Shutdown", wait 11 minutes, then start i2p. # # WARNING - The wrapper is NOT run (and this file is not used) -# if you start I2P with the 'no window' icon on Windows, or -# with the runplain.sh script on Linux. Use the 'restartable' -# icon on Windows or the i2prouter script on Linux to run the wrapper. +# if you start I2P with the i2prouter-nowrapper script in Linux. +# Use i2prouter or the initscript to run the wrapper. # # NOTE - Directory organization: # The standard I2P Installation will set up a "split" directory structure # with code in the install directory, data and configuration files in the # user's home directory, and temporary files in the system temporary directory. -# To set up a single-directory "portable" installation suitable for -# a USB stick, make several changes specified below (search for PORTABLE). -# -# NOTE - The izpack installer performs variable subsitiution on this -# file upon installation. If you did not use izpack, you must -# find and replace all instances of (dollar)INSTALL_PATH and -# (dollar)SYSTEM_java_io_tmpdir with appropriate values -# (perhaps . and /var/tmp, respectively) # #******************************************************************** # Java Application @@ -60,13 +51,14 @@ # classes, or all the classes of i2p.jar, are in a different directory). # Be sure there are no other duplicate classes. # -wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar +wrapper.java.classpath.1=/usr/share/i2p/lib/*.jar +wrapper.java.classpath.2=/usr/share/java/wrapper.jar # uncomment this to use the system classpath as well (e.g. to get tools.jar) -# wrapper.java.classpath.2=%CLASSPATH% +# wrapper.java.classpath.3=%CLASSPATH% -# Java Library Path (location of Wrapper.DLL or libwrapper.so) -wrapper.java.library.path.1=$INSTALL_PATH -wrapper.java.library.path.2=$INSTALL_PATH/lib +# Java Library Path (location of libjbigi/libjcpuid) +wrapper.java.library.path.1=/usr/lib/jni +wrapper.java.library.path.2=/usr/share/java/lib # Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode. wrapper.java.additional.auto_bits=TRUE @@ -76,7 +68,7 @@ wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt wrapper.java.additional.2=-Dorg.mortbay.http.Version.paranoid=true wrapper.java.additional.3=-Dorg.mortbay.xml.XmlParser.NotValidating=true -wrapper.java.additional.4=-Di2p.dir.base="$INSTALL_PATH" +wrapper.java.additional.4=-Di2p.dir.base=/usr/share/i2p wrapper.java.additional.4.stripquotes=TRUE # On some IPv6 enabled systems, I2P and other network-enabled java applications @@ -143,11 +135,7 @@ # You may wish to change this. # NOTE: On Linux/Mac this is overridden in the i2prouter script; changes here will have no effect. # System temp directory: -wrapper.logfile=$SYSTEM_java_io_tmpdir/wrapper.log -# PORTABLE installation: -# Use the following instead. I2P will find the logfile here, -# no need for a wrapper.java.additional line too. -#wrapper.logfile=$INSTALL_PATH/wrapper.log +#wrapper.logfile=/tmp/wrapper.log # Format of output for the log file. # The format consists of the tokens 'L' for log level, 'P' for prefix, 'D' for thread, @@ -217,11 +205,7 @@ # Linux/Mac users, do not set here, see settings in the i2prouter script. # Directory must exist or the wrapper will fail to start. # System temp directory: -#wrapper.java.pidfile=$SYSTEM_java_io_tmpdir/routerjvm.pid -# PORTABLE installation: -# Use the following instead. -#wrapper.java.pidfile=$INSTALL_PATH/routerjvm.pid -# pid file for the service monitoring the JVM +#wrapper.java.pidfile=/tmp/routerjvm.pid # # From i2prouter: # @@ -235,10 +219,7 @@ # Linux/Mac users, do not set here, see settings in the i2prouter script. # Directory must exist or the wrapper will fail to start. # System temp directory: -#wrapper.pidfile=$SYSTEM_java_io_tmpdir/i2p.pid -# PORTABLE installation: -# Use the following instead. -#wrapper.pidfile=$INSTALL_PATH/i2p.pid +#wrapper.pidfile=/tmp/i2p.pid #******************************************************************** # Wrapper General Properties @@ -255,30 +236,3 @@ wrapper.umask=0022 wrapper.java.umask=0022 wrapper.logfile.umask=077 - -#******************************************************************** -# Wrapper NT Service Properties -#******************************************************************** -# WARNING - Do not modify any of these properties when an application -# using this configuration file has been installed as a service. -# Please uninstall the service before modifying this section. The -# service can then be reinstalled. - -# Name of the service -wrapper.ntservice.name=i2p - -# Display name of the service -wrapper.ntservice.displayname=I2P Service - -# Description of the service -wrapper.ntservice.description=The I2P router service - -# Service dependencies. Add dependencies as needed starting from 1 -wrapper.ntservice.dependency.1= - -# Mode in which the service is installed. AUTO_START or DEMAND_START -wrapper.ntservice.starttype=AUTO_START - -# Allow the service to interact with the desktop. -wrapper.ntservice.interactive=false -