diff --git a/debian/i2p.init b/debian/i2p.init index b7f3d3fa17d137ad8987de47e8a02a122bc7ac7d..905f589f24e80187fd3d658ca1e38f76c56dfa77 100755 --- a/debian/i2p.init +++ b/debian/i2p.init @@ -55,9 +55,19 @@ for ENV_FILE in /etc/environment /etc/default/locale; do value=`egrep "^${var}=" "$ENV_FILE" | tail -n1 | cut -d= -f2` [ -n "$value" ] && eval export $var=$value - if [ -n "$value" ] && [ "$ENV_FILE" = /etc/environment ]; then - log_warning_msg "/etc/environment has been deprecated for locale information; use /etc/default/locale for $var=$value instead" - fi +# This is commented out for Ubuntu: Ubuntu still creates +# /etc/environment in the most recent release +# (currently 'Precise'). +# +# TODO Add logic to automatically handle this +# +# Commented for Ubuntu since PPA packages 0.9-1$DISTRO1. +# Packages for Debian systems will have this stanza uncommented. +# +# if [ -n "$value" ] && [ "$ENV_FILE" = /etc/environment ]; then +# log_warning_msg "/etc/environment has been deprecated for locale information; use /etc/default/locale for $var=$value instead" +# fi + done done @@ -124,6 +134,12 @@ do_dump() [ "$RETVAL" = 2 ] && return 2 } +do_graceful() +{ + start-stop-daemon --stop --quiet -s HUP --pidfile $PIDFILE -u $I2PUSER + [ "$RETVAL" = 2 ] && return 2 +} + case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" @@ -141,6 +157,15 @@ case "$1" in 2) log_end_msg 1 ;; esac ;; + graceful) + log_daemon_msg "Attempting graceful shutdown of $DESC" "$NAME" + log_daemon_msg "(could take up to 11 minutes)" + do_graceful + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" do_stop @@ -172,7 +197,7 @@ case "$1" in ;; *) N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|dump|status|restart|force-reload}" >&2 + echo "Usage: $N {start|stop|dump|graceful|status|restart|force-reload}" >&2 exit 3 ;;