Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- set -e
- [ -f /etc/default/dcache ] && . /etc/default/dcache
- [ -f /etc/dcache.env ] && . /etc/dcache.env
- if [ -z "$DCACHE_HOME" ]; then
- DCACHE_HOME="/usr/share/dcache"
- fi
- if [ ! -d "$DCACHE_HOME" ]; then
- echo "$DCACHE_HOME is not a directory"
- exit 2
- fi
- DCACHE_CLASSPATH=${DCACHE_HOME}/classes/*
- DCACHE_DEFAULTS=${DCACHE_HOME}/defaults
- DCACHE_CACHED_CONFIG=/var/lib/dcache/config/cache
- . ${DCACHE_HOME}/lib/loadConfig.sh
- if [ "$(id -u)" -eq 0 -a -f /lib/systemd/system-generators/dcache-generator -a "$(basename $0)" != "dcache-generator" -
- a -f /bin/systemctl ]; then
- for unit in /run/systemd/generator/dcache@*.service; do
- if [ "$DCACHE_CACHED_CONFIG" -nt "$unit" ]; then
- systemctl daemon-reload
- break
- fi
- done
- fi
- wantdir="$1/dcache.service.wants"
- mkdir "$wantdir"
- for domain in $(getProperty dcache.domains); do
- RESTART_DELAY="$(getProperty dcache.restart.delay "$domain")"
- USER="$(getProperty dcache.user "$domain")"
- JAVA_OPTIONS="$(getProperty dcache.java.options "$domain")"
- HOME="$(getProperty dcache.home)"
- CLASSPATH="$(printClassPath "$domain")"
- JAVA_LIBRARY_PATH="$(getProperty dcache.java.library.path "$domain")"
- cat <<-EOF > "$1/dcache@$domain.service"
- [Unit]
- Description=dCache $domain domain
- After=network.target zookeeper.service
- PartOf=dcache.service
- ReloadPropagatedFrom=dcache.service
- Before=dcache.service
- [Service]
- Type=simple
- WorkingDirectory=${HOME}
- Restart=always
- RestartSec=${RESTART_DELAY}
- SuccessExitStatus=143
- ProtectSystem=full
- ProtectHome=true
- NoNewPrivileges=true
- StandardOutput=journal
- SyslogIdentifier=dcache@$domain
- Environment="CLASSPATH=$CLASSPATH" "LD_LIBRARY_PATH=$JAVA_LIBRARY_PATH"
- $( [ -z "$USER" ] || echo "User=$USER" )
- ExecStart=${JAVA} ${JAVA_OPTIONS} "-Ddcache.home=$HOME" "-Ddcache.paths.defaults=${DCACHE_DEFAULTS}" org.dcache.boot.BootLoader start ${domain}
- [Install]
- WantedBy=default.target
- EOF
- ln -s "$1/dcache@$domain.service" "$wantdir/dcache@$domain.service"
- done
Add Comment
Please, Sign In to add comment