[Slim-Checkins] r33802 - in /7.7/trunk: ./ platforms/readynas/addon_template/files/etc/default/ platforms/readynas/addon_template/files/etc/init.d/ platforms/readynas/addon_template/files/usr/ platforms/readynas/addon_template/files/usr/sbin/

[email protected]
Newsgroups gmane.music.equipment.slimdevices.cvs
Message-ID <[email protected]>
Author: mherger
Date: Wed Feb  1 01:36:08 2012
New Revision: 33802

URL: http://svn.slimdevices.com/slim?rev=33802&view=rev
Log:
Bug: n/a
Description: move readynas configuration files to target folder instead of doing so in the build script

Added:
    7.7/trunk/platforms/readynas/addon_template/files/etc/default/
    7.7/trunk/platforms/readynas/addon_template/files/etc/default/squeezeboxserver
    7.7/trunk/platforms/readynas/addon_template/files/etc/init.d/
    7.7/trunk/platforms/readynas/addon_template/files/etc/init.d/squeezeboxserver   (with props)
    7.7/trunk/platforms/readynas/addon_template/files/usr/
    7.7/trunk/platforms/readynas/addon_template/files/usr/sbin/
    7.7/trunk/platforms/readynas/addon_template/files/usr/sbin/squeezeboxserver_safe   (with props)
Modified:
    7.7/trunk/buildme.pl

Modified: 7.7/trunk/buildme.pl
URL: http://svn.slimdevices.com/slim/7.7/trunk/buildme.pl?rev=33802&r1=33801&r2=33802&view=diff
==============================================================================
--- 7.7/trunk/buildme.pl (original)
+++ 7.7/trunk/buildme.pl Wed Feb  1 01:36:08 2012
@@ -668,6 +668,7 @@
 		## Since i386 was selected, lets make sure to remove sparc libs
 		print "INFO: \$archType was provided as [$archType], other files...\n";
 		$dirsToExcludeForReadyNas = $dirsToExcludeForReadyNasi386;
+		$target_arch = 'TARGET_MACHTYPE=i386';
 		
 	} elsif ($archType =~ /arm/) { 
 		## Since i386 was selected, lets make sure to remove sparc libs
@@ -706,18 +707,16 @@
 	print "INFO: Preparing add-on build environment...\n";
 	system("mv $baseDir/addon_template $baseDir/addons_sdk/SQUEEZEBOX");
 
-	system("install -d -m0755 $workDir/etc/default/ && install -d -m0755 $workDir/etc/init.d/ && install -d -m0755 $workDir/etc/squeezeboxserver/ && install -d -m0755 $workDir/usr/sbin/");
 	system("install -d -m0755 $workDir/usr/share/perl5/ && install -d -m0755 $share/ && install -d -m0755 $workDir/usr/share/doc/squeezeboxserver/");
-	system("install -d -m0755 $varlib/cache && install -d -m0755 $varlib/log && install -d -m0755 $varlib/prefs");
-
-	system("install -m0755 $baseDir/squeezeboxserver_safe $workDir/usr/sbin/ && install -m0755 $buildDir/server/slimserver.pl $workDir/usr/sbin/squeezeboxserver && install -m0755 $buildDir/server/scanner.pl $workDir/usr/sbin/squeezeboxserver-scanner");
+	system("install -d -m0755 $workDir/etc/squeezeboxserver/ && install -d -m0755 $varlib/cache && install -d -m0755 $varlib/log && install -d -m0755 $varlib/prefs");
+
+	system("install -m0755 $buildDir/server/slimserver.pl $workDir/usr/sbin/squeezeboxserver && install -m0755 $buildDir/server/scanner.pl $workDir/usr/sbin/squeezeboxserver-scanner");
 
 	system("mv $buildDir/server/Slim $workDir/usr/share/perl5/");
 	system("mv $buildDir/server/CPAN $buildDir/server/lib $buildDir/server/Firmware $buildDir/server/Graphics $buildDir/server/HTML $share/");
 	system("mv $buildDir/server/IR $buildDir/server/SQL $buildDir/server/strings.txt $buildDir/server/icudt46*.dat $buildDir/server/Bin $share/");
 	
 	system("mv $buildDir/server/*.conf $workDir/etc/squeezeboxserver");
-	system("mv $baseDir/squeezeboxserver.default $workDir/etc/default/squeezeboxserver && mv $baseDir/squeezeboxserver.init $workDir/etc/init.d/squeezeboxserver");
 	
 	system("install -d -m0755 $varlib/Plugins");
 	

Added: 7.7/trunk/platforms/readynas/addon_template/files/etc/default/squeezeboxserver
URL: http://svn.slimdevices.com/slim/7.7/trunk/platforms/readynas/addon_template/files/etc/default/squeezeboxserver?rev=33802&view=auto
==============================================================================
--- 7.7/trunk/platforms/readynas/addon_template/files/etc/default/squeezeboxserver (added)
+++ 7.7/trunk/platforms/readynas/addon_template/files/etc/default/squeezeboxserver Wed Feb  1 01:36:08 2012
@@ -1,0 +1,4 @@
+# User to run Logitech Media Server as
+SLIMUSER=root
+
+SLIMOPTIONS=""

Added: 7.7/trunk/platforms/readynas/addon_template/files/etc/init.d/squeezeboxserver
URL: http://svn.slimdevices.com/slim/7.7/trunk/platforms/readynas/addon_template/files/etc/init.d/squeezeboxserver?rev=33802&view=auto
==============================================================================
--- 7.7/trunk/platforms/readynas/addon_template/files/etc/init.d/squeezeboxserver (added)
+++ 7.7/trunk/platforms/readynas/addon_template/files/etc/init.d/squeezeboxserver Wed Feb  1 01:36:08 2012
@@ -1,0 +1,114 @@
+#!/bin/sh
+#
+# $Id$
+#
+# squeezebox	initscript for slimserver.pl
+#		This file should be placed in /etc/init.d.
+#
+# Original Author: Mattias Holmlund
+#
+# Updated By: Dan Sully
+
+set -e
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="Logitech Media Server"
+NAME=squeezeboxserver
+DAEMON=/usr/sbin/$NAME
+DAEMON_SAFE=/usr/sbin/${NAME}_safe
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+SLIMUSER=root
+PREFSDIR=/c/.$NAME/prefs
+LOGDIR=/c/.$NAME/log
+CACHEDIR=/c/.$NAME/cache
+SLIMOPTIONS=-utf8
+
+# Read config file if it is present.
+if [ -r /etc/default/$NAME ]
+then
+	. /etc/default/$NAME
+fi
+
+#
+#	Function that starts the daemon/service.
+#
+d_start() {
+        # Use squeezebox_safe to restart the daemon when
+        # it dies. This must be done to handle mysql restarts.
+                start-stop-daemon --start --quiet \
+                --chuid $SLIMUSER \
+                --pidfile $PIDFILE \
+                --exec /bin/bash \
+                --background \
+                --make-pidfile \
+                --name squeezeboxserve \
+                --startas $DAEMON_SAFE \
+                -- \
+                $DAEMON \
+                --prefsdir $PREFSDIR \
+                --logdir $LOGDIR \
+                --cachedir $CACHEDIR \
+                $SLIMOPTIONS
+}
+
+d_start_direct() {
+	start-stop-daemon --start --quiet \
+                --chuid $SLIMUSER \
+                --pidfile $PIDFILE \
+                --exec $DAEMON \
+                -- \
+                --pidfile $PIDFILE \
+                --daemon \
+                --prefsdir $PREFSDIR \
+                --logdir $LOGDIR \
+                --cachedir $CACHEDIR \
+                $SLIMOPTIONS
+}
+
+#	Function that stops the daemon/service.
+#
+d_stop() {
+	start-stop-daemon --oknodo --stop --pidfile $PIDFILE --name squeezeboxserve --retry=TERM/30/KILL/5
+}
+
+#
+#	Function that sends a SIGHUP to the daemon/service.
+#
+d_reload() {
+	start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+		--name squeezeboxserve --signal 1
+}
+
+case "$1" in
+  start)
+	echo -n "Making sure $DESC is stopped already: "
+	d_stop
+	echo -n "Starting $DESC: "
+	d_start
+	echo "."
+	;;
+  stop)
+	echo -n "Stopping $DESC: "
+	d_stop
+	echo "."
+	;;
+  restart|force-reload)
+	#
+	#	If the "reload" option is implemented, move the "force-reload"
+	#	option to the "reload" entry above. If not, "force-reload" is
+	#	just the same as "restart".
+	#
+	echo -n "Restarting $NAME: "
+	d_stop
+	d_start
+	echo "."
+	;;
+  *)
+	# echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+	exit 1
+	;;
+esac
+
+exit 0

Propchange: 7.7/trunk/platforms/readynas/addon_template/files/etc/init.d/squeezeboxserver
------------------------------------------------------------------------------
    svn:executable = *

Added: 7.7/trunk/platforms/readynas/addon_template/files/usr/sbin/squeezeboxserver_safe
URL: http://svn.slimdevices.com/slim/7.7/trunk/platforms/readynas/addon_template/files/usr/sbin/squeezeboxserver_safe?rev=33802&view=auto
==============================================================================
--- 7.7/trunk/platforms/readynas/addon_template/files/usr/sbin/squeezeboxserver_safe (added)
+++ 7.7/trunk/platforms/readynas/addon_template/files/usr/sbin/squeezeboxserver_safe Wed Feb  1 01:36:08 2012
@@ -1,0 +1,54 @@
+#!/bin/bash
+
+# $Id$
+
+if [ $# = 0 ]
+then
+  echo "Script to restart Logitech Media Server over and over again."
+  echo "This might need to be done since the mysql-server is sometimes"
+  echo "restarted due to upgrades and log-rotation and this causes"
+  echo "Logitech Media Server to exit."
+  echo
+  echo "To stop Logitech Media Server, kill this script instead of the"
+  echo "actual Logitech Media Server process."
+  echo
+  echo "Usage: $0 <squeezebox-binary> <squeezebox-arguments>"
+  exit 1
+fi
+
+function clean_up {
+  # Kill the daemon if it is running
+  kill $SLIMPID
+  echo `date "+%F %H:%M:%S"` "squeezeboxserver_safe stopped." >> /c/.squeezeboxserver/log/server.log
+  exit
+}
+
+trap clean_up SIGINT SIGHUP SIGTERM
+
+echo `date "+%F %H:%M:%S"` "squeezeboxserver_safe started." >> /c/.squeezeboxserver/log/server.log
+
+while true
+do
+  # From the Bash Reference Manual:
+  # When Bash receives a signal for which a trap has been set 
+  # while waiting for a command to complete, the trap will not 
+  # be executed until the command completes. When Bash is waiting
+  # for an asynchronous command via the wait builtin, the reception
+  # of a signal for which a trap has been set will cause the wait
+  # builtin to return immediately with an exit status greater than
+  # 128, immediately after which the trap is executed.
+
+  "$@" > /dev/null 2>&1 &
+  SLIMPID=$!
+  
+  # wait for the server to get started before wait()
+  sleep 15
+  
+  wait $SLIMPID
+  echo `date "+%F %H:%M:%S"` "Logitech Media Server died. Restarting." >> /c/.squeezeboxserver/log/server.log
+
+  # Normally, when Logitech Media Server realizes that the mysql-connection is gone,
+  # the mysql server has already been started again. So no need to sleep
+  # here.
+
+done

Propchange: 7.7/trunk/platforms/readynas/addon_template/files/usr/sbin/squeezeboxserver_safe
------------------------------------------------------------------------------
    svn:executable = *
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.