#!/bin/sh APP=argeo if [ -z "$2" ]; then # Default node echo Argeo default node CONF_DIR=/etc/$APP EXEC_DIR=/var/lib/$APP else # Instance INSTANCE=$2 echo Argeo instance $INSTANCE if [ -z "$INSTANCE_DIR" ]; then INSTANCE_DIR=$HOME/.local/share/$APP.d/$INSTANCE fi if [ -z "$CONF_DIR" ]; then CONF_DIR=$HOME/.config/$APP.d/$INSTANCE fi EXEC_DIR=$INSTANCE_DIR # Make sure minimal files are available if [ ! -f $CONF_DIR/$APP.ini ]; then cp /etc/$APP/$APP.ini $CONF_DIR fi if [ ! -f $CONF_DIR/log4j.properties ]; then cp /etc/$APP/log4j.properties $CONF_DIR fi fi # Java if [ -z "$JVM" ]; then JVM=java fi # Directories and files BASE_POLICY_ALL=/usr/share/$APP/all.policy BASE_CONFIG_INI=/usr/share/$APP/config.ini CONF_DIRS=$CONF_DIR/conf.d DATA_DIR=$EXEC_DIR/data CONF_RW=$EXEC_DIR/state CONFIG_INI=$CONF_RW/config.ini # A2 sources can be overridden in *.ini files A2_SOURCES=a2:/// 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 ## start() { mkdir -p $CONF_RW mkdir -p $DATA_DIR # Merge config files printf "## Equinox configuration - Generated by /usr/sbin/argeoctl ##\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 # Concatenate additional .ini files if [ -d "$CONF_DIRS" ]; then for file in `ls -v $CONF_DIRS/*.ini`; do printf "\n##\n## $file\n##\n\n" >> $CONFIG_INI cat $file >> $CONFIG_INI done; fi cd $EXEC_DIR $JVM \ -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \ $JAVA_OPTS -jar $OSGI_FRAMEWORK \ -Dargeo.osgi.sources=$A2_SOURCES \ -configuration "$CONF_RW" \ -data "$DATA_DIR" } ## RELOAD ## reload() { echo Not yet implemented } # main case "$1" in start) start ;; reload) reload ;; *) echo $"Usage: $0 {start|reload}" exit 1 esac