From 25857029f41d3f0042036fbcd8e60b9067cbe625 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 --- README | 6 +- xorriso/README | 6 +- xorriso/xorriso.c | 130 +++++++++++++++++++++++++++++++++--- xorriso/xorriso_eng.html | 15 ++++- xorriso/xorriso_timestamp.h | 2 +- 5 files changed, 142 insertions(+), 17 deletions(-) diff --git a/README b/README index 46ad758b..9d4a6d94 100644 --- a/README +++ b/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/xorriso/README b/xorriso/README index e58a0140..7cee9b66 100644 --- a/xorriso/README +++ b/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/xorriso/xorriso.c b/xorriso/xorriso.c index 8defd1c1..4fde3c19 100644 --- a/xorriso/xorriso.c +++ b/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/xorriso/xorriso_eng.html b/xorriso/xorriso_eng.html index 1e45e7fa..7ca61c8a 100644 --- a/xorriso/xorriso_eng.html +++ b/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/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 6a8dfb9d..a575ffe4 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.09.22.153001" +#define Xorriso_timestamP "2009.10.08.080001"