[Debburn-changes] r486 - in cdrkit/trunk: . genisoimage libusal
wodim
Eduard Bloch
blade at alioth.debian.org
Sun Nov 26 12:58:35 CET 2006
Author: blade
Date: 2006-11-26 12:58:34 +0100 (Sun, 26 Nov 2006)
New Revision: 486
Modified:
cdrkit/trunk/Changelog
cdrkit/trunk/genisoimage/genisoimage.c
cdrkit/trunk/genisoimage/tree.c
cdrkit/trunk/genisoimage/write.c
cdrkit/trunk/libusal/scsi-linux-ata.c
cdrkit/trunk/libusal/scsi-linux-sg.c
cdrkit/trunk/wodim/drv_mmc.c
Log:
Added some SuSE patches
Modified: cdrkit/trunk/Changelog
===================================================================
--- cdrkit/trunk/Changelog 2006-11-26 00:06:18 UTC (rev 485)
+++ cdrkit/trunk/Changelog 2006-11-26 11:58:34 UTC (rev 486)
@@ -15,6 +15,13 @@
* reenabled selection of the DVD driver, accidentaly disabled in 1.0, when
beeing in non-verbose mode
* made dirsplit work with file symlinks
+ * incorporated some OpenSUSE patches:
+ + cdrkit-HZ.patch (with initialized value, *sic*)
+ + cdrkit-dvd-fix.patch (return code tracking)
+ + cdrkit-gcc-workaround.patch
+ + cdrkit-mkisofs-fail-on-large-file.patch (don't just skip them)
+ + cdrkit-mkisofs-grow-check.patch (tolerate grown files)
+ + cdrkit-perms.patch (not breaking on missing device files)
[ Christian Fromme ]
* big cleanup, phase I, getting rid from Cstyle function definitions in
Modified: cdrkit/trunk/genisoimage/genisoimage.c
===================================================================
--- cdrkit/trunk/genisoimage/genisoimage.c 2006-11-26 00:06:18 UTC (rev 485)
+++ cdrkit/trunk/genisoimage/genisoimage.c 2006-11-26 11:58:34 UTC (rev 486)
@@ -1248,8 +1248,7 @@
extern char *cdrecord_data;
-int
-main(int argc, char *argv[])
+int main(int argc, char *argv[])
{
struct directory_entry de;
@@ -1286,6 +1285,8 @@
char *root_info = 0;
#endif /* APPLE_HYB */
+ if(argc && strstr(argv[0], "mkisofs")) /* lame cheater detected */
+ argv[0]="genisoimage";
#ifdef __EMX__
/* This gives wildcard expansion with Non-Posix shells with EMX */
@@ -3751,6 +3752,7 @@
* Filling all allocated data with zeroes will help
* to avoid core dumps.
*/
- memset(pt, 0, size);
+ if (size > 0) /* a workaround for gcc bug gcc.gnu.org/PR25639 */
+ memset(pt, 0, size);
return (pt);
}
Modified: cdrkit/trunk/genisoimage/tree.c
===================================================================
--- cdrkit/trunk/genisoimage/tree.c 2006-11-26 00:06:18 UTC (rev 485)
+++ cdrkit/trunk/genisoimage/tree.c 2006-11-26 11:58:34 UTC (rev 486)
@@ -1569,14 +1569,14 @@
errno = EFBIG;
#endif
#ifdef USE_LIBSCHILY
- errmsg("File %s is too large - ignoring\n",
+ comerr("File %s is too large - ignoring\n",
whole_path);
#else
fprintf(stderr,
"File %s is too large (errno = %d) - ignoring\n",
whole_path, errno);
#endif
- return (0);
+ exit(1);
}
/*
* Add this so that we can detect directory loops with hard links.
Modified: cdrkit/trunk/genisoimage/write.c
===================================================================
--- cdrkit/trunk/genisoimage/write.c 2006-11-26 00:06:18 UTC (rev 485)
+++ cdrkit/trunk/genisoimage/write.c 2006-11-26 11:58:34 UTC (rev 486)
@@ -475,7 +475,7 @@
memset(buffer, 0, use);
seterrno(0);
amt = fread(buffer, 1, use, infile);
- if (amt < use && amt != remain) {
+ if (amt < use && amt < remain) {
/*
* Note that genisoimage is not star and no 100% archiver.
* We only detect file growth if the new size does not
@@ -483,17 +483,13 @@
*/
if (geterrno() == 0) {
#ifdef USE_LIBSCHILY
- comerrno(EX_BAD,
- "File '%s' did %s.\n",
- filename,
- amt < remain ?
- "shrink":"grow");
+ comerrno(EX_BAD,
+ "File '%s' did shrink.\n",
+ filename);
#else
- fprintf(stderr,
- "File '%s' did %s.\n",
- filename,
- amt < remain ?
- "shrink":"grow");
+ fprintf(stderr,
+ "File '%s' did shrink.\n",
+ filename);
exit(EX_BAD);
#endif
}
Modified: cdrkit/trunk/libusal/scsi-linux-ata.c
===================================================================
--- cdrkit/trunk/libusal/scsi-linux-ata.c 2006-11-26 00:06:18 UTC (rev 485)
+++ cdrkit/trunk/libusal/scsi-linux-ata.c 2006-11-26 11:58:34 UTC (rev 486)
@@ -343,7 +343,7 @@
}
if (!DEVFS) {
/* for /dev/sr0 - /dev/sr? */
- for (i = 0; ; i++) {
+ for (i = 0; i<16 ; i++) {
sprintf(device, "/dev/sr%i", i);
if ((f = open(device, O_RDONLY | O_NONBLOCK)) < 0) {
if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
@@ -353,9 +353,7 @@
device, f, errno);
}
return (-2);
- } else if (errno == ENOENT || errno == ENODEV) {
- break;
- }
+ }
} else {
if (sg_amapdev(usalp, f, device, &schilly_bus, &target, &lun)) {
(++(*nopen));
@@ -376,9 +374,7 @@
device, f, errno);
}
return (-2);
- } else if (errno == ENOENT || errno == ENODEV) {
- break;
- }
+ }
} else {
/* ugly hack, make better, when you can. Alex */
if (0 > ioctl(f, CDROM_DRIVE_STATUS, CDSL_CURRENT)) {
Modified: cdrkit/trunk/libusal/scsi-linux-sg.c
===================================================================
--- cdrkit/trunk/libusal/scsi-linux-sg.c 2006-11-26 00:06:18 UTC (rev 485)
+++ cdrkit/trunk/libusal/scsi-linux-sg.c 2006-11-26 11:58:34 UTC (rev 486)
@@ -1132,6 +1132,11 @@
static void
sg_settimeout(int f, int tmo)
{
+#ifndef HZ
+ static int HZ=0;
+ if (!HZ)
+ HZ = sysconf(_SC_CLK_TCK);
+#endif
tmo *= HZ;
if (tmo)
tmo += HZ/2;
Modified: cdrkit/trunk/wodim/drv_mmc.c
===================================================================
--- cdrkit/trunk/wodim/drv_mmc.c 2006-11-26 00:06:18 UTC (rev 485)
+++ cdrkit/trunk/wodim/drv_mmc.c 2006-11-26 11:58:34 UTC (rev 486)
@@ -2679,23 +2679,24 @@
static int
fixate_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp)
{
+ int ret;
/*set a really BIG timeout and call fixate_mmc
The BIG timeout is needed in case there was a very short rzone to write at the
beginning of the disk, because lead-out needs to be at some distance.
*/
- if(usalp->verbose)
+ if(debug)
printf("fixate_mdvd\n");
usal_settimeout(usalp, 1000);
if(is_packet(trackp) || dp->profile == 0x1B){
scsi_close_tr_session(usalp, CL_TYPE_SESSION, 0, FALSE);
}
- fixate_mmc(usalp, dp, trackp);
+ ret=fixate_mmc(usalp, dp, trackp);
if (dp->profile == 0x2B) {
scsi_close_tr_session(usalp, CL_TYPE_OPEN_SESSION, 0, FALSE);
scsi_close_tr_session(usalp, CL_TYPE_FINALISE_MINRAD, 0, FALSE);
}
usal_settimeout(usalp, 200);
-
+ return ret;
}
char *blank_types[] = {
More information about the Debburn-changes
mailing list