Add an icon (in OSX parlance, a 'bundle') to the installation folder to start
I2P.
While there might be a better way to handle this (admittedly, I don't know OSX
that well), it is my belief that this way is less 'hackish' than the various
OSX 'installers' that I've seen floating around.
GnewSense.
This change will break nothing since we check for the existence of the lsb
function files in the initscript. With an older version of lsb-base (like the
one that came with Hardy (and GnewSense uses), the output from the initscript
will simply look a little different (but again, nothing will break). Virtually
everything but GnewSense comes with the desired lsb-base package anyway...
- Stop I2PThread from starting a new App context at shutdown
- Stop LogWriter from starting a new App context at shutdown
- Have router kill any leftover App context at startup
- Kill the global app context
- Recognize multi-router case
- Fix RandomIterator, YKGenerator, DHBuilder, NTCPConnection
hanging on to old context -
probably other offenders not yet found
- Fix DHBuilder thread not stopping
- Implement and call shutdown for RouterWatchdog
- Fix i2psnark DirMonitor not stopping
- Fix UPnP-Disposer not stopping quickly
- Implement and call YKGenerator and DHSessionKeyBuilder shutdown
- Implement and call shutdown for BandwidthRefiller
- Implement and register shutdown hook for Timestamper
- Implement and register shutdown hook for Jetty console server
- Fix UPnP-SSDPNotifySocket thread not stopping
- Fix all but one UDP PacketHandler threads not stopping
My rationale for this:
1) in case someone is installing I2P on top of an already existing installation
this will cause I2P to be shutdown
2) no hangs during the installation if i2p is already installed as a service
3) in case the NT service settings are changed in wrapper.config by us, this
will force the service settings to be updated.
4) versions of I2P < 0.8.7 did not remove the service when uninstalling. If someone
removed I2P in the past and reinstalls I2P--opting to run as a service--the
installation process will hang.