diff --git a/installer/resources/i2prouter b/installer/resources/i2prouter index 7623bec10136bcbd49bfece7311303db8d9e552f..1e15f57b9a009a070e0e27a066f1ec5cb5aaf10f 100644 --- a/installer/resources/i2prouter +++ b/installer/resources/i2prouter @@ -210,7 +210,7 @@ failed() { } if [ ! -r "${WRAPPER_CMD}" ]; then - echo "Unable to locate i2psvc in ${I2P}!" + echo "Unable to locate ${WRAPPER_CMD} in ${I2P}!" echo unsupported echo @@ -1220,9 +1220,65 @@ installdaemon() { fi fi elif [ -f /etc/arch-release ]; then - eval echo `gettext 'Detected Arch Linux:'` - eval echo `gettext 'Installing as a daemon is not yet supported in Arch Linux.'` - exit 1 + eval echo `gettext 'Detected Arch Linux:'` + if [ -f /etc/rc.d/i2prouter ]; then + eval echo `gettext 'Initscript from AUR package found. Refusing to continue.'` + exit 1 + elif [ -f /etc/rc.d/i2p ]; then + eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'` + exit 1 + else + echo "#!/bin/bash" >> /etc/rc.d/${APP_NAME} + echo >> /etc/rc.d/${APP_NAME} + echo ". /etc/rc.conf" >> /etc/rc.d/${APP_NAME} + echo ". /etc/rc.d/functions" >> /etc/rc.d/${APP_NAME} + echo >> /etc/rc.d/${APP_NAME} + echo "case "\$1" in" >> /etc/rc.d/${APP_NAME} + echo " start)" >> /etc/rc.d/${APP_NAME} + echo " stat_busy \"Starting i2p-Router\"" >> /etc/rc.d/${APP_NAME} + echo " ${REALDIR}/${APP_NAME}router start >/dev/null 2>&1" >> /etc/rc.d/${APP_NAME} + echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME} + echo " stat_fail" >> /etc/rc.d/${APP_NAME} + echo " else" >> /etc/rc.d/${APP_NAME} + echo " stat_done" >> /etc/rc.d/${APP_NAME} + echo " add_daemon i2prouter" >> /etc/rc.d/${APP_NAME} + echo " fi" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo " stop)" >> /etc/rc.d/${APP_NAME} + echo " stat_busy "Stopping i2p-Router"" >> /etc/rc.d/${APP_NAME} + echo " ${REALDIR}/${APP_NAME}router stop > /dev/null 2>&1" >> /etc/rc.d/${APP_NAME} + echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME} + echo " stat_fail" >> /etc/rc.d/${APP_NAME} + echo " else" >> /etc/rc.d/${APP_NAME} + echo " stat_done" >> /etc/rc.d/${APP_NAME} + echo " rm_daemon i2prouter" >> /etc/rc.d/${APP_NAME} + echo " fi" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo " restart)" >> /etc/rc.d/${APP_NAME} + echo " ${REALDIR}/${APP_NAME}router restart" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo " console)" >> /etc/rc.d/${APP_NAME} + echo " ${REALDIR}/${APP_NAME}router console" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo " status)" >> /etc/rc.d/${APP_NAME} + echo " ${REALDIR}/${APP_NAME}router status" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo " dump)" >> /etc/rc.d/${APP_NAME} + echo " ${REALDIR}/${APP_NAME}router dump" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo " graceful)" >> /etc/rc.d/${APP_NAME} + echo " ${REALDIR}/${APP_NAME}router graceful" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo " *)" >> /etc/rc.d/${APP_NAME} + echo " echo \"usage: \$0 {start|stop|restart|console|status|dump}\"" >> /etc/rc.d/${APP_NAME} + echo " ;;" >> /etc/rc.d/${APP_NAME} + echo "esac" >> /etc/rc.d/${APP_NAME} + chmod 755 /etc/rc.d/${APP_NAME} + chown root:root /etc/rc.d/${APP_NAME} + eval echo `gettext ' The $APP_LONG_NAME daemon has been installed.'` + eval echo `gettext ' Add \"i2p\" to the DAEMONS variable in /etc/rc.conf to enable.'` + + fi elif [ -f /etc/SuSE-release ] ; then eval echo `gettext 'Detected SuSE or SLES:'` if [ -f "/etc/init.d/$APP_NAME" ] ; then @@ -1416,6 +1472,15 @@ removedaemon() { eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'` exit 1 fi + elif [ -f /etc/arch-release ] ; then + eval echo `gettext 'Detected Arch Linux:'` + if [ -f "/etc/rc.d/$APP_NAME" ] ; then + eval echo `gettext ' Removing $APP_LONG_NAME daemon...'` + rm -f "/etc/rc.d/$APP_NAME" + else + eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'` + exit 1 + fi elif [ -f /etc/SuSE-release ] ; then eval echo `gettext 'Detected SuSE or SLES:'` if [ -f "/etc/init.d/$APP_NAME" ] ; then