[Debburn-changes] r712 - in cdrkit/trunk: . debian genisoimage wodim

Eduard Bloch blade at alioth.debian.org
Sat Mar 17 12:59:17 CET 2007


Author: blade
Date: 2007-03-17 11:59:16 +0000 (Sat, 17 Mar 2007)
New Revision: 712

Modified:
   cdrkit/trunk/Changelog
   cdrkit/trunk/debian/changelog
   cdrkit/trunk/genisoimage/genisoimage.1
   cdrkit/trunk/genisoimage/genisoimage.c
   cdrkit/trunk/genisoimage/tree.c
   cdrkit/trunk/wodim/scsi_scan.c
Log:
/dev/sgDIGIT pattern fix in device scan

Modified: cdrkit/trunk/Changelog
===================================================================
--- cdrkit/trunk/Changelog	2007-03-15 23:52:53 UTC (rev 711)
+++ cdrkit/trunk/Changelog	2007-03-17 11:59:16 UTC (rev 712)
@@ -3,6 +3,8 @@
   [ Eduard Bloch ]
   * Fixed fishing for transfer size in sysfs, now ready for
     /dev/class/scsi_generic contents
+  * Fixed /dev/sgDIGIT pattern scan in --devices, now iterating over correct
+    sgX nodes. Thanks to Thomas Schmidt.
   * Dealing with the last newline char when processing
     /proc/sys/dev/cdrom/info contents
   * print the track size in the info message when guessing

Modified: cdrkit/trunk/debian/changelog
===================================================================
--- cdrkit/trunk/debian/changelog	2007-03-15 23:52:53 UTC (rev 711)
+++ cdrkit/trunk/debian/changelog	2007-03-17 11:59:16 UTC (rev 712)
@@ -6,7 +6,7 @@
     + corrected picking up of the SCSI transfer size (closes: #407773)
     + correct fallback to CDR_FIFOSIZE (closes: #408840)
     + restores forgotten compiler definitions on wodim (closes: #407611)
-    + LFS support in UDF (closes: #411178, #401988)
+    + provisional LFS support in UDF (closes: #401988)
     + transfer size extraction fix (part of #407773)
     + default gracetime value changed in recommendations (closes: #408844)
     + telling the user when the drive is mounted and therefore busy

Modified: cdrkit/trunk/genisoimage/genisoimage.1
===================================================================
--- cdrkit/trunk/genisoimage/genisoimage.1	2007-03-15 23:52:53 UTC (rev 711)
+++ cdrkit/trunk/genisoimage/genisoimage.1	2007-03-17 11:59:16 UTC (rev 712)
@@ -188,6 +188,14 @@
 .I .genisoimagerc
 file.
 .TP
+.B \-allow\-limited\-size
+When processing files larger than 2GiB which cannot be easily represented in
+ISO9660, add them with a shrunk visible file size to ISO9660 and with the
+correct visible file size to the UDF system. The result is an inconsistent
+filesystem and users need to make sure that they really use UDF rather than
+ISO9660 driver to read a such disk. Implies enabling
+.BR \-udf.
+.TP
 .B \-allow\-leading\-dots
 .TP
 .B \-ldots

Modified: cdrkit/trunk/genisoimage/genisoimage.c
===================================================================
--- cdrkit/trunk/genisoimage/genisoimage.c	2007-03-15 23:52:53 UTC (rev 711)
+++ cdrkit/trunk/genisoimage/genisoimage.c	2007-03-17 11:59:16 UTC (rev 712)
@@ -197,6 +197,7 @@
 int	allow_multidot = 0;	/* Allow more than on dot in filename */
 int	iso_translate = 1;	/* 1 == enables '#', '-' and '~' removal */
 int	allow_leading_dots = 0;	/* DOS cannot read names with leading dots */
+int	allow_limited_size = 0;	/* Let the user to allow the trick explicitely */
 #ifdef	VMS
 int	use_fileversion = 1;	/* Use file version # from filesystem */
 #else
@@ -489,6 +490,8 @@
 
 #define	OPTION_MAP_FILE			2045
 
+#define	OPTION_ALLOW_LIMITED_SIZE 2046
+
 #endif	/* APPLE_HYB */
 
 static int	save_pname = 0;
@@ -593,6 +596,9 @@
 	{{"max-iso9660-filenames", no_argument, NULL, OPTION_MAX_FILENAMES},
 	'\0', NULL, "Allow 37 character filenames for ISO9660 names (violates ISO9660)", ONE_DASH},
 
+	{{"allow-limited-size", no_argument, NULL, OPTION_ALLOW_LIMITED_SIZE},
+	'\0', NULL, "Allow different file sizes in ISO9660/UDF on large files", ONE_DASH},
+
 	{{"allow-leading-dots", no_argument, NULL, OPTION_ALLOW_LEADING_DOTS},
 	'\0', NULL, "Allow ISO9660 filenames to start with '.' (violates ISO9660)", ONE_DASH},
 	{{"ldots", no_argument, NULL, OPTION_ALLOW_LEADING_DOTS},
@@ -2404,6 +2410,10 @@
 			break;
 #endif	/* PREP_BOOT */
 #endif	/* APPLE_HYB */
+		case OPTION_ALLOW_LIMITED_SIZE:
+			allow_limited_size++;
+      use_udf++;
+			break;
 		default:
 			susage(1);
 		}

Modified: cdrkit/trunk/genisoimage/tree.c
===================================================================
--- cdrkit/trunk/genisoimage/tree.c	2007-03-15 23:52:53 UTC (rev 711)
+++ cdrkit/trunk/genisoimage/tree.c	2007-03-17 11:59:16 UTC (rev 712)
@@ -48,9 +48,7 @@
 #include <device.h>
 #include <schily.h>
 
-#ifdef UDF
-#include "udf.h"
-#endif
+extern int allow_limited_size;
 
 #ifdef VMS
 #include <sys/file.h>
@@ -58,10 +56,6 @@
 #include "vms.h"
 #endif
 
-#ifdef UDF
-#include "udf.h"
-#endif
-
 /*
  * Autoconf should be able to figure this one out for us and let us know
  * whether the system has memmove or not.
@@ -1554,13 +1548,13 @@
 	}
 	if (S_ISREG(lstatbuf.st_mode) && (lstatbuf.st_size >= (off_t)0x7FFFFFFF)) {
 		fprintf(stderr, "File %s is larger than 2GiB.\n", whole_path);
-		if(use_udf) {
+		if(allow_limited_size) {
 			fprintf(stderr, "This size can only be represented in the UDF filesystem.\n"
 					"Make sure that your clients support and use it.\n"
                                         "ISO9660, Joliet, RockRidge, HFS will display incorrect size.\n");
 		}
 		else {
-			fprintf(stderr, "-udf was not specified. There is no way do represent this file size. Aborting.\n");
+			fprintf(stderr, "-allow-limited-size was not specified. There is no way do represent this file size. Aborting.\n");
 			exit(1);
 		}
 	}

Modified: cdrkit/trunk/wodim/scsi_scan.c
===================================================================
--- cdrkit/trunk/wodim/scsi_scan.c	2007-03-15 23:52:53 UTC (rev 711)
+++ cdrkit/trunk/wodim/scsi_scan.c	2007-03-17 11:59:16 UTC (rev 712)
@@ -71,7 +71,8 @@
 	usal_fprintdev(f, ip);
 }
 
-#define MAXDEVCOUNT (256+26+26)
+#define MAXDEVCOUNT (256+26+256)
+
 int scan_devices() {
 	struct stat statbuf;
 	char *lines[MAXDEVCOUNT];
@@ -87,8 +88,8 @@
 			snprintf(devname, sizeof (devname), "/dev/hd%c", 'a'+i);
 		else if(i<(256+26))
 			snprintf(devname, sizeof (devname), "/dev/sr%d", i-26);
-		else if(i<(256+26+26))
-			snprintf(devname, sizeof (devname), "/dev/sg%c", 'a'+i-26-256);
+		else if(i<(256+26+256))
+			snprintf(devname, sizeof (devname), "/dev/sg%d", i-26-256);
 		else
 			break;
 
@@ -133,8 +134,10 @@
 	fprintf(stdout, "%s: Overview of accessible drives (%d found) :\n"
 			"----------------------------------------------------------------------\n",
 			get_progname(), ndevs);
-	for(i=0;i<ndevs;i++)
+	for(i=0;i<ndevs;i++) {
 		fprintf(stdout, "%s", lines[i]);
+    free(lines[i]);
+  }
 	fprintf(stdout,	"----------------------------------------------------------------------\n");
 
 	return 0;




More information about the Debburn-changes mailing list