From ac5c42c4051f3fa270f9eec8e1ea50466dbe0dbf Mon Sep 17 00:00:00 2001
From: Thomas Schmitt
Date: Thu, 8 Oct 2009 10:55:52 +0000
Subject: [PATCH] Bug fix: -for_backup did not enable -xattr and -md5 if no
drive was chosen yet. Bug fix: xorrisofs -help, xorrecord -help displayed
original xorriso -help
---
libisoburn/branches/ZeroFourTwoPl02/README | 6 +-
.../branches/ZeroFourTwoPl02/xorriso/README | 6 +-
.../ZeroFourTwoPl02/xorriso/xorriso.c | 130 ++++++++++++++++--
.../ZeroFourTwoPl02/xorriso/xorriso_eng.html | 15 +-
.../xorriso/xorriso_timestamp.h | 2 +-
5 files changed, 142 insertions(+), 17 deletions(-)
diff --git a/libisoburn/branches/ZeroFourTwoPl02/README b/libisoburn/branches/ZeroFourTwoPl02/README
index 46ad758b..9d4a6d94 100644
--- a/libisoburn/branches/ZeroFourTwoPl02/README
+++ b/libisoburn/branches/ZeroFourTwoPl02/README
@@ -4,7 +4,7 @@
libisoburn. By Vreixo Formoso
and Thomas Schmitt
Integrated sub project of libburnia-project.org.
-http://files.libburnia-project.org/releases/libisoburn-0.4.2.pl01.tar.gz
+http://files.libburnia-project.org/releases/libisoburn-0.4.2.pl02.tar.gz
Copyright (C) 2006-2009 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2.
------------------------------------------------------------------------------
@@ -35,10 +35,10 @@ Dynamic library and compile time header requirements for libisoburn-0.4.2 :
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time.
-Obtain libisoburn-0.4.2.pl01.tar.gz, take it to a directory of your choice
+Obtain libisoburn-0.4.2.pl02.tar.gz, take it to a directory of your choice
and do:
- tar xzf libisoburn-0.4.2.pl01.tar.gz
+ tar xzf libisoburn-0.4.2.pl02.tar.gz
cd libisoburn-0.4.2
Within that directory execute:
diff --git a/libisoburn/branches/ZeroFourTwoPl02/xorriso/README b/libisoburn/branches/ZeroFourTwoPl02/xorriso/README
index e58a0140..7cee9b66 100644
--- a/libisoburn/branches/ZeroFourTwoPl02/xorriso/README
+++ b/libisoburn/branches/ZeroFourTwoPl02/xorriso/README
@@ -4,7 +4,7 @@
xorriso. By Thomas Schmitt
Integrated sub project of libburnia-project.org but also published via:
http://scdbackup.sourceforge.net/xorriso_eng.html
-http://scdbackup.sourceforge.net/xorriso-0.4.2.pl01.tar.gz
+http://scdbackup.sourceforge.net/xorriso-0.4.2.pl02.tar.gz
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
------------------------------------------------------------------------------
@@ -46,9 +46,9 @@ Optional at compile time are:
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
-Obtain xorriso-0.4.2.pl01.tar.gz, take it to a directory of your choice and do:
+Obtain xorriso-0.4.2.pl02.tar.gz, take it to a directory of your choice and do:
- tar xzf xorriso-0.4.2.pl01.tar.gz
+ tar xzf xorriso-0.4.2.pl02.tar.gz
cd xorriso-0.4.2
Within that directory execute:
diff --git a/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso.c b/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso.c
index 8defd1c1..4fde3c19 100644
--- a/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso.c
+++ b/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso.c
@@ -10219,6 +10219,54 @@ int Xorriso_reaquire_outdev(struct XorrisO *xorriso, int flag)
}
+int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag)
+{
+ static char helptext[][80]= {
+"Usage: xorriso -as cdrecord [options|source_addresses]",
+"Note: This is not cdrecord. See xorriso -help, xorriso -version, man xorriso",
+"Options:",
+"\t-version\tprint version information and exit emulation",
+"\t--devices\tprint list of available MMC drives and exit emulation",
+"\tdev=target\tpseudo-SCSI target to use as CD-Recorder",
+"\t-v\t\tincrement verbose level by one",
+"\t-checkdrive\tcheck if a driver for the drive is present",
+"\t-inq\t\tdo an inquiry for the drive and exit emulation",
+"\tspeed=#\t\tset speed of drive",
+"\tblank=type\tblank a CD-RW disc (see blank=help)",
+"\tfs=#\t\tSet fifo size to # (0 to disable, default is 4 MB)",
+"\t-eject\t\teject the disk after doing the work",
+"\t-dummy\t\tdo everything with laser turned off",
+"\t-msinfo\t\tretrieve multi-session info for mkisofs >= 1.10",
+"\t-toc\t\tretrieve and print TOC/PMA data",
+"\t-atip\t\tretrieve media state, print \"Is *erasable\"",
+"\t-multi\t\tgenerate a TOC that allows multi session",
+"\t-waiti\t\twait until input is available before opening SCSI",
+"\ttsize=#\t\tannounces exact size of source data",
+"\tpadsize=#\tAmount of padding",
+"\t-data\t\tSubsequent tracks are CD-ROM data mode 1 (default)",
+"\t-isosize\tUse iso9660 file system size for next data track",
+"\t-pad\t\tpadsize=30k",
+"\t-nopad\t\tDo not pad",
+"\t--grow_overwriteable_iso\temulate multi-session on DVD+RW, BD-RE",
+"\twrite_start_address=#\t\twrite to byte address on DVD+RW, BD-RE",
+"\tstream_recording=on\t\ttry to get full speed on DVD-RAM, BD",
+"\t-help\t\tprint this text to stderr and exit emulation",
+"Actually this is the integrated ISO RockRidge filesystem manipulator xorriso",
+"lending its libburn capabilities to a very limited cdrecord emulation. Only",
+"a single data track can be burnt to blank, appendable or overwriteable media.",
+"A much more elaborate cdrecord emulator is cdrskin from the same project.",
+"@End_of_helptexT@"
+};
+ int i;
+
+ for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) {
+ sprintf(xorriso->info_text, "%s\n", helptext[i]);
+ Xorriso_info(xorriso,0);
+ }
+ return(1);
+}
+
+
/* micro version of cdrskin */
int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
int flag)
@@ -10645,6 +10693,68 @@ ex:;
}
+int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
+{
+ static char helptext[][80]= {
+"Usage: xorriso -as mkisofs [options] file...",
+"Note: This is not mkisofs. See xorriso -help, xorriso -version, man xorriso",
+"Options:",
+" -f, -follow-links Follow symbolic links",
+" -graft-points Allow to use graft points for filenames",
+" -help Print option help",
+" -input-charset CHARSET Local input charset for file name conversion",
+" -output-charset CHARSET Output charset for file name conversion",
+" -iso-level LEVEL Set ISO9660 conformance level (1..3)",
+" -J, -joliet Generate Joliet directory information",
+" -o FILE, -output FILE Set output file name",
+" -m GLOBFILE, -exclude GLOBFILE",
+" Exclude file name",
+" -exclude-list FILE File with list of file names to exclude",
+" -pad Pad output by 300k (default)",
+" -no-pad Do not pad output",
+" -M FILE, -prev-session FILE Set path to previous session to merge",
+" -C PARAMS, -cdrecord-params PARAMS",
+" Magic paramters from cdrecord",
+" -path-list FILE File with list of pathnames to process",
+" --quoted_path_list FILE File with list of quoted pathnames to process",
+" -print-size Print estimated filesystem size and exit",
+" -quiet Run quietly",
+" -R, -rock Generate Rock Ridge directory information",
+" --hardlinks Record eventual hard link relations of files",
+" --acl Record eventual ACLs of files",
+" --xattr Record eventual user space xattr of files",
+" --md5 Compute and record MD5 checksums of data files",
+" --for_backup Use all options which improve backup fidelity",
+" -V ID, -volid ID Set Volume ID",
+" -b FILE, -eltorito-boot FILE",
+" Set El Torito boot image name",
+" -c FILE, -eltorito-catalog FILE",
+" Set El Torito boot catalog name",
+" -boot-load-size # Set numbers of load sectors",
+" -no-emul-boot Boot image is 'no emulation' image",
+" -boot-info-table Patch boot image with info table",
+" isolinux_mbr=on|auto|off Control eventual isohybrid MBR generation",
+" -z, -transparent-compression",
+" Enable transparent compression of files",
+" -v, -verbose Verbose",
+" -version Print the current version",
+"@End_of_helptexT@"
+};
+ char ra_text[80];
+ int i;
+
+ strcpy(ra_text, xorriso->report_about_text);
+
+ Xorriso_option_report_about(xorriso, "NOTE", 0);
+ for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) {
+ sprintf(xorriso->info_text, "%s\n", helptext[i]);
+ Xorriso_info(xorriso, 1);
+ }
+ Xorriso_option_report_about(xorriso, ra_text, 0);
+ return(1);
+}
+
+
/* @param flag bit0= do not report eventual ignore decision
*/
int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
@@ -19232,13 +19342,11 @@ next_command:;
ret= Xorriso_option_follow(xorriso, arg1, 0);
} else if(strcmp(cmd,"for_backup")==0) {
- ret= Xorriso_option_hardlinks(xorriso, "on", 0);
- if(ret > 0)
- ret= Xorriso_option_acl(xorriso, "on", 0);
- if(ret > 0)
- ret= Xorriso_option_xattr(xorriso, "on", 0);
- if(ret > 0)
- ret= Xorriso_option_md5(xorriso, "on", 0);
+ Xorriso_option_hardlinks(xorriso, "on", 0);
+ Xorriso_option_acl(xorriso, "on", 0);
+ Xorriso_option_xattr(xorriso, "on", 0);
+ Xorriso_option_md5(xorriso, "on", 0);
+ ret= 1;
} else if(strcmp(cmd,"format")==0) {
(*idx)++;
@@ -19856,7 +19964,13 @@ int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv,
xorriso->did_something_useful= 1;
{ret= 0; goto ex;}
} else if(strcmp(cmd,"help")==0) {
- Xorriso_option_help(xorriso,0);
+ if(xorriso->argument_emulation == 1) {
+ Xorriso_genisofs_help(xorriso, 0);
+ } else if(xorriso->argument_emulation == 2) {
+ Xorriso_cdrskin_help(xorriso, 0);
+ } else {
+ Xorriso_option_help(xorriso,0);
+ }
xorriso->did_something_useful= 1;
{ret= 0; goto ex;}
}
diff --git a/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_eng.html b/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_eng.html
index 1e45e7fa..7ca61c8a 100644
--- a/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_eng.html
+++ b/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_eng.html
@@ -429,10 +429,10 @@ files or trees to disk:
Download as source code (see README):
-- xorriso-0.4.2.pl01.tar.gz
+
- xorriso-0.4.2.pl02.tar.gz
(1295 KB).
-- (Released 29 Aug 2009)
+- (Released 8 Oct 2009)
@@ -474,6 +474,14 @@ Bug fixes towards xorriso-0.4.2.pl00:
-cut_out deleted previously cut-out pieces of the same file
+
+Bug fixes towards xorriso-0.4.2.pl01:
+
+- Filenames could lose blanks during a multi-session cycle
+- -for_backup did not enable -xattr and -md5 if no drive was chosen yet
+- xorrisofs -help, xorrecord -help displayed original xorriso -help
+
+
Enhancements towards previous stable version xorriso-0.4.0.pl00:
@@ -525,6 +533,7 @@ cdrecord and mkisofs.
Development snapshot, version 0.4.3 :
Bug fixes towards xorriso-0.4.2.pl00:
+- Filenames could lose blanks during a multi-session cycle
- -cut_out deleted previously cut-out pieces of the same file
- -for_backup did not enable -xattr and -md5 if no drive was chosen yet
- With -as cdrecord : -xa1 and -xamix were ignored although they do matter
@@ -539,7 +548,9 @@ cdrecord and mkisofs.
- New option -scdbackup_tag
+- New option -pvd_info
- Option -toc now reports "Media product:"
+- New options -system_id , -volset_id
diff --git a/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_timestamp.h b/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_timestamp.h
index 6a8dfb9d..a575ffe4 100644
--- a/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_timestamp.h
+++ b/libisoburn/branches/ZeroFourTwoPl02/xorriso/xorriso_timestamp.h
@@ -1 +1 @@
-#define Xorriso_timestamP "2009.09.22.153001"
+#define Xorriso_timestamP "2009.10.08.080001"