Browse Source

cdemu-daemon 1.5.0-1 files

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@7309 ec354946-7b23-47d6-9f5a-488ba84defc7
iwaim 11 years ago
parent
commit
3223d7848b
2 changed files with 188 additions and 0 deletions
  1. 177 0
      c/cdemu-daemon/cdemu-daemon.init
  2. 11 0
      c/cdemu-daemon/cdemu-daemon.sysconfig

+ 177 - 0
c/cdemu-daemon/cdemu-daemon.init

@@ -0,0 +1,177 @@
+#!/bin/sh
+#
+# cdemu-daemon: CDEmu userspace daemon
+#
+# chkconfig:    345 98 02 
+# description:  This is CDEmu userspace daemon that controls CDEmu block devices \
+#               and services device requests that are passed from kernel space
+#
+# processname:  cdemud
+# pidfile:      /var/run/cdemud.pid
+# config:       /etc/sysconfig/cdemu-daemon
+#
+
+# so we can rearrange this easily
+processname=/usr/bin/cdemud
+servicename=cdemu-daemon
+
+# Sanity checks.
+if [ ! -x $processname ]; then
+    echo "Daemon binary $processname not found!"
+    exit 1
+fi
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source config
+if [ -f /etc/sysconfig/cdemu-daemon ] ; then
+    . /etc/sysconfig/cdemu-daemon
+fi
+
+RETVAL=0
+
+start() {
+    # Load module
+    if [ -n "$MODULE" ]; then
+        echo -n $"    Inserting kernel module ($MODULE): "
+        /sbin/modprobe $MODULE >/dev/null 2>&1
+        RETVAL=$?
+        if [ $RETVAL = 0 ]; then
+            success $"$base startup"
+            echo
+        else
+            failure $"$base startup"
+            echo
+            return $RETVAL
+        fi
+    fi
+    
+    # Wait until control device is created...
+    if [ -n "$CTL_DEVICE" ]; then
+        echo -n $"    Waiting for $CTL_DEVICE to be created: "
+        until [ -c "$CTL_DEVICE" ]; do
+            echo -n ""
+        done
+    fi
+    
+    RETVAL=0
+    if [ $RETVAL -eq 0 ]; then
+        success $"$base startup"
+        echo
+    else 
+        failure $"$base startup"
+        echo
+        return $RETVAL
+    fi
+    
+    # Daemon arguments
+    DAEMON_ARGS="--daemonize"
+    
+    if [ -n "$DEVICES" ]; then
+        DAEMON_ARGS="$DAEMON_ARGS --num-devices=$DEVICES"
+    fi
+    if [ -n "$CTL_DEVICE" ]; then
+        DAEMON_ARGS="$DAEMON_ARGS --ctl-device=$CTL_DEVICE"
+    fi
+    if [ -n "$AUDIO_BACKEND" ]; then
+        DAEMON_ARGS="$DAEMON_ARGS --audio-driver=$AUDIO_BACKEND"
+    fi
+    
+    # Start daemon
+    echo -n $"    Starting daemon: "
+    daemon --check $servicename $processname $DAEMON_ARGS >/dev/null 2>&1
+    RETVAL=$?
+    if [ $RETVAL -eq 0 ]; then
+        success $"$base startup" 
+        touch /var/lock/subsys/$servicename
+        echo
+    else
+        failure $"$base startup"
+        echo
+        return $RETVAL
+    fi
+    
+    return $RETVAL
+}
+
+stop() {        
+    # Kill daemon with 'cdemud -k'
+    echo -n $"    Killing daemon: "
+    $processname -k >/dev/null 2>&1
+    RETVAL=$?
+    if [ $RETVAL -eq 0 ]; then
+        success $"$base shutdown"
+        echo
+    else
+        failure $"$base shutdown"
+        echo
+        return $RETVAL
+    fi
+    
+    # Unload module
+    if [ -n "$MODULE" ]; then
+        echo -n $"    Removing kernel module ($MODULE): "
+        /sbin/rmmod $MODULE >/dev/null 2>&1
+        RETVAL=$?
+        if [ $RETVAL -eq 0 ]; then
+            success $"$base shutdown"
+            echo
+        else
+            failure $"$base shutdown"
+            echo
+            return $RETVAL
+        fi
+    fi
+    
+    if [ $RETVAL -eq 0 ]; then
+        rm -f /var/lock/subsys/$servicename
+    fi
+    
+    return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+    start)
+        echo $"Starting CDEmu daemon: "
+        start
+        RETVAL=$?
+        ;;
+    stop)
+        echo $"Stopping CDEmu daemon: "
+        stop
+        RETVAL=$?
+        ;;
+    status)
+        status $processname
+        RETVAL=$?
+        ;;
+    restart)
+        echo $"Stopping CDEmu daemon: "
+        stop
+        RETVAL=$?
+        if [ $RETVAL -eq 0 ]; then
+            sleep 3
+            echo $"Starting CDEmu daemon: "
+            start
+            RETVAL=$?
+        fi
+        ;;
+    condrestart)
+        if [ -f /var/lock/subsys/$servicename ]; then
+            echo $"Stopping CDEmu daemon: "
+            stop
+            RETVAL=$?
+            if [ $RETVAL -eq 0]; then
+                sleep 3
+                echo $"Starting CDEmu daemon: "
+                start
+            fi
+        fi
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+        ;;
+esac
+exit $RETVAL

+ 11 - 0
c/cdemu-daemon/cdemu-daemon.sysconfig

@@ -0,0 +1,11 @@
+# Module to insert
+MODULE=vhba
+
+# Number of devices
+DEVICES=1
+
+# Control device
+CTL_DEVICE=/dev/vhba_ctl
+
+# Audio backend: pulse, alsa, oss, null (any driver supported by libao)
+AUDIO_BACKEND=null