Don't need chown of new log dir, clean up some indents
[shibboleth/cpp-sp.git] / configs / shibd-suse.in
index 4353379..318499f 100644 (file)
@@ -26,21 +26,20 @@ SCRIPTNAME=/etc/init.d/$NAME
 PID_FILE=@-PKGRUNDIR-@/shibd.pid
 SHIBD_USER=root
 DAEMON_OPTS=""
+
 # Force removal of socket
 DAEMON_OPTS="$DAEMON_OPTS -f"
  
 # Use defined configuration file
 DAEMON_OPTS="$DAEMON_OPTS -c $SHIB_CONFIG"
-
-# Set uid to run as
-DAEMON_OPTS="$DAEMON_OPTS -u $SHIBD_USER"
  
 # Specify pid file to use
 DAEMON_OPTS="$DAEMON_OPTS -p $PID_FILE"
 
 # Specify wait time to use
 DAEMON_OPTS="$DAEMON_OPTS -w 30"
+
+[ -e /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME
  
 # Exit if the package is not installed.
 test -x "$DAEMON" || exit 5
@@ -52,8 +51,11 @@ rc_reset
  
 case "$1" in
     start)
-               # Handle transition from root to non-root packages.
-               chown $SHIBD_USER:$SHIBD_USER @-PKGRUNDIR-@/*
+        # Make sure package run directory exists.
+        [ -d @-PKGRUNDIR-@ ] || mkdir @-PKGRUNDIR-@
+
+        # Handle transition from root to non-root packages.
+        chown -R $SHIBD_USER:$SHIBD_USER @-PKGRUNDIR-@ @-PKGCACHEDIR-@ 2>/dev/null || :
                
         echo -n "Starting $DESC ($NAME)"
         ## Start daemon with startproc(8). If this fails
@@ -61,7 +63,7 @@ case "$1" in
  
         # NOTE: startproc return 0, even if service is
         # already running to match LSB spec.
-        /sbin/startproc -p $PID_FILE $DAEMON $DAEMON_OPTS > /dev/null 2>&1
+        /sbin/startproc -u $SHIBD_USER -p $PID_FILE $DAEMON $DAEMON_OPTS > /dev/null 2>&1
  
         # Remember status and be verbose
         rc_status -v