[Pkg-freevo-maint] r58 - packages/freevo/trunk/debian

mennucc1 at alioth.debian.org mennucc1 at alioth.debian.org
Mon Jan 14 23:11:03 UTC 2008


Author: mennucc1
Date: 2008-01-14 23:11:03 +0000 (Mon, 14 Jan 2008)
New Revision: 58

Added:
   packages/freevo/trunk/debian/freevo.freevo_xserver.init
Removed:
   packages/freevo/trunk/debian/freevo.init
Modified:
   packages/freevo/trunk/debian/freevo.config
   packages/freevo/trunk/debian/freevo.freevo_recordserver.init
   packages/freevo/trunk/debian/freevo.freevo_webserver.init
   packages/freevo/trunk/debian/freevo.postinst
   packages/freevo/trunk/debian/freevo.templates
   packages/freevo/trunk/debian/rules
Log:
Add defaults for questions regarding directories, and changed
 priority to 'low'.

Added debconf question abou recordings dir
 (TODO  not completely implemented).

Renamed freevo.init to freevo.freevo_xserver.init ; this is 
 a stupid hack, just so that I can pass --no-start to 
   dh_installinit -pfreevo --no-start --name=freevo_xserver

freevo postinst creates 'freevo' user and sets all needed directories.

/etc/init.d/* runs stuff as 'freevo' user
  TODO set correctly all confs, groups and permissions so that services 
    work OK.



Modified: packages/freevo/trunk/debian/freevo.config
===================================================================
--- packages/freevo/trunk/debian/freevo.config	2008-01-14 22:19:34 UTC (rev 57)
+++ packages/freevo/trunk/debian/freevo.config	2008-01-14 23:11:03 UTC (rev 58)
@@ -5,23 +5,26 @@
 db_capb backup
 
 state=1
-while [ "$state" -ge 1 -a "$state" -le 5 ]; do
+while [ "$state" -ge 1 -a "$state" -le 6 ]; do
 	case "$state" in
 	1)	db_input high freevo/display  || true
 		db_input high freevo/geometry || true
 		db_input high freevo/norm || true
 		db_input high freevo/chanlist || true
 		;;
-	2)	db_input medium freevo/title_video || true
-		db_input high freevo/path_to_video || true
+	2)	db_input high freevo/start_on_boot || true ;;
+	3)	db_input low freevo/title_video || true
+		db_input low freevo/path_to_video || true
 		;;
-	3)	db_input medium freevo/title_audio || true
-		db_input high freevo/path_to_audio || true
+	4)	db_input low freevo/title_audio || true
+		db_input low freevo/path_to_audio || true
 		;;
-	4)	db_input medium freevo/title_image || true
-		db_input high freevo/path_to_image || true
+	5)	db_input low freevo/title_image || true
+		db_input low freevo/path_to_image || true
 		;;
-	5)	db_input high freevo/start_on_boot || true ;;
+	6)	db_input low freevo/title_recordings || true
+		db_input low freevo/path_to_recordings || true
+		;;
 	esac
 
 	if db_go; then

Modified: packages/freevo/trunk/debian/freevo.freevo_recordserver.init
===================================================================
--- packages/freevo/trunk/debian/freevo.freevo_recordserver.init	2008-01-14 22:19:34 UTC (rev 57)
+++ packages/freevo/trunk/debian/freevo.freevo_recordserver.init	2008-01-14 23:11:03 UTC (rev 58)
@@ -15,6 +15,13 @@
 DAEMON=/usr/bin/freevo
 NAME=freevo-recordserver
 
+test -x $DAEMON || exit
+
+if [ `id -u` = 0 ] ; then
+  #echo switching to freevo user
+  exec su  -l freevo -c "$0 $@" 
+fi
+
 . /lib/lsb/init-functions
 
 # Default is to start nothing

Modified: packages/freevo/trunk/debian/freevo.freevo_webserver.init
===================================================================
--- packages/freevo/trunk/debian/freevo.freevo_webserver.init	2008-01-14 22:19:34 UTC (rev 57)
+++ packages/freevo/trunk/debian/freevo.freevo_webserver.init	2008-01-14 23:11:03 UTC (rev 58)
@@ -15,6 +15,13 @@
 DAEMON=/usr/bin/freevo
 NAME=freevo-webserver
 
+test -x $DAEMON || exit
+
+if [ `id -u` = 0 ] ; then
+  #echo switching to freevo user
+  exec su  -l freevo -c "$0 $@" 
+fi
+
 . /lib/lsb/init-functions
 
 # Default is to start nothing

Copied: packages/freevo/trunk/debian/freevo.freevo_xserver.init (from rev 51, packages/freevo/trunk/debian/freevo.init)
===================================================================
--- packages/freevo/trunk/debian/freevo.freevo_xserver.init	                        (rev 0)
+++ packages/freevo/trunk/debian/freevo.freevo_xserver.init	2008-01-14 23:11:03 UTC (rev 58)
@@ -0,0 +1,89 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:		freevo
+# Required-Start: rmnologin
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start:	2 3 4 5
+# Default-Stop:		0 1 6
+# Short-Description: Starts the Freevo Home Theatre PC Platform
+# Description:
+### END INIT INFO
+
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/bin/freevo
+NAME=freevo
+
+test -x $DAEMON || exit
+
+if [ `id -u` = 0 ] ; then
+  #echo switching to freevo user
+  exec su  -l freevo -c "$0 $@"
+fi
+
+. /lib/lsb/init-functions
+
+# Default is to start nothing
+START_FREEVO=0
+
+test -r /etc/default/freevo && . /etc/default/freevo
+test "$START_FREEVO" = 1 || exit 0
+
+test -x $DAEMON || exit 0
+
+test "${NOMOUSE}" = "true" && export SDL_NOMOUSE=true
+
+startx_freevo() {
+    [ -d $HOME/log  ] || mkdir $HOME/log
+    [ -f $HOME/log/Xfreevo.log  ] && mv $HOME/log/Xfreevo.log{,~}
+    (
+	exec >> $HOME/log/Xfreevo.log
+	exec 2>> $HOME/log/Xfreevo.log
+	startx  $DAEMON   -- :1 vt9 -quiet
+    ) &
+}
+
+start_freevo() {
+    log_action_msg "Starting Freevo Home Theatre PC Platform (frontend)"
+    startx_freevo
+    log_action_end_msg $?
+}
+
+stop_freevo() {
+    log_action_msg "Sopping Freevo Home Theatre PC Platform (frontend)"
+    $DAEMON stop
+    log_action_end_msg $?
+}
+
+restart_freevo() {
+    log_action_msg "Restarting Freevo Home Theatre PC Platform (frontend)"
+    $DAEMON stop
+    sleep 5
+    startx_freevo
+    log_action_end_msg $?
+}
+
+
+case "$1" in
+    start)
+        start_freevo
+	    ;;
+    stop)
+        stop_freevo
+	    ;;
+    restart|force-reload)
+        restart_freevo
+	    ;;
+    reload)
+	#FIXME doing nothing 
+	;;
+    *)
+	    N=/etc/init.d/$NAME
+	    echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+	    exit 1
+	    ;;
+esac
+
+exit 0

Deleted: packages/freevo/trunk/debian/freevo.init
===================================================================
--- packages/freevo/trunk/debian/freevo.init	2008-01-14 22:19:34 UTC (rev 57)
+++ packages/freevo/trunk/debian/freevo.init	2008-01-14 23:11:03 UTC (rev 58)
@@ -1,68 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:		freevo
-# Required-Start: rmnologin
-# Required-Stop:
-# Should-Start:
-# Should-Stop:
-# Default-Start:	2 3 4 5
-# Default-Stop:		0 1 6
-# Short-Description: Starts the Freevo Home Theatre PC Platform
-# Description:
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/bin/freevo
-NAME=freevo
-
-. /lib/lsb/init-functions
-
-# Default is to start nothing
-START_FREEVO=0
-
-test -r /etc/default/freevo && . /etc/default/freevo
-test "$START_FREEVO" = 1 || exit 0
-
-test -x $DAEMON || exit 0
-
-test "${NOMOUSE}" = "true" && export SDL_NOMOUSE=true
-
-start_freevo() {
-    log_action_msg "Starting Freevo Home Theatre PC Platform (frontend)"
-    $DAEMON start
-    log_action_end_msg $?
-}
-
-stop_freevo() {
-    log_action_msg "Sopping Freevo Home Theatre PC Platform (frontend)"
-    $DAEMON stop
-    log_action_end_msg $?
-}
-
-restart_freevo() {
-    log_action_msg "Restarting Freevo Home Theatre PC Platform (frontend)"
-    $DAEMON stop
-    sleep 5
-    $DAEMON start
-    log_action_end_msg $?
-}
-
-
-case "$1" in
-    start)
-        start_freevo
-	    ;;
-    stop)
-        stop_freevo
-	    ;;
-    restart|reload|force-reload)
-        restart_freevo
-	    ;;
-    *)
-	    N=/etc/init.d/$NAME
-	    echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
-	    exit 1
-	    ;;
-esac
-
-exit 0

Modified: packages/freevo/trunk/debian/freevo.postinst
===================================================================
--- packages/freevo/trunk/debian/freevo.postinst	2008-01-14 22:19:34 UTC (rev 57)
+++ packages/freevo/trunk/debian/freevo.postinst	2008-01-14 23:11:03 UTC (rev 58)
@@ -24,19 +24,50 @@
 			--sysfirst > /dev/null
 }
 
+create_dir() {
+    if test ! -e "$1" ; then
+	echo "Creating $2 directory $1 for freevo" 1>&2
+	mkdir --parents "$1"
+	#these two may fail if the dir is in a VFAT mount
+        chown freevo.freevo "$1" || true
+	chmod 755 "$1" || true
+    else
+	if test ! -d "$1" ; then
+	    echo "WARNING: freevo $2 directory should be $1 , " 1>&2
+	    echo "  but this latter exists and is not a directory - freevo will malfunction" 1>&2
+	else
+	  :  #TODO may check permissions and ownership
+	fi
+    fi
+}
+
+
 write_local_conf() {
 	db_get freevo/title_video
 	title_video="$RET"
 	db_get freevo/path_to_video
 	path_to_video="$RET"
+	create_dir "$RET" video
+
 	db_get freevo/title_audio
 	title_audio="$RET"
 	db_get freevo/path_to_audio
 	path_to_audio="$RET"
+	create_dir "$RET" audio
+
 	db_get freevo/title_image
 	title_image="$RET"
 	db_get freevo/path_to_image
 	path_to_image="$RET"
+	create_dir "$RET" image
+
+	db_get freevo/title_recordings
+	title_recordings="$RET"
+	db_get freevo/path_to_recordings
+	path_to_recordings="$RET"
+	create_dir "$RET" recordings
+
+	#FIXME this latter does not work , and ignores path_to_rcordings
 	cat $LOCAL_CONF.example | \
 	sed -r	-e "/^#.*files\/movies\/comedy'\) ]/ a\VIDEO_ITEMS = [ ('$title_video', '$path_to_video') ]" \
 		-e "/^#.*fxd\/webradio.fxd' ]/ a\AUDIO_ITEMS = [ ('$title_audio', '$path_to_audio') ]" \
@@ -55,9 +86,21 @@
 
 case "$1" in
 	configure)
-		write_freevo_conf
-		write_local_conf
+          # creating group
+	  if ! getent group freevo >/dev/null; then
+            addgroup --system freevo
+	  fi
+          # creating user
+	  
+	  if ! getent passwd freevo > /dev/null ; then
+	    echo "Adding user  'freevo'." 1>&2
+	    adduser --ingroup freevo --quiet --home /home/freevo \
+	        --disabled-login freevo
+	    fi
+	    write_freevo_conf
+	    write_local_conf
 	;;
+        abort-upgrade) ;;
 	*)
         echo "postinst called with unknown argument \`$1'" >&2
         exit 1

Modified: packages/freevo/trunk/debian/freevo.templates
===================================================================
--- packages/freevo/trunk/debian/freevo.templates	2008-01-14 22:19:34 UTC (rev 57)
+++ packages/freevo/trunk/debian/freevo.templates	2008-01-14 23:11:03 UTC (rev 58)
@@ -32,6 +32,7 @@
 
 Template: freevo/path_to_video
 Type: string
+Default: /home/freevo/video
 _Description: Path to videos:
  Set the path to the video folder. Note: A absolute path is required.
 
@@ -43,6 +44,7 @@
 
 Template: freevo/path_to_audio
 Type: string
+Default: /home/freevo/audio
 _Description: Path to audio folder:
  Set the path to the audio folder. Note: A absolute path is required.
 
@@ -53,10 +55,23 @@
  Set a title for the image folder. This will displayed by freevo in overview.
 
 Template: freevo/path_to_image
+Default: /home/freevo/image
 Type: string
 _Description: Path to image folder:
  Set the path to the image folder. Note: A absolute path is required.
 
+Template: freevo/title_recordings
+Type: string
+_Default: Recordings folder
+_Description: Title of  recorded video folder:
+ Set a title for the recordings folder. This will displayed by freevo in overview.
+
+Template: freevo/path_to_recordings
+Default: /home/freevo/recordings
+Type: string
+_Description: Path to recorded video folder:
+ Set the path to the recordings folder. Note: A absolute path is required.
+
 Template: freevo/start_on_boot
 Type: note
 _Description: Start during boot

Modified: packages/freevo/trunk/debian/rules
===================================================================
--- packages/freevo/trunk/debian/rules	2008-01-14 22:19:34 UTC (rev 57)
+++ packages/freevo/trunk/debian/rules	2008-01-14 23:11:03 UTC (rev 58)
@@ -41,6 +41,7 @@
 	mv $(CURDIR)/TODO \
 		$(CURDIR)/debian/freevo-doc/usr/share/doc/freevo
 
+	dh_installinit -pfreevo --no-start --name=freevo_xserver
 	dh_installinit -pfreevo --no-start --name=freevo_recordserver
 	dh_installinit -pfreevo --no-start --name=freevo_webserver
 




More information about the Pkg-freevo-maint mailing list