From 54a493f38250252b75fd7d802512e10d2df3e384 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 29 Sep 2010 15:28:57 +0000 Subject: [PATCH] New option -jigdo --- ChangeLog | 1 + xorriso/convert_man_to_html.sh | 1 + xorriso/emulators.c | 26 ++++- xorriso/lib_mgt.c | 21 ++-- xorriso/opts_d_h.c | 6 ++ xorriso/parse_exec.c | 4 + xorriso/xorriso.1 | 74 ++++++++++++- xorriso/xorriso.info | 190 ++++++++++++++++++++++----------- xorriso/xorriso.texi | 87 ++++++++++++++- xorriso/xorriso_timestamp.h | 2 +- 10 files changed, 337 insertions(+), 75 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7adfa725..0ef05864 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ SVN trunk (to become libisoburn-0.6.4.pl00.tar.gz) =============================================================================== * New API calls isoburn_igopt_attach_jte() and isoburn_igopt_detach_jte() +* New option -jigdo * New -as mkisofs options -jigdo-* and -md5-list as of genisoimage diff --git a/xorriso/convert_man_to_html.sh b/xorriso/convert_man_to_html.sh index 5e3772f4..4fca1392 100755 --- a/xorriso/convert_man_to_html.sh +++ b/xorriso/convert_man_to_html.sh @@ -72,6 +72,7 @@ then -e 's/Character sets:<\/b>/\ 
Character sets:<\/b>

/' \ -e 's/Exception processing:<\/b>/\ 
Exception processing:<\/b>

/' \ -e 's/El Torito bootable ISO images:<\/b>/\ 
El Torito bootable ISO images:<\/b>

/' \ + -e 's/Jigdo Template Extraction:<\/b>/\ 
Jigdo Template Extraction:<\/b>

/' \ -e 's/Dialog mode control:<\/b>/\ 
Dialog mode control:<\/b>

/' \ -e 's/Drive and media related inquiry actions:<\/b>/\ 
Drive and media related inquiry actions:<\/b>

/' \ -e 's/Navigation in ISO image/\ 
Navigation in ISO image/' \ diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 0545f174..cb254c64 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -861,7 +861,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, int *delay_opt_list= NULL, delay_opt_count= 0; char sfe[5*SfileadrL], adr[SfileadrL+8], ra_text[80], pathspec[2*SfileadrL]; char *ept, *add_pt, eff_path[SfileadrL], indev[SfileadrL+8], msc[80], *cpt; - char *boot_path, *jkey; + char *boot_path; static char *sort_weight_args[4]= {"", "-exec", "sort_weight", ""}; strcpy(ra_text, xorriso->report_about_text); @@ -1318,7 +1318,12 @@ not_enough_args:; if(ret<=0) goto problem_handler_2; file_mode= mode_or; + +#ifdef NIX + } else if(strncmp(argv[i], "-jigdo-", 7) == 0) { + char *jkey; + if(i+1>=argc) goto not_enough_args; i++; @@ -1352,6 +1357,25 @@ not_enough_args:; } else if(argv[i][0]=='-' && argv[i][1]!=0) { is_unknown_option_2:; + +#else /* NIX */ + + } else if(strcmp(argv[i], "-jigdo-jigdo") == 0 || + strcmp(argv[i], "-jigdo-template") == 0 || + strcmp(argv[i], "-jigdo-min-file-size") == 0 || + strcmp(argv[i], "-jigdo-exclude") == 0 || + strcmp(argv[i], "-jigdo-force-md5") == 0 || + strcmp(argv[i], "-jigdo-map") == 0 || + strcmp(argv[i], "-md5-list") == 0) { + i++; + ret= Xorriso_option_jigdo(xorriso, argv[i - 1], argv[i], 0); + if(ret <= 0) + goto problem_handler_2; + + } else if(argv[i][0]=='-' && argv[i][1]!=0) { + +#endif /* ! NIX */ + ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1); if(ret > 0) { sprintf(xorriso->info_text, "-as %s: Unsupported option %s", diff --git a/xorriso/lib_mgt.c b/xorriso/lib_mgt.c index 9efe041d..b464cb12 100644 --- a/xorriso/lib_mgt.c +++ b/xorriso/lib_mgt.c @@ -569,19 +569,23 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg, libjte_set_verbose(jte, 0); else goto bad_arg; - } else if(strcmp(aspect, "template_path") == 0) { + } else if(strcmp(aspect, "template_path") == 0 || + strcmp(aspect, "-jigdo-template") == 0) { ret= libjte_set_template_out(jte, arg); if(ret <= 0) goto jte_failed; - } else if(strcmp(aspect, "jigdo_path") == 0) { + } else if(strcmp(aspect, "jigdo_path") == 0 || + strcmp(aspect, "-jigdo-jigdo") == 0) { ret= libjte_set_jjigdo_out(jte, arg); if(ret <= 0) goto jte_failed; - } else if(strcmp(aspect, "md5_path") == 0) { + } else if(strcmp(aspect, "md5_path") == 0 || + strcmp(aspect, "-md5-list") == 0) { ret= libjte_set_jmd5_list(jte, arg); if(ret <= 0) goto jte_failed; - } else if(strcmp(aspect, "min_size") == 0) { + } else if(strcmp(aspect, "min_size") == 0 || + strcmp(aspect, "-jigdo-min-file-size") == 0) { num= Scanf_io_size(arg, 0); ret= libjte_set_jte_min_size(jte, num); if(ret <= 0) @@ -598,15 +602,18 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg, ret= libjte_set_jte_template_compression(jte, arg); if(ret <= 0) goto jte_failed; - } else if(strcmp(aspect, "exclude") == 0) { + } else if(strcmp(aspect, "exclude") == 0 || + strcmp(aspect, "-jigdo-exclude") == 0) { ret= libjte_add_exclude(jte, arg); if(ret <= 0) goto jte_failed; - } else if(strcmp(aspect, "demand_md5") == 0) { + } else if(strcmp(aspect, "demand_md5") == 0 || + strcmp(aspect, "-jigdo-force-md5") == 0) { ret= libjte_add_include(jte, arg); if(ret <= 0) goto jte_failed; - } else if(strcmp(aspect, "mapping") == 0) { + } else if(strcmp(aspect, "mapping") == 0 || + strcmp(aspect, "-jigdo-map") == 0) { ret= libjte_add_mapping(jte, arg); if(ret <= 0) goto jte_failed; diff --git a/xorriso/opts_d_h.c b/xorriso/opts_d_h.c index 624bdda4..70d277a3 100644 --- a/xorriso/opts_d_h.c +++ b/xorriso/opts_d_h.c @@ -1376,6 +1376,12 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " Specifies the name of the Abstract File. (37 chars)", " -joliet \"on\"|\"off\"", " Generate Joliet info additional to Rock Ridge info.", +" -jigdo \"clear\"|\"verbose\"|\"template_path\"|\"jigdo_path\"|\"md5_path\"", +" |\"min_size\"|\"checksum_iso\"|\"checksum_template\"", +" |\"compression\"|\"exclude\"|\"demand_md5\"|\"mapping\"", +" value", +" Clear Jigdo Template Extraction parameter list or add a", +" parameter to that list.", " -compliance rule[:rule...]", " Allow more or less harmless deviations from strict standards", " compliance.", diff --git a/xorriso/parse_exec.c b/xorriso/parse_exec.c index eca7f074..0c10a145 100644 --- a/xorriso/parse_exec.c +++ b/xorriso/parse_exec.c @@ -948,6 +948,10 @@ next_command:; (*idx)++; ret= Xorriso_option_iso_rr_pattern(xorriso, arg1, 0); + } else if(strcmp(cmd,"jigdo")==0) { + (*idx)+= 2; + ret= Xorriso_option_jigdo(xorriso, arg1, arg2, 0); + } else if(strcmp(cmd,"joliet")==0) { (*idx)++; ret= Xorriso_option_joliet(xorriso, arg1, 0); diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index a279050c..14017072 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -9,7 +9,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISO 1 "Sep 10, 2010" +.TH XORRISO 1 "Sep 29, 2010" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -2410,6 +2410,74 @@ partition offset. 0 chooses a default value. partition offset. 0 chooses a default value. .br .TP +.B Jigdo Template Extraction: +.PP +From man genisoimage: +"Jigdo is a tool to help in the distribution of large files like CD and +DVD images; see http://atterer.net/jigdo/ for more details. Debian CDs +and DVD ISO images are published on the web in jigdo format to allow +end users to download them more efficiently." +.br +xorriso can produce a .jigdo and a .template file together with a +single-session ISO image. +The .jigdo file contains checksums and file download addresses. +The .template file contains the compressed ISO image with reference tags +instead of the content bytes of the listed files. +.br +Input for this process are the normal arguments for a xorriso session +on a blank -outdev, and a .md5 file which lists those files which shall be +listed in the .jigdo file and externally referenced in the .template file. +Each desired file is represented in the .md5 file by a single text line: +.br +MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, +absolute path in the disk filesystem as given to xorriso. +.br +If the list of jigdo parameters is not empty, then xorriso will refuse to +write to non-blank targets, it will disable multi-session emulation and +padding. +.br +.TP +\fB\-jigdo\fR parameter_name value +Clear Jigdo Template Extraction parameter list or add a parameter to that list. +The alias names are the corresponding genisoimage options. They are accepted +as parameter names as well. Especially they are recognized by the -as mkisofs +emulation command. +.br +Parameter \fBclear\fR with any value empties the whole list. +No .jigdo and .template file will be produced. +.br +\fBtemplate_path\fR sets the disk_path for the .template file with the +holed and compressed ISO image copy. +Alias: -jigdo-template +.br +\fBjigdo_path\fR sets the disk_path for the .jigdo file with the checksums +and download addresses for filling the holes in .template. +Alias: -jigdo-jigdo +.br +\fBmd5_path\fR sets the disk_path where to find the .md5 input file. +Alias: -md5-list +.br +\fBmin_size\fR sets the minimum size for a data file to be listed +in the .jigdo file and being a hole in the .template file. +Alias: -jigdo-min-file-size +.br +\fBexclude\fR adds a regular expression pattern which will get compared +with the absolute disk_path of any data file. A match causes the file to +stay in .template in any case. +Alias: -jigdo-exclude +.br +\fBdemand_md5\fR adds a regular expression pattern which will get compared +with the absolute disk_path of any data file that was not found in the .md5 +list. A match currently causes sudden program abort. +(Should become a MISHAP event.) +Alias: -jigdo-force-md5 +.br +\fBmapping\fR adds a string pair of the form To=From to the parameter list. +The absolute disk_path of any file that will be listed in the .jigdo file will +be checked whether it begins with the From string. If so, this string will +be replaced by the To string and a ':' character. E.g. "Debian=/mirror/debian". +Alias: -jigdo-map +.TP .B Character sets: .PP File names are strings of non-zero bytes with 8 bit each. Unfortunately @@ -3307,6 +3375,10 @@ instead of -G to apply the effect of -boot_image isolinux partition_table=on. -partition_offset number is -boot_image any partition_offset=number. .br +The options of genisoimage Jigdo Template Extraction are recognized and +performed via xorriso option -jigdo. See the "Alias:" names there for the +meaning of the genisoimage options. +.br Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR", and "\fBgenisofs\fR" are aliases for "mkisofs". .br diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 062244fd..6871aee7 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -503,6 +503,7 @@ inner dashes are interpreted as underscores. * Writing:: Writing the result, drive control * SetWrite:: Settings for result writing * Bootable:: El Torito bootable ISO images +* Jigdo:: Jigdo Template Extraction * Charset:: Character sets * Exception:: Exception processing * DialogCtl:: Dialog mode control @@ -1988,7 +1989,7 @@ will be written according to the setting of option -acl. 0 .  -File: xorriso.info, Node: Bootable, Next: Charset, Prev: SetWrite, Up: Options +File: xorriso.info, Node: Bootable, Next: Jigdo, Prev: SetWrite, Up: Options 9.10 El Torito bootable ISO images ================================== @@ -2145,9 +2146,66 @@ of the existing sessions, unless one can assume overwriteable media. for partition offset. 0 chooses a default value.  -File: xorriso.info, Node: Charset, Next: Exception, Prev: Bootable, Up: Options +File: xorriso.info, Node: Jigdo, Next: Charset, Prev: Bootable, Up: Options -9.11 Character sets +9.11 Jigdo Template Extraction +============================== + +From man genisoimage: "Jigdo is a tool to help in the distribution of +large files like CD and DVD images; see http://atterer.net/jigdo/ for +more details. Debian CDs and DVD ISO images are published on the web in +jigdo format to allow end users to download them more efficiently." +xorriso can produce a .jigdo and a .template file together with a +single-session ISO image. The .jigdo file contains checksums and file +download addresses. The .template file contains the compressed ISO +image with reference tags instead of the content bytes of the listed +files. +Input for this process are the normal arguments for a xorriso session +on a blank -outdev, and a .md5 file which lists those files which shall +be listed in the .jigdo file and externally referenced in the .template +file. Each desired file is represented in the .md5 file by a single +text line: +MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 +blanks, absolute path in the disk filesystem as given to xorriso. +If the list of jigdo parameters is not empty, then xorriso will refuse +to write to non-blank targets, it will disable multi-session emulation +and padding. + +-jigdo parameter_name value + Clear Jigdo Template Extraction parameter list or add a parameter + to that list. The alias names are the corresponding genisoimage + options. They are accepted as parameter names as well. Especially + they are recognized by the -as mkisofs emulation command. + Parameter *clear* with any value empties the whole list. No + .jigdo and .template file will be produced. + *template_path* sets the disk_path for the .template file with the + holed and compressed ISO image copy. Alias: -jigdo-template + *jigdo_path* sets the disk_path for the .jigdo file with the + checksums and download addresses for filling the holes in + .template. Alias: -jigdo-jigdo + *md5_path* sets the disk_path where to find the .md5 input file. + Alias: -md5-list + *min_size* sets the minimum size for a data file to be listed in + the .jigdo file and being a hole in the .template file. Alias: + -jigdo-min-file-size + *exclude* adds a regular expression pattern which will get compared + with the absolute disk_path of any data file. A match causes the + file to stay in .template in any case. Alias: -jigdo-exclude + *demand_md5* adds a regular expression pattern which will get + compared with the absolute disk_path of any data file that was not + found in the .md5 list. A match currently causes sudden program + abort. (Should become a MISHAP event.) Alias: -jigdo-force-md5 + *mapping* adds a string pair of the form To=From to the parameter + list. The absolute disk_path of any file that will be listed in + the .jigdo file will be checked whether it begins with the From + string. If so, this string will be replaced by the To string and a + ':' character. E.g. "Debian=/mirror/debian". +Alias: -jigdo-map + + +File: xorriso.info, Node: Charset, Next: Exception, Prev: Jigdo, Up: Options + +9.12 Character sets =================== File names are strings of non-zero bytes with 8 bit each. Unfortunately @@ -2199,7 +2257,7 @@ display on your terminal.  File: xorriso.info, Node: Exception, Next: DialogCtl, Prev: Charset, Up: Options -9.12 Exception processing +9.13 Exception processing ========================= Since the tasks of xorriso are manifold and prone to external @@ -2288,7 +2346,7 @@ failed unexpectedly.  File: xorriso.info, Node: DialogCtl, Next: Inquiry, Prev: Exception, Up: Options -9.13 Dialog mode control +9.14 Dialog mode control ======================== -dialog "on"|"off"|"single_line" @@ -2339,7 +2397,7 @@ File: xorriso.info, Node: DialogCtl, Next: Inquiry, Prev: Exception, Up: Opt  File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Options -9.14 Drive and media related inquiry actions +9.15 Drive and media related inquiry actions ============================================ -devices @@ -2422,7 +2480,7 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Opti  File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Options -9.15 Navigation in ISO image and disk filesystem +9.16 Navigation in ISO image and disk filesystem ================================================ -cd iso_rr_path @@ -2596,7 +2654,7 @@ File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Options  File: xorriso.info, Node: Verify, Next: Restore, Prev: Navigate, Up: Options -9.16 Evaluation of readability and recovery +9.17 Evaluation of readability and recovery =========================================== It is not uncommon that optical media produce read errors. The reasons @@ -2759,7 +2817,7 @@ transmission errors.  File: xorriso.info, Node: Restore, Next: Emulation, Prev: Verify, Up: Options -9.17 osirrox ISO-to-disk restore options +9.18 osirrox ISO-to-disk restore options ======================================== Normally xorriso only writes to disk files which were given as stdio: @@ -2888,7 +2946,7 @@ The directory permissions on disk have to allow rwx.  File: xorriso.info, Node: Emulation, Next: Scripting, Prev: Restore, Up: Options -9.18 Command compatibility emulations (cdrtools) +9.19 Command compatibility emulations (cdrtools) ================================================ Writing of ISO 9660 on CD is traditionally done by program mkisofs as @@ -2954,6 +3012,9 @@ programs trigger comparable actions. --boot-catalog-hide is -boot_image any cat_hidden=on. -partition_offset number is -boot_image any partition_offset=number. + The options of genisoimage Jigdo Template Extraction are + recognized and performed via xorriso option -jigdo. See the + "Alias:" names there for the meaning of the genisoimage options. Personalites "*xorrisofs*", "*genisoimage*", and "*genisofs*" are aliases for "mkisofs". If xorriso is started with one of the leafnames "xorrisofs", @@ -3031,7 +3092,7 @@ programs trigger comparable actions.  File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Options -9.19 Scripting, dialog and program control features +9.20 Scripting, dialog and program control features =================================================== -no_rc @@ -3163,7 +3224,7 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Op  File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Options -9.20 Support for frontend programs via stdin and stdout +9.21 Support for frontend programs via stdin and stdout ======================================================= -pkt_output "on"|"off" @@ -3838,6 +3899,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -in_charset sets input character set: Loading. (line 73) * -indev aquires a drive for input: AqDrive. (line 22) * -iso_rr_pattern controls pattern expansion: Manip. (line 10) +* -jigdo clears JTE or sets input/output character set: Jigdo. + (line 27) * -joliet enables production of Joliet tree: SetWrite. (line 10) * -list_delimiter replaces '--': Scripting. (line 38) * -list_formats lists available formats: Writing. (line 107) @@ -3873,7 +3936,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -out_charset sets output character set: SetWrite. (line 156) * -outdev aquires a drive for output: AqDrive. (line 29) * -overwrite enables overwriting in ISO: SetInsert. (line 127) -* -pacifier controls pacifier text form: Emulation. (line 123) +* -pacifier controls pacifier text form: Emulation. (line 126) * -padding sets amount of image padding: SetWrite. (line 239) * -page set terminal geometry: DialogCtl. (line 15) * -paste_in copies file into disk file: Restore. (line 117) @@ -3893,7 +3956,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -quoted_not_list sets exclusions: SetInsert. (line 72) * -quoted_path_list inserts paths from disk file: Insert. (line 80) * -read_mkisofsrc searches and reads .mkisofsrc file: Emulation. - (line 111) + (line 114) * -reassure enables confirmation question: DialogCtl. (line 28) * -report_about controls verbosity: Exception. (line 55) * -return_with controls exit value: Exception. (line 39) @@ -3903,7 +3966,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -rollback discards pending changes: Writing. (line 9) * -rollback_end ends program without writing: Scripting. (line 125) * -rom_toc_scan searches for sessions: Loading. (line 184) -* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 133) +* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 136) * -scsi_log reports SCSI commands: Scripting. (line 113) * -session_log logs written sessions: Scripting. (line 104) * -session_string composes session info line: Inquiry. (line 56) @@ -3959,11 +4022,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Backslash Interpretation, _definition: Processing. (line 49) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 163) * Backup, enable features, -for_backup: Loading. (line 158) -* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 133) +* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 136) * Blank media, _definition: Media. (line 29) * Blind growing, _definition: Methods. (line 40) * Bootability, control, -boot_image: Bootable. (line 20) -* cdrecord, Emulation: Emulation. (line 78) +* cdrecord, Emulation: Emulation. (line 81) * Character Set, _definition: Charset. (line 6) * Character Set, for input, -in_charset: Loading. (line 73) * Character Set, for input/output, -charset: Charset. (line 43) @@ -3998,10 +4061,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Drive, write and eject, -commit_eject: Writing. (line 40) * El Torito, _definiton: Extras. (line 19) * Emulation, -as: Emulation. (line 13) -* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 111) -* Emulation, cdrecord, -as: Emulation. (line 78) +* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 114) +* Emulation, cdrecord, -as: Emulation. (line 81) * Emulation, mkisofs, -as: Emulation. (line 16) -* Emulation, pacifier form, -pacifier: Emulation. (line 123) +* Emulation, pacifier form, -pacifier: Emulation. (line 126) * Examples: Examples. (line 6) * Filter, _definition: Filter. (line 6) * Filter, apply to file tree, -set_filter_r: Filter. (line 84) @@ -4055,6 +4118,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Insert, pathspecs, -add: Insert. (line 42) * Insert, piece of data file, -cut_out: Insert. (line 126) * iso_rr_path, _definition: Insert. (line 7) +* Jigdo Template Extraction, -jigdo: Jigdo. (line 27) +* Jigdo Template Extraction, _definition: Jigdo. (line 6) * List delimiter, _definiton: Processing. (line 8) * MBR, _definiton: Extras. (line 26) * MBR, set, -boot_image system_area=: Bootable. (line 117) @@ -4190,47 +4255,48 @@ Node: Extras14601 Node: Processing18028 Node: Dialog21524 Node: Options23181 -Node: AqDrive24749 -Node: Loading27655 -Node: Insert39834 -Node: SetInsert48191 -Node: Manip56758 -Node: CmdFind65439 -Node: Filter75390 -Node: Writing79739 -Node: SetWrite86028 -Node: Bootable97979 -Node: Charset107071 -Node: Exception109825 -Node: DialogCtl114340 -Node: Inquiry116685 -Node: Navigate120815 -Node: Verify128413 -Node: Restore136833 -Node: Emulation143489 -Node: Scripting151292 -Node: Frontend156854 -Node: Examples158055 -Node: ExDevices159224 -Node: ExCreate159858 -Node: ExDialog161132 -Node: ExGrowing162394 -Node: ExModifying163196 -Node: ExBootable163697 -Node: ExCharset164244 -Node: ExPseudo165072 -Node: ExCdrecord165966 -Node: ExMkisofs166281 -Node: ExGrowisofs167284 -Node: ExException168408 -Node: ExTime168862 -Node: ExIncBackup169321 -Node: ExRestore172793 -Node: ExRecovery173762 -Node: Files174328 -Node: Seealso175556 -Node: Legal176080 -Node: CommandIdx177002 -Node: ConceptIdx190808 +Node: AqDrive24799 +Node: Loading27705 +Node: Insert39884 +Node: SetInsert48241 +Node: Manip56808 +Node: CmdFind65489 +Node: Filter75440 +Node: Writing79789 +Node: SetWrite86078 +Node: Bootable98029 +Node: Jigdo107119 +Node: Charset110231 +Node: Exception112982 +Node: DialogCtl117497 +Node: Inquiry119842 +Node: Navigate123972 +Node: Verify131570 +Node: Restore139990 +Node: Emulation146646 +Node: Scripting154646 +Node: Frontend160208 +Node: Examples161409 +Node: ExDevices162578 +Node: ExCreate163212 +Node: ExDialog164486 +Node: ExGrowing165748 +Node: ExModifying166550 +Node: ExBootable167051 +Node: ExCharset167598 +Node: ExPseudo168426 +Node: ExCdrecord169320 +Node: ExMkisofs169635 +Node: ExGrowisofs170638 +Node: ExException171762 +Node: ExTime172216 +Node: ExIncBackup172675 +Node: ExRestore176147 +Node: ExRecovery177116 +Node: Files177682 +Node: Seealso178910 +Node: Legal179434 +Node: CommandIdx180356 +Node: ConceptIdx194300  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index 7861fe54..6a7d48ba 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -44,7 +44,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRISO 1 "Sep 10, 2010" +@c man .TH XORRISO 1 "Sep 29, 2010" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -715,6 +715,7 @@ inner dashes are interpreted as underscores. * Writing:: Writing the result, drive control * SetWrite:: Settings for result writing * Bootable:: El Torito bootable ISO images +* Jigdo:: Jigdo Template Extraction * Charset:: Character sets * Exception:: Exception processing * DialogCtl:: Dialog mode control @@ -2677,7 +2678,7 @@ For images which will never get to a CD it is safe to use -padding 0 . @end table @c man .TP @c man .B El Torito bootable ISO images: -@node Bootable, Charset, SetWrite, Options +@node Bootable, Jigdo, SetWrite, Options @section El Torito bootable ISO images @c man .PP Contrary to published specifications many BIOSes will load an El Torito @@ -2880,8 +2881,84 @@ partition offset. 0 chooses a default value. @* @end table @c man .TP +@c man .B Jigdo Template Extraction: +@node Jigdo, Charset, Bootable, Options +@section Jigdo Template Extraction +@c man .PP +@cindex Jigdo Template Extraction, _definition +From man genisoimage: +"Jigdo is a tool to help in the distribution of large files like CD and +DVD images; see http://atterer.net/jigdo/ for more details. Debian CDs +and DVD ISO images are published on the web in jigdo format to allow +end users to download them more efficiently." +@* +xorriso can produce a .jigdo and a .template file together with a +single-session ISO image. +The .jigdo file contains checksums and file download addresses. +The .template file contains the compressed ISO image with reference tags +instead of the content bytes of the listed files. +@* +Input for this process are the normal arguments for a xorriso session +on a blank -outdev, and a .md5 file which lists those files which shall be +listed in the .jigdo file and externally referenced in the .template file. +Each desired file is represented in the .md5 file by a single text line: +@* +MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, +absolute path in the disk filesystem as given to xorriso. +@* +If the list of jigdo parameters is not empty, then xorriso will refuse to +write to non-blank targets, it will disable multi-session emulation and +padding. +@* +@table @asis +@sp 1 +@c man .TP +@item -jigdo parameter_name value +@kindex -jigdo clears JTE or sets input/output character set +@cindex Jigdo Template Extraction, -jigdo +Clear Jigdo Template Extraction parameter list or add a parameter to that list. +The alias names are the corresponding genisoimage options. They are accepted +as parameter names as well. Especially they are recognized by the -as mkisofs +emulation command. +@* +Parameter @strong{clear} with any value empties the whole list. +No .jigdo and .template file will be produced. +@* +@strong{template_path} sets the disk_path for the .template file with the +holed and compressed ISO image copy. +Alias: -jigdo-template +@* +@strong{jigdo_path} sets the disk_path for the .jigdo file with the checksums +and download addresses for filling the holes in .template. +Alias: -jigdo-jigdo +@* +@strong{md5_path} sets the disk_path where to find the .md5 input file. +Alias: -md5-list +@* +@strong{min_size} sets the minimum size for a data file to be listed +in the .jigdo file and being a hole in the .template file. +Alias: -jigdo-min-file-size +@* +@strong{exclude} adds a regular expression pattern which will get compared +with the absolute disk_path of any data file. A match causes the file to +stay in .template in any case. +Alias: -jigdo-exclude +@* +@strong{demand_md5} adds a regular expression pattern which will get compared +with the absolute disk_path of any data file that was not found in the .md5 +list. A match currently causes sudden program abort. +(Should become a MISHAP event.) +Alias: -jigdo-force-md5 +@* +@strong{mapping} adds a string pair of the form To=From to the parameter list. +The absolute disk_path of any file that will be listed in the .jigdo file will +be checked whether it begins with the From string. If so, this string will +be replaced by the To string and a ':' character. E.g. "Debian=/mirror/debian". +@end table +Alias: -jigdo-map +@c man .TP @c man .B Character sets: -@node Charset, Exception, Bootable, Options +@node Charset, Exception, Jigdo, Options @section Character sets @c man .PP @cindex Character Set, _definition @@ -3944,6 +4021,10 @@ instead of -G to apply the effect of -boot_image isolinux partition_table=on. @minus{}partition_offset number is @minus{}boot_image any partition_offset=number. @* +The options of genisoimage Jigdo Template Extraction are recognized and +performed via xorriso option -jigdo. See the "Alias:" names there for the +meaning of the genisoimage options. +@* Personalites "@strong{xorrisofs}", "@strong{genisoimage}", and "@strong{genisofs}" are aliases for "mkisofs". @* diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index a58b24ad..ec45e547 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2010.09.29.124423" +#define Xorriso_timestamP "2010.09.29.152827"