From: Mathieu Baudier Date: Sat, 5 May 2018 18:53:45 +0000 (+0200) Subject: Use 'argeo' instead of 'node' as app name (in order to avoid conflicts X-Git-Tag: argeo-commons-2.1.74~45 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=64ab270af0600f3e2b3297723784e3a9613a2efa Use 'argeo' instead of 'node' as app name (in order to avoid conflicts with node.js packaging in EPEL, and more generally confusion with this framework) --- diff --git a/dist/argeo-node/base/etc/argeo/log4j.properties b/dist/argeo-node/base/etc/argeo/log4j.properties index 45acf1f67..d93b23456 100644 --- a/dist/argeo-node/base/etc/argeo/log4j.properties +++ b/dist/argeo-node/base/etc/argeo/log4j.properties @@ -8,7 +8,7 @@ log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%-5p %m%n log4j.appender.file=org.apache.log4j.DailyRollingFileAppender -log4j.appender.file.File=/var/log/node/node.csv +log4j.appender.file.File=/var/log/argeo/argeo.csv log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ISO8601};"%m";%c;%p%n log4j.appender.file.bufferedIO=true diff --git a/dist/argeo-node/base/etc/argeo/settings.sh b/dist/argeo-node/base/etc/argeo/settings.sh new file mode 100644 index 000000000..8141f0495 --- /dev/null +++ b/dist/argeo-node/base/etc/argeo/settings.sh @@ -0,0 +1,3 @@ +export LANG=en_US.utf8 +JAVA_OPTS="-showversion -Xmx128m" +#JAVA_OPTS="-showversion -Xmx512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7084 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" diff --git a/dist/argeo-node/pom.xml b/dist/argeo-node/pom.xml index 4b0f4a810..a181ade16 100644 --- a/dist/argeo-node/pom.xml +++ b/dist/argeo-node/pom.xml @@ -70,28 +70,28 @@ argeo-node - /etc/node + /etc/argeo root - node + argeo 640 noreplace false - rpm/etc/node + base/etc/argeo - /etc/node/conf.d + /etc/argeo/conf.d root - node + argeo 640 noreplace false - rpm/etc/node/conf.d + base/etc/argeo/conf.d *.ini *.txt @@ -100,47 +100,31 @@ - /usr/lib/systemd/system - root - root - 644 - false - - - rpm/usr/lib/systemd/system - - *.service - - - - - - /usr/share/node + /usr/share/argeo root root 644 false - rpm/usr/share/node + base/share/argeo - config.ini - all.policy + ** - /usr/share/node/jjs + /usr/lib/systemd/system root root 644 false - rpm/usr/share/node/jjs + rpm/usr/lib/systemd/system - *.js + *.service @@ -155,7 +139,7 @@ rpm/usr/sbin - nodectl + argeoctl diff --git a/dist/argeo-node/rpm/scripts/preinstall b/dist/argeo-node/rpm/scripts/preinstall index a5415fc7d..2e4606555 100644 --- a/dist/argeo-node/rpm/scripts/preinstall +++ b/dist/argeo-node/rpm/scripts/preinstall @@ -1,5 +1,5 @@ if [ $1 = "1" ];then - APP=node + APP=argeo # check if user exists /bin/id $APP 2>/dev/null diff --git a/dist/argeo-node/rpm/usr/lib/systemd/system/argeo.service b/dist/argeo-node/rpm/usr/lib/systemd/system/argeo.service new file mode 100644 index 000000000..f30e9fb2e --- /dev/null +++ b/dist/argeo-node/rpm/usr/lib/systemd/system/argeo.service @@ -0,0 +1,14 @@ +[Unit] +Description=Argeo Node +After=network.target +Wants=postgresql.service + +[Service] +Type=simple +PIDFile=/var/run/argeo/argeo.pid +ExecStart=/usr/sbin/argeoctl start +ExecReload=/usr/sbin/argeoctl reload +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target diff --git a/dist/argeo-node/rpm/usr/lib/systemd/system/node.service b/dist/argeo-node/rpm/usr/lib/systemd/system/node.service deleted file mode 100644 index 80cd827a1..000000000 --- a/dist/argeo-node/rpm/usr/lib/systemd/system/node.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Argeo Node -After=network.target -Wants=postgresql.service - -[Service] -Type=simple -PIDFile=/var/run/node/node.pid -ExecStart=/usr/sbin/nodectl start -ExecReload=/usr/sbin/nodectl reload -SuccessExitStatus=143 - -[Install] -WantedBy=multi-user.target diff --git a/dist/argeo-node/rpm/usr/sbin/argeoctl b/dist/argeo-node/rpm/usr/sbin/argeoctl new file mode 100755 index 000000000..ccadd8e9a --- /dev/null +++ b/dist/argeo-node/rpm/usr/sbin/argeoctl @@ -0,0 +1,129 @@ +#!/bin/sh +APP=argeo + +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 +CONFIG_INI=$CONF_RW/config.ini + +OSGI_INSTALL_AREA=/usr/share/osgi/boot +OSGI_FRAMEWORK=$OSGI_INSTALL_AREA/org.eclipse.osgi.jar + +# Overwrite variables +if [ -f $CONF_DIR/settings.sh ];then + . $CONF_DIR/settings.sh +fi + +RETVAL=0 + +start() { + mkdir -p $CONF_RW + mkdir -p $DATA_DIR + + # Merge config files + printf "## Equinox configuration - Generated by /usr/sbin/nodectl ##\n\n" > $CONFIG_INI + cat $BASE_CONFIG_INI >> $CONFIG_INI + printf "\n##\n## $CONF_DIR/$APP.ini\n##\n\n" >> $CONFIG_INI + cat $CONF_DIR/$APP.ini >> $CONFIG_INI + for file in `ls -v $CONF_DIRS/*.ini`; do + printf "\n##\n## $file\n##\n\n" >> $CONFIG_INI + cat $file >> $CONFIG_INI + done; + + cd $EXEC_DIR + $JVM \ + -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \ + $JAVA_OPTS -jar $OSGI_FRAMEWORK \ + -configuration "$CONF_RW" \ + -data "$DATA_DIR" +} + +reload() { + echo Not yet implemented +} + +stop() { + if [ -f $PID_FILE ];then + PID=`cat $PID_FILE` + kill -0 $PID &> /dev/null + PID_EXISTS=$? + if [ $PID_EXISTS -ne 0 ]; then + echo Dead $APP process with pid $PID, removing $PID_FILE + rm -f $PID_FILE + RETVAL=1 + return $RETVAL + fi + else + echo $APP is not running + RETVAL=1 + return $RETVAL + fi + + # notifies application by removing the shutdown file +# rm -f $SHUTDOWN_FILE + kill $PID + + # wait 10 min for application to shutdown, then kill it + TIMEOUT=$((10*60)) + BEGIN=$(date +%s) + while kill -0 $PID &> /dev/null + do + sleep 1 + NOW=$(date +%s) + DURATION=$(($NOW-$BEGIN)) + if [ $DURATION -gt $TIMEOUT ]; then + kill -9 $PID + echo Forcibly killed $APP with pid $PID + RETVAL=1 + fi + done + + # remove pid file + rm -f $PID_FILE + return $RETVAL +} + +status() { + if [ -f $PID_FILE ];then + PID=`cat $PID_FILE` + else + echo $APP is not running + return $RETVAL + fi + kill -0 $PID &> /dev/null + PID_EXISTS=$? + if [ $PID_EXISTS -eq 0 ]; then + echo $APP is running with pid $PID ... + else + echo No $APP process with pid $PID, removing $PID_FILE + rm -f $PID_FILE + fi + return $RETVAL +} + +# main +case "$1" in + start) + start + ;; + reload) + reload + ;; + stop) + stop + ;; + status) + status + ;; + *) + echo $"Usage: $0 {start|stop|status}" + exit 1 +esac \ No newline at end of file diff --git a/dist/argeo-node/rpm/usr/sbin/nodectl b/dist/argeo-node/rpm/usr/sbin/nodectl deleted file mode 100755 index e0703f0d1..000000000 --- a/dist/argeo-node/rpm/usr/sbin/nodectl +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh -APP=node - -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 -CONFIG_INI=$CONF_RW/config.ini - -OSGI_INSTALL_AREA=/usr/share/osgi/boot -OSGI_FRAMEWORK=$OSGI_INSTALL_AREA/org.eclipse.osgi.jar - -# Overwrite variables -if [ -f $CONF_DIR/settings.sh ];then - . $CONF_DIR/settings.sh -fi - -RETVAL=0 - -start() { - mkdir -p $CONF_RW - mkdir -p $DATA_DIR - - # Merge config files - printf "## Equinox configuration - Generated by /usr/sbin/nodectl ##\n\n" > $CONFIG_INI - cat $BASE_CONFIG_INI >> $CONFIG_INI - printf "\n##\n## $CONF_DIR/$APP.ini\n##\n\n" >> $CONFIG_INI - cat $CONF_DIR/$APP.ini >> $CONFIG_INI - for file in `ls -v $CONF_DIRS/*.ini`; do - printf "\n##\n## $file\n##\n\n" >> $CONFIG_INI - cat $file >> $CONFIG_INI - done; - - cd $EXEC_DIR - $JVM \ - -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \ - $JAVA_OPTS -jar $OSGI_FRAMEWORK \ - -configuration "$CONF_RW" \ - -data "$DATA_DIR" -} - -reload() { - echo Not yet implemented -} - -stop() { - if [ -f $PID_FILE ];then - PID=`cat $PID_FILE` - kill -0 $PID &> /dev/null - PID_EXISTS=$? - if [ $PID_EXISTS -ne 0 ]; then - echo Dead $APP process with pid $PID, removing $PID_FILE - rm -f $PID_FILE - RETVAL=1 - return $RETVAL - fi - else - echo $APP is not running - RETVAL=1 - return $RETVAL - fi - - # notifies application by removing the shutdown file -# rm -f $SHUTDOWN_FILE - kill $PID - - # wait 10 min for application to shutdown, then kill it - TIMEOUT=$((10*60)) - BEGIN=$(date +%s) - while kill -0 $PID &> /dev/null - do - sleep 1 - NOW=$(date +%s) - DURATION=$(($NOW-$BEGIN)) - if [ $DURATION -gt $TIMEOUT ]; then - kill -9 $PID - echo Forcibly killed $APP with pid $PID - RETVAL=1 - fi - done - - # remove pid file - rm -f $PID_FILE - return $RETVAL -} - -status() { - if [ -f $PID_FILE ];then - PID=`cat $PID_FILE` - else - echo $APP is not running - return $RETVAL - fi - kill -0 $PID &> /dev/null - PID_EXISTS=$? - if [ $PID_EXISTS -eq 0 ]; then - echo $APP is running with pid $PID ... - else - echo No $APP process with pid $PID, removing $PID_FILE - rm -f $PID_FILE - fi - return $RETVAL -} - -# main -case "$1" in - start) - start - ;; - reload) - reload - ;; - stop) - stop - ;; - status) - status - ;; - *) - echo $"Usage: $0 {start|stop|status}" - exit 1 -esac \ No newline at end of file