diff --git a/core/java/src/net/i2p/util/WorkingDir.java b/core/java/src/net/i2p/util/WorkingDir.java index ef037a6448..1f5960d2f2 100644 --- a/core/java/src/net/i2p/util/WorkingDir.java +++ b/core/java/src/net/i2p/util/WorkingDir.java @@ -95,6 +95,12 @@ public class WorkingDir { return cwd; } + // apparently configured for "portable" ? + try { + if (oldDirf.getCanonicalPath().equals(dirf.getCanonicalPath())) + return cwd; + } catch (IOException ioe) {} + // where we want to go String rv = dirf.getAbsolutePath(); if (dirf.exists()) { diff --git a/history.txt b/history.txt index 1e7a954320..edc69debf1 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,8 @@ +2009-07-26 zzz + * Add wrapper.config and i2prouter comments for 'portable' + * Recognize same base and config dir in WorkingDir + * Reformat XInfoPanel in installer for clarity + 2009-07-25 dr|z3d * Enhance the layout of /graphs.jsp * Fix some of the irks in I2PSnark UI. diff --git a/installer/resources/i2prouter b/installer/resources/i2prouter index c8bab7911e..2b0edd4204 100644 --- a/installer/resources/i2prouter +++ b/installer/resources/i2prouter @@ -18,6 +18,9 @@ # If you did not run the installer, replace them with the appropriate path. I2P="%INSTALL_PATH" I2PTEMP="%SYSTEM_java_io_tmpdir" +# PORTABLE installation: +# Use the following instead. +#I2PTEMP="%INSTALL_PATH" # Application APP_NAME="i2p" diff --git a/installer/resources/start-i2p.txt b/installer/resources/start-i2p.txt index 9da29e3948..e20ed1e734 100644 --- a/installer/resources/start-i2p.txt +++ b/installer/resources/start-i2p.txt @@ -1 +1,3 @@ -To start I2P, run "$INSTALL_PATH/i2prouter start" +To start I2P, run: + +$INSTALL_PATH/i2prouter start diff --git a/installer/resources/wrapper.config b/installer/resources/wrapper.config index 1790970ba8..295811d9e1 100644 --- a/installer/resources/wrapper.config +++ b/installer/resources/wrapper.config @@ -11,6 +11,13 @@ # with the runplain.sh script on Linux. Use the 'restartable' # icon on Windows or the i2prouter script on Linux 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 @@ -47,12 +54,22 @@ wrapper.java.library.path.1=$INSTALL_PATH wrapper.java.library.path.2=$INSTALL_PATH/lib # Java Additional Parameters +# Numbers must be consecutive (except for stripquotes) 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.util.FileResource.checkAliases=false wrapper.java.additional.4=-Dorg.mortbay.xml.XmlParser.NotValidating=true wrapper.java.additional.5=-Di2p.dir.base="$INSTALL_PATH" wrapper.java.additional.5.stripquotes=TRUE +# PORTABLE installation: +# uncomment the following +#wrapper.java.additional.6=-Di2p.dir.pid="$INSTALL_PATH" +#wrapper.java.additional.6.stripquotes=TRUE +#wrapper.java.additional.7=-Di2p.dir.temp="$INSTALL_PATH" +#wrapper.java.additional.7.stripquotes=TRUE +#wrapper.java.additional.8=-Di2p.dir.config="$INSTALL_PATH" +#wrapper.java.additional.8.stripquotes=TRUE +# # Uncomment this for better performance. # If it doesn't work, server mode is not available in your JVM. # This may not be required if your machine is already "server-class". @@ -95,6 +112,10 @@ wrapper.console.loglevel=INFO # (change X to the next available number) # wrapper.java.additional.X=-Dwrapper.logfile=/path/to/wrapper.log 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 # Format of output for the log file. (See docs for formats) wrapper.logfile.format=LPTM @@ -151,6 +172,9 @@ wrapper.use_system_time=false # and edit the i2prouter script to change the WRAPPER_CONF setting # to point to the new wrapper.config location. 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 # # From i2prouter: @@ -162,6 +186,9 @@ wrapper.java.pidfile=$SYSTEM_java_io_tmpdir/routerjvm.pid # This means i2prouter looks for './i2p.pid'. # See comments above for wrapper.java.pidfile wrapper.pidfile=$SYSTEM_java_io_tmpdir/i2p.pid +# PORTABLE installation: +# Use the following instead. +#wrapper.pidfile=$INSTALL_PATH/i2p.pid #******************************************************************** # Wrapper NT Service Properties diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 9a7f805ca0..1e23e3febc 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 26; + public final static long BUILD = 27; /** for example "-test" */ public final static String EXTRA = "-rc"; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;