]> www.vanbest.org Git - sasc-ng.git/commitdiff
Added init file, split off -common package
authorJan-Pascal van Best <janpascal@vanbest.org>
Fri, 25 Jan 2013 09:52:51 +0000 (10:52 +0100)
committerJan-Pascal van Best <janpascal@vanbest.org>
Fri, 25 Jan 2013 10:09:34 +0000 (11:09 +0100)
debian/control
debian/rules
debian/sasc-ng-3.7-trunk-amd64-sse2.install [new file with mode: 0644]
debian/sasc-ng-common.init [new file with mode: 0755]

index 23177d81adff2a092c8f0b8895c9ef9d0b3a01d9..872d6abcc66d0f0a56e6ce863aee0cec6293a706 100644 (file)
@@ -6,9 +6,22 @@ Standards-Version: 3.9.4
 #Build-Depends: debhelper (>= 5), ${kver:BuildDepends}
 Build-Depends: debhelper (>= 8)
 
+Package: sasc-ng-common
+Architecture: all
+Depends: ${misc:Depends}, sasc-ng-daemon (=${binary:Version})
+Description: softcam to help decode DVB streams
+ sasc-ng is a versatile SoftCAM which creates virtual DVB devices 
+ and outputs through them.
+ . 
+ This package contains common files for the sasc-ng daemon
+
 Package: sasc-ng-3.7-trunk-amd64-sse2
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${kver:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${kver:Depends},
+ sasc-ng-common (=${binary:Version})
+Conflicts: sasc-ng-daemon
+Replaces: sasc-ng-daemon
+Provides: sasc-ng-daemon
 Description: softcam to help decode DVB streams
  sasc-ng is a versatile SoftCAM which creates virtual DVB devices 
  and outputs through them.
index e1cde096013259b5f90f8289583a45dea253009a..4aee3b2db8ad81046b9ff22aff11a2e2866577e0 100755 (executable)
@@ -32,9 +32,10 @@ override_dh_auto_build:
        cd contrib/sasc-ng; make module; make
 
 override_dh_auto_install:
-       mkdir -p $(TMP)/usr/bin
-       mkdir -p $(TMP)/lib/modules/$(kernel_name)/misc
-       mkdir -p $(TMP)/usr/lib/
-       install -m0755 contrib/sasc-ng/sasc-ng $(TMP)/usr/bin/
-       install -m0644 contrib/sasc-ng/dvbloopback.ko $(TMP)/lib/modules/$(kernel_name)/misc
-       install -m0644 contrib/sasc-ng/sc/PLUGINS/lib/* $(TMP)/usr/lib/
+       # use package.install instead
+       #mkdir -p $(TMP)/usr/bin
+       #mkdir -p $(TMP)/lib/modules/$(kernel_name)/misc
+       #mkdir -p $(TMP)/usr/lib/
+       #install -m0755 contrib/sasc-ng/sasc-ng $(TMP)/usr/bin/
+       #install -m0644 contrib/sasc-ng/dvbloopback.ko $(TMP)/lib/modules/$(kernel_name)/misc
+       #install -m0644 contrib/sasc-ng/sc/PLUGINS/lib/* $(TMP)/usr/lib/
diff --git a/debian/sasc-ng-3.7-trunk-amd64-sse2.install b/debian/sasc-ng-3.7-trunk-amd64-sse2.install
new file mode 100644 (file)
index 0000000..b2a3a61
--- /dev/null
@@ -0,0 +1,3 @@
+contrib/sasc-ng/sasc-ng /usr/bin/
+contrib/sasc-ng/dvbloopback.ko /lib/modules/3.7-trunk-amd64/misc
+contrib/sasc-ng/sc/PLUGINS/lib/* /usr/lib/
diff --git a/debian/sasc-ng-common.init b/debian/sasc-ng-common.init
new file mode 100755 (executable)
index 0000000..9865e8b
--- /dev/null
@@ -0,0 +1,174 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          sasc-ng
+# Required-Start:
+# Required-Stop:
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: sasc-ng initscript
+# Description:       sasc-ng init script to start the sasc-ng daemon
+#
+### END INIT INFO
+
+# Author: Hein Rigolo <rigolo@gmail.com>
+#
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="sasc-ng"
+NAME=sasc-ng
+DAEMON=/usr/local/bin/$NAME
+PIDFILE=/var/run/$NAME.pid
+LOGFILE=/var/log/$NAME.log
+DEBUG_MASK=0
+#DEBUG_MASK=0xffffffcf
+
+NUM_LOOPBACK_ADAPTERS=3
+DAEMON_JOIN_ARGS="--join 0:3 --join 1:4 --join 2:5"
+#NUM_LOOPBACK_ADAPTERS=3
+#DAEMON_JOIN_ARGS="--join 0:3"
+ADDITIONAL_DVBLOOPBACK_PARAMS="adapter_nr=3"
+
+#DAEMON_ARGS="--join 0:3 --join 1:4 --join 2:5 --cam-budget --cam-dir /etc/sasc-ng --sid-filt 12 --sid-allpid --sid-nocache --buffer 8M --daemon --pidfile $PIDFILE --log $LOGFILE"
+#DAEMON_ARGS="--join 0:1 --cam-budget --cam-dir /etc/sasc-ng --sid-filt 12 --sid-allpid --sid-nocache --buffer 8M --daemon --pidfile $PIDFILE --log $LOGFILE"
+#DAEMON_ARGS="--join 0:2 --join 1:3 --cam-budget --cam-dir /etc/sasc-ng --sid-filt 12 --sid-allpid --sid-nocache --buffer 8M --sid-experimental --daemon --pidfile $PIDFILE --debug 0 --log $LOGFILE"
+#DAEMON_ARGS="--join 0:3 --join 1:4 --join 2:5 --cam-budget --cam-dir /etc/sasc-ng --sid-filt 12 --sid-allpid --sid-nocache --buffer 8M --sid-experimental --daemon --pidfile $PIDFILE --debug 0 --log $LOGFILE"
+#DAEMON_ARGS="$DAEMON_JOIN_ARGS --cam-budget --cam-dir /etc/sasc-ng --sid-filt 12 --sid-allpid --sid-nocache --buffer 8M --sid-experimental --daemon --pidfile $PIDFILE --debug $DEBUG_MASK --log $LOGFILE"
+DAEMON_ARGS="$DAEMON_JOIN_ARGS --cam-budget --cam-dir /etc/sasc-ng --sid-filt 12 --sid-allpid --sid-nocache --buffer 8M --sid-experimental --daemon --pidfile $PIDFILE --debug $DEBUG_MASK"
+SCRIPTNAME=/etc/init.d/$NAME
+INIT_VERBOSE=yes
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+       modprobe dvbloopback num_adapters=$NUM_LOOPBACK_ADAPTERS $ADDITIONAL_DVBLOOPBACK_PARAMS
+
+        # Return
+        #   0 if daemon has been started
+        #   1 if daemon was already running
+        #   2 if daemon could not be started
+        #start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+        #        || return 1
+        start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON --test  \
+                || return 1
+        logrotate -f /etc/logrotate.d/sasc-ng
+       ulimit -c unlimited
+        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+                $DAEMON_ARGS >> $LOGFILE 2>&1 \
+                || return 2
+        # Add code here, if necessary, that waits for the process to be ready
+        # to handle requests from services started subsequently which depend
+        # on this one.  As a last resort, sleep for some time.
+}
+
+# 
+# Function that stops the daemon/service
+# 
+do_stop()
+{
+        # Return
+        #   0 if daemon has been stopped
+        #   1 if daemon was already stopped
+        #   2 if daemon could not be stopped
+        #   other if a failure occurred
+        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+        RETVAL="$?"
+        [ "$RETVAL" = 2 ] && return 2
+        # Wait for children to finish too if this is a daemon that forks
+        # and if the daemon is only ever run from this initscript.
+        # If the above conditions are not satisfied then add some other code
+        # that waits for the process to drop all resources that could be
+        # needed by services started subsequently.  A last resort is to
+        # sleep for some time.
+        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+        [ "$?" = 2 ] && return 2
+        # Many daemons don't delete their pidfiles when they exit.
+        rm -f $PIDFILE
+        return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+        #
+        # If the daemon can reload its configuration without
+        # restarting (for example, when it is sent a SIGHUP),
+        # then implement that here.
+        #
+        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+        return 0
+}
+
+case "$1" in
+  start)
+        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+        do_start
+        case "$?" in
+                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+        esac
+        ;;
+  stop)
+        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+        do_stop
+        case "$?" in
+                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+        esac
+        ;;
+  #reload|force-reload)
+        #
+        # If do_reload() is not implemented then leave this commented out
+        # and leave 'force-reload' as an alias for 'restart'.
+        #
+        #log_daemon_msg "Reloading $DESC" "$NAME"
+        #do_reload
+        #log_end_msg $?
+        #;;
+  restart|force-reload)
+        #
+        # If the "reload" option is implemented then remove the
+        # 'force-reload' alias
+        # 
+        log_daemon_msg "Restarting $DESC" "$NAME"
+        do_stop
+        case "$?" in
+          0|1)
+                do_start
+                case "$?" in
+                        0) log_end_msg 0 ;;
+                        1) log_end_msg 1 ;; # Old process is still running
+                        *) log_end_msg 1 ;; # Failed to start
+                esac
+                ;;
+          *)
+                # Failed to stop
+                log_end_msg 1
+                ;;
+        esac
+        ;;
+  *)
+        #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+        exit 3
+        ;;
+esac
+