build fixup, history for prop from test branch
This commit is contained in:
123
history.txt
123
history.txt
@ -1,3 +1,126 @@
|
||||
2009-06-29 zzz
|
||||
* Big directory rework:
|
||||
Eliminate all uses of the current working directory, and
|
||||
set up multiple directories specified by absolute paths for various uses.
|
||||
|
||||
Add a WorkingDir class to create a user config directory and
|
||||
migrate certain files to it for new installs.
|
||||
The directory will be $HOME/.i2p on linux and %APPDATA%\I2P on Windows,
|
||||
or as specified in the system property -Di2p.dir.config=/path/to/i2pdir
|
||||
All files except for the base install and temp files will be
|
||||
in the config directory by default.
|
||||
Temp files will be in a i2p-xxxxx subdirectory of the system temp directory
|
||||
specified by the system property java.io.tmpdir.
|
||||
|
||||
Convert all file opens in the code to be relative to a specific directory,
|
||||
as specified in the context. Code and applications should never open
|
||||
files relative to the current working directory (e.g. new File("foo")).
|
||||
All files should be accessed in the appropriate context directory,
|
||||
e.g. new File(_context.getAppDir(), "foo").
|
||||
|
||||
The router.config file location may be specified as a system property on the
|
||||
java command line with -Drouter.configLocation=/path/to/router.config
|
||||
All directories may be specified as properties in the router.config file.
|
||||
|
||||
There will be no migration from an existing installation
|
||||
unless the system property -Di2p.dir.migrate=true is set.
|
||||
If there is no migration, it will continue to use $I2P for all files,
|
||||
except for temporary and PID files.
|
||||
|
||||
The following linux scripts are now customized with the install path at,
|
||||
installation, and may be moved to /usr/local/bin and run from any
|
||||
working directory:
|
||||
eepget, i2prouter, runplain.sh
|
||||
|
||||
For new installs, the i2p base directory ($I2P) may be read-only
|
||||
if updates are disabled. The only time i2p should write to the base directory
|
||||
is to unzip the update file. Updates are downloaded to the config dir. If, upon
|
||||
restart, the base dir is not writable, it will log a message and continue.
|
||||
|
||||
Additional information, copied from I2PAppContext:
|
||||
|
||||
* Directories. These are all set at instantiation and will not be changed by
|
||||
* subsequent property changes.
|
||||
* All properties, if set, should be absolute paths.
|
||||
*
|
||||
* Name Property Method Files
|
||||
* ----- -------- ----- -----
|
||||
* Base i2p.dir.base getBaseDir() lib/, webapps/, docs/, geoip/, licenses/, ...
|
||||
* Temp i2p.dir.temp getTempDir() Temporary files
|
||||
* PID i2p.dir.pid getPIDDir() router.ping
|
||||
* Config i2p.dir.config getConfigDir() *.config, hosts.txt, addressbook/, ...
|
||||
*
|
||||
* (the following all default to the same as Config)
|
||||
*
|
||||
* Router i2p.dir.router getRouterDir() netDb/, peerProfiles/, router.*, keyBackup/, ...
|
||||
* Log i2p.dir.log getLogDir() logs/
|
||||
* App i2p.dir.app getAppDir() eepsite/, ...
|
||||
*
|
||||
* Note that the router can't control where the wrapper actually puts its files.
|
||||
|
||||
All these will be set appropriately in a Router Context.
|
||||
In an I2P App Context, all except Temp and PID will be the current working directory.
|
||||
|
||||
Related changes:
|
||||
i2prouter:
|
||||
- Don't cd to script location, no longer required
|
||||
jbigi, cpuid:
|
||||
- Extract files from jar to temp dir, load from that dir, then
|
||||
copy to the base dir if we have permissions (and failing silently
|
||||
if we don't), so we have optimized libs and no complaints
|
||||
when we have a read-only base dir.
|
||||
logs.jsp:
|
||||
- Get wrapper log location from a property too
|
||||
- Display log file locations
|
||||
RouterLaunch:
|
||||
- If no wrapper, put wrapper.log in system temp dir
|
||||
unless specified with -Dwrapper.logfile=/path/to/wrapper.log
|
||||
or it already exists in CWD (for backward compatibility)
|
||||
- Append rather than replace wrapper.log
|
||||
- Pass wrapper log location to router as a property, so that logs.jsp can find it
|
||||
runplain.sh:
|
||||
- Add path substitution to runplain.sh on install
|
||||
- Pass I2P base dir to the router as a property
|
||||
Systray:
|
||||
- Fix NPE if no config file
|
||||
wrapper.config:
|
||||
- Put wrapper.log in system temp dir for new installs
|
||||
- Pass I2P base dir to the router as a property
|
||||
|
||||
2009-06-29 zzz
|
||||
* HTTP Proxy:
|
||||
- Add simple web server for "proxy.i2p" to serve
|
||||
images and CSS for the error pages
|
||||
- Take CSS out of the error pages; use internal server
|
||||
for CSS, image, and favicon
|
||||
* i2psnark build:
|
||||
- Move FetchAndAdd to static inner class
|
||||
- Fix standalone build to include i2psnark.jar since classes
|
||||
aren't in the .war anymore
|
||||
- Have standalone jetty use I2PAppContext temp directory
|
||||
- Replace launch-i2psnark.jar with launch-i2psnark script,
|
||||
since RunStandalone is in i2p.jar
|
||||
- Clean up jetty-i2psnark.xml, turn off jetty logging
|
||||
- Remove standalone build from the pkg target in the main build.xml
|
||||
* Jbigi, CPUID:
|
||||
- Reduce memory demand on startup from 4MB to 4KB each
|
||||
* NetDb: Fix an NPE on early shutdown
|
||||
* Reseeding / NetDb:
|
||||
- Move reseeding from the routerconsole app to
|
||||
the router, so that we can bootstrap an embedded router lacking a routerconsole
|
||||
(iMule or android for example), without additional modifications.
|
||||
This allows better integration between the reseeding function
|
||||
and the netDb.
|
||||
- Call reseed from PersistentDataStore, not from the
|
||||
routerconsole init, and start seeding as soon as the netdb has read
|
||||
the netDb/ directory, not when the console starts.
|
||||
- Wake up the netdb reader as soon as reseeding is done,
|
||||
rather than waiting up to 60s.
|
||||
- Don't display the reseed button on the console until the
|
||||
netdb initialization is done.
|
||||
* RouterConsoleRunner:
|
||||
- Catch a class not found error better
|
||||
|
||||
2009-06-29 zzz
|
||||
* Console: Convert table headers to <th> to prep for CSS changes
|
||||
* Console CSS: Move css file, make a classic theme to prep for CSS changes
|
||||
|
Reference in New Issue
Block a user