r341 - in vdr/vdr-xxv/trunk/debian: . patches

Tobias Grimm pkg-vdr-dvb-changes@lists.alioth.debian.org
Mon, 28 Mar 2005 12:14:23 +0000


Author: tiber-guest
Date: 2005-03-28 12:14:22 +0000 (Mon, 28 Mar 2005)
New Revision: 341

Added:
   vdr/vdr-xxv/trunk/debian/patches/02_secure-grab.dpatch
Removed:
   vdr/vdr-xxv/trunk/debian/patches/02_delete-before-grab.dpatch
Modified:
   vdr/vdr-xxv/trunk/debian/init
   vdr/vdr-xxv/trunk/debian/patches/00list
Log:
xxv: could not find a better way - handle grabbed images like in vdradmin using a special temp dir

Modified: vdr/vdr-xxv/trunk/debian/init
===================================================================
--- vdr/vdr-xxv/trunk/debian/init	2005-03-28 11:05:46 UTC (rev 340)
+++ vdr/vdr-xxv/trunk/debian/init	2005-03-28 12:14:22 UTC (rev 341)
@@ -51,12 +51,35 @@
 
 
 #
+# Create temp dir owned by xxv
+#
+create_temp() 
+{
+	TEMPDIR=`mktemp -d -p /tmp vdr-xxv-XXXXXX`
+	
+   	# Check if the group:user vdr:xxv exist and make 
+	# the temporary directory owned by vdr:xxv
+	if getent group | grep -q "^vdr:" ; then
+  	   chgrp vdr $TEMPDIR
+        fi
+	if getent group | grep -q "^xxv:" ; then
+  	   chown xxv $TEMPDIR
+        fi
+	
+        # group vdr as well as owner xxv may write to this directory
+	chmod a=,g=rwx,o=rwx $TEMPDIR
+}
+
+
+
+#
 # Start the daemon
 #
 start()
 {
-    start-stop-daemon --start -b --pidfile $PIDFILE --nicelevel 19 \
-      -c $USER:$GROUP --exec $DAEMON -- $COMMANDLINE
+    create_temp
+    TEMPDIR=$TEMPDIR start-stop-daemon --start -b --pidfile $PIDFILE \
+      --nicelevel 19 -c $USER:$GROUP --exec $DAEMON -- $COMMANDLINE
 }
 
 

Modified: vdr/vdr-xxv/trunk/debian/patches/00list
===================================================================
--- vdr/vdr-xxv/trunk/debian/patches/00list	2005-03-28 11:05:46 UTC (rev 340)
+++ vdr/vdr-xxv/trunk/debian/patches/00list	2005-03-28 12:14:22 UTC (rev 341)
@@ -1,2 +1,2 @@
 01_libpath
-02_delete-before-grab
+02_secure-grab

Deleted: vdr/vdr-xxv/trunk/debian/patches/02_delete-before-grab.dpatch
===================================================================
--- vdr/vdr-xxv/trunk/debian/patches/02_delete-before-grab.dpatch	2005-03-28 11:05:46 UTC (rev 340)
+++ vdr/vdr-xxv/trunk/debian/patches/02_delete-before-grab.dpatch	2005-03-28 12:14:22 UTC (rev 341)
@@ -1,20 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02_delete-before-grab.dpatch by Tobias Grimm <tg@e-tobi.net>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Delete grabbed image, because vdr may not overwrite it
-
-@DPATCH@
-diff -urNad vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm /tmp/dpep.2pWBvM/vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm
---- vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm	2005-02-09 18:10:25.000000000 +0100
-+++ /tmp/dpep.2pWBvM/vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm	2005-03-28 12:15:27.000000000 +0200
-@@ -107,6 +107,9 @@
-             $obj->{ysize},
-     );
- 
-+    # patched vdr may not allow overwriting existing files
-+    unlink $obj->{file};
-+    
-     my $erg = $svdrp->command($cmd);
-     $console->message($erg)
-         if(ref $console);

Added: vdr/vdr-xxv/trunk/debian/patches/02_secure-grab.dpatch
===================================================================
--- vdr/vdr-xxv/trunk/debian/patches/02_secure-grab.dpatch	2005-03-28 11:05:46 UTC (rev 340)
+++ vdr/vdr-xxv/trunk/debian/patches/02_secure-grab.dpatch	2005-03-28 12:14:22 UTC (rev 341)
@@ -0,0 +1,38 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_secure-grab.dpatch by Tobias Grimm <tg@e-tobi.net>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm /tmp/dpep.oAarZ2/vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm
+--- vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm	2005-03-28 12:59:55.000000000 +0200
++++ /tmp/dpep.oAarZ2/vdr-xxv-0.20/lib/XXV/MODULES/GRAB.pm	2005-03-28 13:24:12.000000000 +0200
+@@ -96,17 +96,26 @@
+     my $obj = shift || return error ('No Object!' );
+     my $watcher = shift;
+     my $console = shift;
++    my $file;
++    
++    if (! $ENV{TEMPDIR} == "") {
++        $file = "$ENV{TEMPDIR}/live.jpg";
++    } else {
++        $file = $obj->{file};
++    }
+ 
+     # the svdrp module
+     my $svdrp = $obj->{svdrp};
+ 
+     # the command
+     my $cmd = sprintf('grab %s jpeg 80 %d %d',
+-            $obj->{file},
++            $file
+             $obj->{xsize},
+             $obj->{ysize},
+     );
+ 
++    unlink($file);
++    
+     my $erg = $svdrp->command($cmd);
+     $console->message($erg)
+         if(ref $console);