rpms/dvd+rw-tools/devel dvd+rw-tools-7.0-bacula.patch, NONE, 1.1 dvd+rw-tools-7.0-wexit.patch, NONE, 1.1 dvd+rw-tools.spec, 1.27, 1.28

Harald Hoyer (harald) fedora-extras-commits at redhat.com
Thu Jun 21 11:09:02 UTC 2007


Author: harald

Update of /cvs/pkgs/rpms/dvd+rw-tools/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv21451

Modified Files:
	dvd+rw-tools.spec 
Added Files:
	dvd+rw-tools-7.0-bacula.patch dvd+rw-tools-7.0-wexit.patch 
Log Message:
- fixed exit status (#243036)
- Allow session to cross 4GB boundary regardless of medium type.
  Add a -F option (used instead of -M or -Z), which displays 
  next_session offset and capacity. (#237967)


dvd+rw-tools-7.0-bacula.patch:

--- NEW FILE dvd+rw-tools-7.0-bacula.patch ---
Patch adding support for bacula by Luigi Gangitano <luigi at debian.org>

 * Allow session to cross 4GB boundary regardless of medium type
 * Add a -F option (used instead of -M or -Z), which displays 
   next_session offset and capacity


diff -Naur dvd+rw-tools-7.0.orig/growisofs.c dvd+rw-tools-7.0/growisofs.c
--- dvd+rw-tools-7.0.orig/growisofs.c	2006-09-24 17:28:53.000000000 +0000
+++ dvd+rw-tools-7.0/growisofs.c	2006-10-29 14:18:35.000000000 +0000
@@ -370,6 +370,11 @@
  *   upon Layer Break command, therefore longer timeout is required;
  * - Linux: deploy BLKFLSBUF to avoid media reloads when possible;
  * - add unit buffer utilization indicator [by request from K3b];
+ * Additions by Nicolas Boichat, Bacula project
+ * - Allow session to cross 4GB boundary regardless of medium type
+ *   (don't need to have a DL media)
+ * - Add a -F option (used instead of -M or -Z), which displays next_session
+ *   offset and capacity (free space = next_session - capacity).
  */
 #define PRINT_VERSION(cmd)	do {			\
     char *s=strrchr((cmd),'/');				\
@@ -2773,6 +2778,18 @@
 		else          in_device = argv[++i];
 		dev_found = 'Z';
 	    }
+	    else if (argv[i][1] == 'F')
+	    {	if (len > 2) in_device = argv[i]+2;
+		else	     in_device = argv[++i];
+		dev_found = 'F';
+		dry_run = 1; /* NEVER write anything with -F */
+	    }
+	    else if (!strncmp(opt,"-free-space",11))
+	    {	if (len > 11) in_device = opt+11;
+		else          in_device = argv[++i];
+		dev_found = 'F';
+		dry_run = 1; /* NEVER write anything with -F */
+	    }
 	    else if (!strcmp(opt,"-poor-man"))
 	    {	if (poor_man<0) poor_man = 1;
 		continue;
@@ -2993,7 +3010,9 @@
 		fprintf (stderr,"    you most likely want to use -Z option.\n"), 
 		exit (FATAL_START(errno));
 
-	    if (dev_found == 'M')
+		if ((dev_found == 'M') || 
+			((dev_found == 'F') && !(mmc_profile&0x10000)) && (saved_descriptors[0].type[0] || saved_descriptors[0].type[1] || saved_descriptors[0].type[2]))
+				/* -F : The medium is not blank, there is a fs on it (the_buffer[0,1 or 2] != 0), so compute next_session. */
 	    {	if (memcmp (saved_descriptors[0].type,"\1CD001",6))
 	            fprintf (stderr,":-( %s doesn't look like isofs...\n",
 		    		in_device), exit(FATAL_START(EMEDIUMTYPE));
@@ -3016,8 +3035,7 @@
 			exit(FATAL_START(EINVAL));
 		}
 		else if (next_session > (0x200000-0x5000)) /* 4GB/2K-40MB/2K */
-		    if ((mmc_profile&0xFFFF)<0x20 ||
-			((mmc_profile&0xFFFF)<0x40 && !no_4gb_check))
+		    if (!no_4gb_check)
 			fprintf (stderr,":-( next session would cross 4GB "
 					"boundary, aborting...\n"),
 			exit (FATAL_START(ENOSPC));
@@ -3060,7 +3078,7 @@
 	exit (FATAL_START(EINVAL));
 
     if (imgfd<0)
-    {	if (mkisofs_argc==1)
+    {	if ((mkisofs_argc==1) && (dev_found != 'F'))
 	    fprintf (stderr,"%s: no mkisofs options specified, "
 			    "aborting...\n",argv[0]),
 	    exit (FATAL_START(EINVAL));
@@ -3244,6 +3262,15 @@
 	}
     }
 
+	if (dev_found == 'F') {
+		off64_t capacity = 0;
+		printf("next_session=%lld\n", next_session*CD_BLOCK);
+		if (ioctl_handle!=INVALID_HANDLE)
+			capacity = get_capacity (ioctl_handle);
+		printf("capacity=%lld\n", capacity);
+		exit(0);
+	}
+
     if (imgfd>=0)
     {	quiet--;
 	if (builtin_dd (imgfd,out_fd,next_session*CD_BLOCK) < 0)

dvd+rw-tools-7.0-wexit.patch:

--- NEW FILE dvd+rw-tools-7.0-wexit.patch ---
--- dvd+rw-tools-7.0/dvd+rw-format.cpp.wexit	2007-06-21 12:42:30.000000000 +0200
+++ dvd+rw-tools-7.0/dvd+rw-format.cpp	2007-06-21 12:44:13.000000000 +0200
@@ -245,7 +245,7 @@ int main (int argc, char *argv[])
 	alarm(1);
 	while ((waitpid(pid,&i,0) != pid) && !WIFEXITED(i)) ;
 	if (WEXITSTATUS(i) == 0) fprintf (stderr,"\n");
-	exit (0);
+	exit (WEXITSTATUS(i));
     }
 #endif
 
--- dvd+rw-tools-7.0/growisofs.c.wexit	2007-06-21 12:44:04.000000000 +0200
+++ dvd+rw-tools-7.0/growisofs.c	2007-06-21 12:43:50.000000000 +0200
@@ -2534,7 +2534,7 @@ void pipe_mkisofs_up (char *mkisofs_argv
 
 	if (!WIFEXITED(ret) || WEXITSTATUS(ret)!=0)
 	    fprintf (stderr,":-( mkisofs has failed: %d\n",WEXITSTATUS(ret)),
-	    exit (1);
+	    exit (WEXITSTATUS(ret));
     }
     else if (n<0)
     { int err = errno;


Index: dvd+rw-tools.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dvd+rw-tools/devel/dvd+rw-tools.spec,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- dvd+rw-tools.spec	27 Feb 2007 13:00:40 -0000	1.27
+++ dvd+rw-tools.spec	21 Jun 2007 11:08:24 -0000	1.28
@@ -1,7 +1,7 @@
 Summary:	Toolchain to master DVD+RW/+R media
 Name:		dvd+rw-tools
 Version:	7.0
-Release: 	3%{?dist}
+Release: 	4%{?dist}
 License:	GPL
 Group:		Applications/Multimedia
 Source:		http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-%{version}.tar.gz
@@ -9,6 +9,8 @@
 Patch1:		dvd+rw-tools-7.0-phys.patch
 Patch2:		dvd+rw-tools-7.0-pthread.patch
 Patch3: 	dvd+rw-tools-7.0.manpatch
+Patch4: 	dvd+rw-tools-7.0-wexit.patch
+Patch5: 	dvd+rw-tools-7.0-bacula.patch
 URL:		http://fy.chalmers.se/~appro/linux/DVD+RW/
 Requires:	mkisofs >= 2.0
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -23,6 +25,8 @@
 %patch1 -p1 -b .phys
 %patch2 -p1 -b .pthread
 %patch3 -p1 -b .manpatch
+%patch4 -p1 -b .wexit
+%patch5 -p1 -b .bacula
 
 %build
 export CFLAGS="$RPM_OPT_FLAGS"
@@ -46,20 +50,26 @@
 %{_mandir}/man1/growisofs.1*
 
 %changelog
-* Tue Feb 27 2007 Harald Hoyer <harald at redhat.com> - 7.0-3%{?dist}
+* Thu Jun 21 2007 Harald Hoyer <harald at redhat.com> - 7.0-4
+- fixed exit status (#243036)
+- Allow session to cross 4GB boundary regardless of medium type.
+  Add a -F option (used instead of -M or -Z), which displays 
+  next_session offset and capacity. (#237967)
+
+* Tue Feb 27 2007 Harald Hoyer <harald at redhat.com> - 7.0-3
 - fixed specfile issues (#209985)
 
-* Thu Dec 14 2006 Harald Hoyer <harald at redhat.com> - 7.0-0%{?dist}.4
+* Thu Dec 14 2006 Harald Hoyer <harald at redhat.com> - 7.0-0.4
 - set pthread stack size according to limit (#215818)
 
-* Wed Dec 13 2006 Harald Hoyer <harald at redhat.com> - 7.0-0%{?dist}.3
+* Wed Dec 13 2006 Harald Hoyer <harald at redhat.com> - 7.0-0.3
 - use _SC_PHYS_PAGES instead of _SC_AVPHYS_PAGES to determine available memory
 - Resolves: rhbz#216794
 
-* Fri Nov 03 2006 Harald Hoyer <harald at redhat.com> - 7.0-0%{?dist}.2
+* Fri Nov 03 2006 Harald Hoyer <harald at redhat.com> - 7.0-0.2
 - define RLIMIT_MEMLOCK, which should resolve the memlock problems
 
-* Thu Oct 26 2006 Harald Hoyer <harald at redhat.com> - 7.0-0%{?dist}.1
+* Thu Oct 26 2006 Harald Hoyer <harald at redhat.com> - 7.0-0.1
 - new version 7.0
 
 * Wed Jul 12 2006 Jesse Keating <jkeating at redhat.com> - 6.1-4.1




More information about the fedora-extras-commits mailing list