From e4300042f39c55366a293bab13163620c9b30f26 Mon Sep 17 00:00:00 2001 From: yomguy Date: Mon, 16 Jan 2012 16:04:10 +0100 Subject: [PATCH] fix init video conf --- conf/etc/default/stream-m | 9 ++++ conf/etc/init.d/jackd | 2 +- conf/etc/init.d/stream-m | 83 +++++++++++++++++++++++++++++++++++ conf/etc/init.d/vncserver | 2 +- conf/etc/stream-m/server.conf | 23 ++++++++++ install.py | 42 +++++++++++++----- vendor/stream-m/bin/stream-m | 3 ++ vendor/stream-m/run.sh | 1 + 8 files changed, 151 insertions(+), 14 deletions(-) create mode 100644 conf/etc/default/stream-m create mode 100644 conf/etc/init.d/stream-m create mode 100644 conf/etc/stream-m/server.conf create mode 100644 vendor/stream-m/bin/stream-m diff --git a/conf/etc/default/stream-m b/conf/etc/default/stream-m new file mode 100644 index 0000000..7b2c28a --- /dev/null +++ b/conf/etc/default/stream-m @@ -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" + diff --git a/conf/etc/init.d/jackd b/conf/etc/init.d/jackd index 1c5f6f5..4c2aa07 100755 --- a/conf/etc/init.d/jackd +++ b/conf/etc/init.d/jackd @@ -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 index 0000000..95259d6 --- /dev/null +++ b/conf/etc/init.d/stream-m @@ -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 diff --git a/conf/etc/init.d/vncserver b/conf/etc/init.d/vncserver index fbeaa53..52f1565 100755 --- a/conf/etc/init.d/vncserver +++ b/conf/etc/init.d/vncserver @@ -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 index 0000000..a6c2ea8 --- /dev/null +++ b/conf/etc/stream-m/server.conf @@ -0,0 +1,23 @@ +# +# Sample configuration file +# Empty lines and lines starting with # and ; are ignored. +# Format: = +# Syntactic elements (words) can be separated by linear whitepace. +# + +# server.port +# listening port +server.port = 8080 + +# stream. +# if defined then a stream can be started with this name +streams.safe = true + +# stream..password +# determines the password to accept the stream +streams.safe.password = source2parisson + +# stream..limit +# maximum number of clients for this stream +streams.first.limit = 10 + diff --git a/install.py b/install.py index 3c144e8..596c5fb 100755 --- a/install.py +++ b/install.py @@ -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 index 0000000..860830e --- /dev/null +++ b/vendor/stream-m/bin/stream-m @@ -0,0 +1,3 @@ +#!/bin/sh + +java -cp /usr/local/lib/stream-m/lib/stream-m.jar StreamingServer $1 diff --git a/vendor/stream-m/run.sh b/vendor/stream-m/run.sh index 542df63..7b9f898 100755 --- a/vendor/stream-m/run.sh +++ b/vendor/stream-m/run.sh @@ -1,3 +1,4 @@ #!/bin/sh java -cp lib/stream-m.jar StreamingServer server.conf.sample + -- 2.39.5