X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=dist%2Fargeo-node%2Frpm%2Fusr%2Fsbin%2Fnodectl;h=0aba3dc59c192d0a54a5eb44d04fbab68f4aa2dc;hb=40af4cc6795ab669ec9432d1444f0779f9594952;hp=26fe3eeafda7e3513894140ed12efbafa83cdddb;hpb=5b5c2b97eee9edd037e198acadf8b416a973863f;p=lgpl%2Fargeo-commons.git diff --git a/dist/argeo-node/rpm/usr/sbin/nodectl b/dist/argeo-node/rpm/usr/sbin/nodectl index 26fe3eeaf..0aba3dc59 100755 --- a/dist/argeo-node/rpm/usr/sbin/nodectl +++ b/dist/argeo-node/rpm/usr/sbin/nodectl @@ -5,16 +5,14 @@ JVM=java # Directories and files CONF_DIR=/etc/$APP +CONF_DIRS=/etc/$APP/conf.d +BASE_POLICY_ALL=/usr/share/$APP/all.policy +BASE_CONFIG_INI=/usr/share/$APP/config.ini EXEC_DIR=/var/lib/$APP DATA_DIR=$EXEC_DIR/data CONF_RW=$EXEC_DIR/state -LOG_DIR=/var/log/$APP -LOG_FILE=$LOG_DIR/$APP.log - -RUN_DIR=/var/run/$APP -PID_FILE=$RUN_DIR/$APP.pid -#SHUTDOWN_FILE=$RUN_DIR/$APP.shutdown +CONFIG_INI=$CONF_RW/config.ini OSGI_INSTALL_AREA=/usr/share/osgi/boot OSGI_FRAMEWORK=$OSGI_INSTALL_AREA/org.eclipse.osgi.jar @@ -27,29 +25,21 @@ fi RETVAL=0 start() { - if [ -f $PID_FILE ];then - PID=`cat $PID_FILE` - kill -0 $PID &> /dev/null - PID_EXISTS=$? - if [ $PID_EXISTS -eq 0 ]; then - echo $APP already running with pid $PID - RETVAL=1 - return $RETVAL - else - echo Old $APP process with pid $PID is dead, removing $PID_FILE - rm -f $PID_FILE - fi - fi + mkdir -p $CONF_RW + mkdir -p $DATA_DIR + + # Merge config files + echo ## Equinox configuration - Generated by /usr/sbin/nodectl > $CONFIG_INI + cat $BASE_CONFIG_INI >> $CONFIG_INI + cat $CONF_DIR/$APP.ini >> $CONFIG_INI + for file in `ls -v $CONF_DIRS/*.ini`; do + echo "\n# $file\n" >> $CONFIG_INI; + cat $file >> $CONFIG_INI + done; -# if [ ! -f $CONF_RW/config.ini ]; then - cp --preserve $CONF_DIR/config.ini $CONF_RW/config.ini -# fi -# touch $SHUTDOWN_FILE cd $EXEC_DIR $JVM \ -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \ - -Djava.security.manager= \ - -Djava.security.policy="file:$CONF_DIR/node.policy" \ $JAVA_OPTS -jar $OSGI_FRAMEWORK \ -configuration "$CONF_RW" \ -data "$DATA_DIR" @@ -77,7 +67,8 @@ stop() { fi # notifies application by removing the shutdown file - rm -f $SHUTDOWN_FILE +# rm -f $SHUTDOWN_FILE + kill $PID # wait 10 min for application to shutdown, then kill it TIMEOUT=$((10*60)) @@ -97,21 +88,6 @@ stop() { # remove pid file rm -f $PID_FILE return $RETVAL - -# timeout is only available in EL6 -# timeout 5m sh << EOF -#while kill -0 $PID &> /dev/null; do sleep 1; done -#EOF -# TIMEOUT_EXIT=$? -# if [ $TIMEOUT_EXIT -eq 124 ];then -# kill -9 $PID -# RETVAL=1 -# echo Killed $APP with pid $PID -# else -# echo Stopped $APP with pid $PID -# fi -# rm -f $PID_FILE -# return $RETVAL } status() {