]> git.parisson.com Git - telecaster-cgi.git/commitdiff
fix init video conf
authoryomguy <yomguy@parisson.com>
Mon, 16 Jan 2012 15:04:10 +0000 (16:04 +0100)
committeryomguy <yomguy@parisson.com>
Mon, 16 Jan 2012 15:04:10 +0000 (16:04 +0100)
conf/etc/default/stream-m [new file with mode: 0644]
conf/etc/init.d/jackd
conf/etc/init.d/stream-m [new file with mode: 0644]
conf/etc/init.d/vncserver
conf/etc/stream-m/server.conf [new file with mode: 0644]
install.py
vendor/stream-m/bin/stream-m [new file with mode: 0644]
vendor/stream-m/run.sh

diff --git a/conf/etc/default/stream-m b/conf/etc/default/stream-m
new file mode 100644 (file)
index 0000000..7b2c28a
--- /dev/null
@@ -0,0 +1,9 @@
+# Set to "yes" to start stream-m at boot
+START_DAEMON=yes
+
+# The jackd process will run under this user
+USER=telecaster
+
+# Options to pass to jackd
+OPTIONS="/etc/stream-m/server.conf"
+
index 1c5f6f50c5a1150666ce3c3e7ea501248e58a884..4c2aa07fb48eb3e99e2483049afd0c48836d1fb0 100755 (executable)
@@ -10,7 +10,7 @@
 
 
 DAEMON=/usr/bin/jackd
-USER=
+USER=""
 OPTIONS=""
 LOG=/var/log/jackd.log
 PIDFILE=/var/run/jackd.pid
diff --git a/conf/etc/init.d/stream-m b/conf/etc/init.d/stream-m
new file mode 100644 (file)
index 0000000..95259d6
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          stream-m
+# Required-Start:
+# Required-Stop:
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: init-Script for system wide fetchmail daemon
+### END INIT INFO
+
+
+DAEMON=/usr/local/bin/stream-m
+USER=""
+CONF="/etc/stream-m/server.conf"
+LOG=/var/log/stream-m.log
+PIDFILE=/var/run/stream-m.pid
+
+test -f /etc/default/stream-m || exit 0
+. /etc/default/stream-m
+
+STREAMMHOME=/home/$USER
+
+if [ ! "x$START_DAEMON" = "xyes" -a ! "$1" = "stop" ]; then
+       echo "Edit /etc/default/stream-m to start stream-m"
+       exit 0
+fi
+
+test -f $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+case "$1" in
+       start)  
+               log_begin_msg "Starting stream-m video server:" "stream-m"
+            echo $DAEMON $CONF ' &' > $STREAMMHOME/.stream-m-init
+            chmod +x $STREAMMHOME/.stream-m-init
+            su -c $STREAMMHOME/.stream-m-init $USER > ${LOG}
+               sleep 2
+            pid=`pgrep -u ${USER} stream-m` 
+               if [ pid = '' ]; then
+                       log_failure_msg "Stream-m daemon can't be started! Check logfile: ${LOG}"
+            else
+                echo $pid > $PIDFILE
+               fi
+               
+               ;;
+       stop)
+               log_begin_msg "Stopping stream-m video server:" "stream-m"
+                pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` 
+               if [ ! pid = '' ]; then
+                        kill -9 $pid
+                       log_end_msg 0
+               else
+                       log_end_msg 1
+                       exit 1
+               fi
+                rm $PIDFILE
+               ;;
+       try-restart)
+               if test -e $PIDFILE ; then
+                       pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1`
+                       PIDDIR=/proc/$pid
+                       if [ -d ${PIDDIR} -a  "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+                               $0 restart
+                               exit 0
+                       fi
+               fi
+               test -f /etc/rc`/sbin/runlevel | cut -d' ' -f2`.d/S*stream-m* && $0 start
+               ;;
+
+       *)
+               log_warning_msg "Usage: /etc/init.d/stream-m {start|stop|restart|force-reload|awaken|debug-run}"
+               log_warning_msg "  start - starts system-wide stream-m service"
+               log_warning_msg "  stop  - stops system-wide stream-m service"
+               log_warning_msg "  restart, force-reload - starts a new system-wide stream-m service"
+               log_warning_msg "  awaken - tell system-wide stream-m to start a poll cycle immediately"
+               log_warning_msg "  debug-run [strace [strace options...]] - start a debug run of the"
+               log_warning_msg "    system-wide stream-m service, optionally running it under strace"
+               exit 1
+               ;;
+esac
+
+exit 0
index fbeaa5318b0af3e0a5ec2bc62427960a93d6c0aa..52f15654173f6ad48c858b96f38a38f0996777cd 100755 (executable)
@@ -11,7 +11,7 @@
 
 DAEMON=/usr/bin/vncserver
 USER=
-OPTIONS=""
+OPTIONS="/etc/stream-m/server.conf"
 LOG=/var/log/vncserver.log
 PIDFILE=/var/run/vncserver.pid
 PORT=1
diff --git a/conf/etc/stream-m/server.conf b/conf/etc/stream-m/server.conf
new file mode 100644 (file)
index 0000000..a6c2ea8
--- /dev/null
@@ -0,0 +1,23 @@
+#\r
+# Sample configuration file\r
+# Empty lines and lines starting with # and ; are ignored.\r
+# Format: <key> = <value>\r
+# Syntactic elements (words) can be separated by linear whitepace.\r
+#\r
+\r
+# server.port\r
+# listening port\r
+server.port = 8080\r
+\r
+# stream.<streamname>\r
+# if defined then a stream can be started with this name\r
+streams.safe = true\r
+\r
+# stream.<streamname>.password\r
+# determines the password to accept the stream\r
+streams.safe.password = source2parisson\r
+\r
+# stream.<streamname>.limit\r
+# maximum number of clients for this stream\r
+streams.first.limit = 10\r
+\r
index 3c144e83a50f4e8e5cde193bc5f674f5d8cc83c8..596c5fb7a95c2107c9fe509f74837918ba52029d 100755 (executable)
@@ -64,8 +64,9 @@ class Install(object):
         self.log_dir = '/var/log/telecaster'
         self.deefuzzer_log_dir = '/var/log/deefuzzer'
         self.conf_dir = '/etc/telecaster'
+        self.stream_m_conf_dir = '/etc/stream-m'
         self.init_dirs = ['/etc/init.d/', '/etc/default/']
-        self.daemons = ['jackd', 'vncserver']
+        self.daemons = ['jackd', 'vncserver', 'stream-m']
         self.apache_conf = '/etc/apache2/sites-available/telecaster.conf'
 
     def create_user(self):
@@ -85,6 +86,13 @@ class Install(object):
         # Install DeeFuzzer
         os.system('pip install deefuzzer')
 
+        # Install Stream-m
+        os.chdir(self.app_dir)
+        os.system('cp -ra vendor/stream-m /usr/local/lib/')
+        init_link = '/usr/local/bin/stream-m'
+        if not os.path.islink(init_link):
+            os.system('ln -s /usr/local/lib/stream-m/bin/stream-m '+init_link)
+
     def install_app(self):
         os.chdir(self.app_dir)
 
@@ -98,12 +106,13 @@ class Install(object):
     def install_conf(self):
         os.chdir(self.app_dir)
 
-        in_files = os.listdir('conf'+self.conf_dir)
-        if not os.path.exists(self.conf_dir):
-            os.makedirs(self.conf_dir)
-
-        for file in in_files:
-            shutil.copy('conf'+self.conf_dir+os.sep+file, self.conf_dir+os.sep+file)
+        for conf_dir in list(self.conf_dir, self.stream_m_conf_dir):
+            in_files = os.listdir('conf'+conf_dir)
+            if not os.path.exists(conf_dir):
+                os.makedirs(conf_dir)
+            for file in in_files:
+                shutil.copy('conf'+conf_dir+os.sep+file, conf_dir+os.sep+file)
+            self.chown(conf_dir)
 
         for dir in os.listdir('conf/home'):
             home_dir = self.home + '/.' + dir
@@ -122,7 +131,7 @@ class Install(object):
     def install_init(self):
         os.chdir(self.app_dir)
 
-        dirs = [self.rss_dir, self.m3u_dir, self.log_dir, self.deefuzzer_log_dir, self.conf_dir]
+        dirs = [self.rss_dir, self.m3u_dir, self.log_dir, self.deefuzzer_log_dir, self.conf_dir,  self.stream_m_conf_dir]
         for dir in dirs:
             if not os.path.exists(dir):
                 os.makedirs(dir)
@@ -142,6 +151,10 @@ class Install(object):
         if not os.path.islink(init_link):
             os.system('ln -s /etc/init.d/vncserver '+init_link)
 
+        init_link = '/etc/rc2.d/S98stream-m'
+        if not os.path.islink(init_link):
+            os.system('ln -s /etc/init.d/stream-m '+init_link)
+
         os.system('cp -r conf/usr/* /usr/')
 
     def run(self):
@@ -175,12 +188,17 @@ def main():
        Installation successfull !
 
        Now, please :
-       - configure your telecaster editing /etc/telecaster/telecaster.xml and /etc/telecaster/deefuzzer.xml
-       - configure your apache VirtualHost editing /etc/apache2/sites-available/telecaster.conf
+        - configure your telecaster editing:
+            /etc/telecaster/telecaster.xml
+            /etc/telecaster/deefuzzer.xml
+
+        - configure your apache VirtualHost editing /etc/apache2/sites-available/telecaster.conf
+
+        - REBOOT to setup audio and video servers !
 
-       And use the TeleCaster system browsing http://127.0.0.1/telecaster/telecaster.py
+        - use the TeleCaster system browsing http://127.0.0.1/telecaster/telecaster.py
 
-       See README for more infos.
+        See README for more infos.
        """
 
 
diff --git a/vendor/stream-m/bin/stream-m b/vendor/stream-m/bin/stream-m
new file mode 100644 (file)
index 0000000..860830e
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+java -cp /usr/local/lib/stream-m/lib/stream-m.jar StreamingServer $1
index 542df630c3616b92d98fbe9c86a27800623aa265..7b9f8988dc4cce8e8ec2a478fdf04bdfd59ddf11 100755 (executable)
@@ -1,3 +1,4 @@
 #!/bin/sh
 
 java -cp lib/stream-m.jar StreamingServer server.conf.sample
+