From d510f92e1403d59e9b8b24b29882b4f15c6610e7 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 25 Dec 2010 09:28:35 +0000 Subject: [PATCH] New -compliance option allow_dir_id_ext --- libisoburn/trunk/xorriso/write_run.c | 13 +- libisoburn/trunk/xorriso/xorriso.1 | 8 +- libisoburn/trunk/xorriso/xorriso.info | 161 ++++++++++--------- libisoburn/trunk/xorriso/xorriso.texi | 8 +- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- 5 files changed, 109 insertions(+), 83 deletions(-) diff --git a/libisoburn/trunk/xorriso/write_run.c b/libisoburn/trunk/xorriso/write_run.c index 77f4f22a..cf271bdf 100644 --- a/libisoburn/trunk/xorriso/write_run.c +++ b/libisoburn/trunk/xorriso/write_run.c @@ -1844,6 +1844,13 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, return(0); } xorriso->untranslated_name_len = value; + + } else if((l == 16 && strncmp(cpt, "allow_dir_id_ext", l) == 0) || + (l == 19 && strncmp(cpt, "allow_dir_id_ext_on", l) == 0) ) { + xorriso->relax_compliance|= isoburn_igopt_allow_dir_id_ext; + } else if((l == 20 && strncmp(cpt, "allow_dir_id_ext_off", l) == 0)) { + xorriso->relax_compliance&= ~isoburn_igopt_allow_dir_id_ext; + } else if((l == 12 && strncmp(cpt, "omit_version", l) == 0) || (l == 15 && strncmp(cpt, "omit_version_on", l) == 0) ) { xorriso->relax_compliance|= isoburn_igopt_omit_version_numbers; @@ -1952,14 +1959,14 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, } else if((l >= 15 && strncmp(cpt, "iso_9660_level=", 15) == 0)) { value= 0; sscanf(cpt + 15, "%d", &value); - limit= ((off_t) 4) * ((off_t) 1024*1024*1024) - ((off_t) 1); if(value == 1 || value == 2) { + limit= ((off_t) 4) * ((off_t) 1024*1024*1024) - ((off_t) 1); xorriso->iso_level= value; if(xorriso->file_size_limit > limit) xorriso->file_size_limit= limit; } else if(value == 3) { xorriso->iso_level= value; - if(xorriso->file_size_limit == limit) + if(xorriso->file_size_limit < Xorriso_default_file_size_limiT) xorriso->file_size_limit= Xorriso_default_file_size_limiT; } else { sprintf(msg, @@ -2011,6 +2018,8 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024], strcpy(mode, "clear"); if(xorriso->iso_level != 3) sprintf(mode + strlen(mode), ":iso_9660_level=%d", xorriso->iso_level); + if(r & isoburn_igopt_allow_dir_id_ext) + strcat(mode, ":allow_dir_id_ext"); if(r & isoburn_igopt_omit_version_numbers) strcat(mode, ":omit_version"); if(r & isoburn_igopt_only_iso_versions) diff --git a/libisoburn/trunk/xorriso/xorriso.1 b/libisoburn/trunk/xorriso/xorriso.1 index cad877c9..39b110aa 100644 --- a/libisoburn/trunk/xorriso/xorriso.1 +++ b/libisoburn/trunk/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 "Dec 24, 2010" +.TH XORRISO 1 "Dec 25, 2010" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -1998,6 +1998,12 @@ length 32 and the same -file_size_limit, or level 3 with ISO names up to length 32 and -file_size_limit >= 400g -200k. If necessary -file_size_limit gets adjusted. .br +"allow_dir_id_ext" allows ISO names of directories to have a name extension +as with other file types. It does not force dots and it omits the version +number, though. This is a bad tradition of mkisofs which violates ECMA-119. +Especially ISO level 1 only allows 8 characters in a directory name and +not 8.3. +.br "omit_version" does not add versions (";1") to ISO and Joliet file names. .br "only_iso_version" does not add versions (";1") to Joliet file names. diff --git a/libisoburn/trunk/xorriso/xorriso.info b/libisoburn/trunk/xorriso/xorriso.info index cd84344e..4d66b5ed 100644 --- a/libisoburn/trunk/xorriso/xorriso.info +++ b/libisoburn/trunk/xorriso/xorriso.info @@ -1799,6 +1799,11 @@ will be written according to the setting of option -acl. length 32 and the same -file_size_limit, or level 3 with ISO names up to length 32 and -file_size_limit >= 400g -200k. If necessary -file_size_limit gets adjusted. + "allow_dir_id_ext" allows ISO names of directories to have a name + extension as with other file types. It does not force dots and it + omits the version number, though. This is a bad tradition of + mkisofs which violates ECMA-119. Especially ISO level 1 only + allows 8 characters in a directory name and not 8.3. "omit_version" does not add versions (";1") to ISO and Joliet file names. "only_iso_version" does not add versions (";1") to Joliet file @@ -3956,7 +3961,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * # starts a comment line: Scripting. (line 128) * -abort_on controls abort on error: Exception. (line 27) -* -abstract_file sets abstract file name: SetWrite. (line 150) +* -abstract_file sets abstract file name: SetWrite. (line 155) * -acl controls handling of ACLs: Loading. (line 142) * -add inserts one or more paths: Insert. (line 42) * -add_plainly inserts one or more paths: Insert. (line 61) @@ -3964,13 +3969,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -alter_date_r sets timestamps in ISO image: Manip. (line 166) * -append_partition adds arbitrary file after image end: Bootable. (line 186) -* -application_id sets application id: SetWrite. (line 109) +* -application_id sets application id: SetWrite. (line 114) * -as emulates mkisofs or cdrecord: Emulation. (line 13) * -assert_volid rejects undesired images: Loading. (line 84) * -auto_charset learns character set from image: Loading. (line 99) * -backslash_codes enables backslash conversion: Scripting. (line 45) * -ban_stdio_write demands real drive: Loading. (line 239) -* -biblio_file sets biblio file name: SetWrite. (line 157) +* -biblio_file sets biblio file name: SetWrite. (line 162) * -blank erases media: Writing. (line 45) * -boot_image controls bootability: Bootable. (line 26) * -calm_drive reduces drive activity: Loading. (line 228) @@ -3987,7 +3992,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -chmod_r sets permissions in ISO image: Manip. (line 70) * -chown sets ownership in ISO image: Manip. (line 42) * -chown_r sets ownership in ISO image: Manip. (line 47) -* -close controls media closing: SetWrite. (line 252) +* -close controls media closing: SetWrite. (line 257) * -close_filter_list bans filter registration: Filter. (line 52) * -commit writes pending ISO image: Writing. (line 13) * -commit_eject writes and ejects: Writing. (line 40) @@ -3995,7 +4000,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -compare_l reports ISO/disk differences: Navigate. (line 157) * -compare_r reports ISO/disk differences: Navigate. (line 152) * -compliance controls standard compliance: SetWrite. (line 14) -* -copyright_file sets copyright file name: SetWrite. (line 144) +* -copyright_file sets copyright file name: SetWrite. (line 149) * -cp_rx copies file trees to disk: Restore. (line 104) * -cpax copies files to disk: Restore. (line 100) * -cpr inserts like with cp -r: Insert. (line 152) @@ -4010,11 +4015,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top (line 35) * -drive_class controls drive accessability: Loading. (line 54) * -du show directory size in ISO image: Navigate. (line 88) -* -dummy controls write simulation: SetWrite. (line 241) +* -dummy controls write simulation: SetWrite. (line 246) * -dus show directory size in ISO image: Navigate. (line 92) * -dusx show directory size on disk: Navigate. (line 101) * -dux show directory size on disk: Navigate. (line 96) -* -dvd_obs set write block size: SetWrite. (line 228) +* -dvd_obs set write block size: SetWrite. (line 233) * -eject ejects drive tray: Writing. (line 36) * -end writes pending session and ends program: Scripting. (line 122) * -errfile_log logs problematic disk files: Scripting. (line 84) @@ -4031,12 +4036,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -follow softlinks and mount points: SetInsert. (line 76) * -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 177) * -format formats media: Writing. (line 69) -* -fs sets size of fifo: SetWrite. (line 245) +* -fs sets size of fifo: SetWrite. (line 250) * -getfacl shows ACL in ISO image: Navigate. (line 69) * -getfacl_r shows ACL in ISO image: Navigate. (line 76) * -getfattr shows xattr in ISO image: Navigate. (line 80) * -getfattr_r shows xattr in ISO image: Navigate. (line 84) -* -gid sets global ownership: SetWrite. (line 185) +* -gid sets global ownership: SetWrite. (line 190) * -grow_blindly overides next writeable address: AqDrive. (line 44) * -hardlinks controls handling of hard links: Loading. (line 110) * -help prints help text: Scripting. (line 16) @@ -4079,23 +4084,23 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -not_paths sets absolute exclusion paths: SetInsert. (line 55) * -options_from_file reads commands from file: Scripting. (line 12) * -osirrox enables ISO-to-disk copying: Restore. (line 18) -* -out_charset sets output character set: SetWrite. (line 175) +* -out_charset sets output character set: SetWrite. (line 180) * -outdev aquires a drive for output: AqDrive. (line 29) * -overwrite enables overwriting in ISO: SetInsert. (line 127) * -pacifier controls pacifier text form: Emulation. (line 134) -* -padding sets amount of image padding: SetWrite. (line 258) +* -padding sets amount of image padding: SetWrite. (line 263) * -page set terminal geometry: DialogCtl. (line 15) * -paste_in copies file into disk file: Restore. (line 117) * -path_list inserts paths from disk file: Insert. (line 75) * -pathspecs sets meaning of = with -add: SetInsert. (line 118) * -pkt_output consolidates text output: Frontend. (line 7) -* -preparer_id sets preparer id: SetWrite. (line 163) +* -preparer_id sets preparer id: SetWrite. (line 168) * -print prints text line: Scripting. (line 77) * -print_size predicts image size: Inquiry. (line 69) * -prog sets program name: Frontend. (line 30) * -prog_help prints help text: Frontend. (line 33) * -prompt prompts for enter key: Scripting. (line 80) -* -publisher sets publisher id: SetWrite. (line 103) +* -publisher sets publisher id: SetWrite. (line 108) * -pvd_info shows image id strings: Inquiry. (line 78) * -pwd tells working directory in ISO: Navigate. (line 20) * -pwdx tells working directory on disk: Navigate. (line 23) @@ -4126,27 +4131,27 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -setfattr_r sets xattr in ISO image: Manip. (line 123) * -show_stream shows data source and filters: Navigate. (line 162) * -show_stream_r shows data source and filters: Navigate. (line 177) -* -speed set write speed: SetWrite. (line 201) +* -speed set write speed: SetWrite. (line 206) * -split_size enables large file splitting: SetInsert. (line 140) * -status shows current settings: Scripting. (line 25) * -status_history_max curbs -status history: Scripting. (line 34) -* -stdio_sync controls stdio buffer: SetWrite. (line 235) -* -stream_recording controls defect management: SetWrite. (line 216) -* -system_id sets system id: SetWrite. (line 118) +* -stdio_sync controls stdio buffer: SetWrite. (line 240) +* -stream_recording controls defect management: SetWrite. (line 221) +* -system_id sets system id: SetWrite. (line 123) * -tell_media_space reports free space: Inquiry. (line 74) * -temp_mem_limit curbs memory consumption: Scripting. (line 70) * -toc shows list of sessions: Inquiry. (line 18) -* -uid sets global ownership: SetWrite. (line 181) +* -uid sets global ownership: SetWrite. (line 186) * -update inserts path if different: Insert. (line 99) * -update_l inserts paths if different: Insert. (line 121) * -update_r inserts paths if different: Insert. (line 110) * -use_readline enables readline for dialog: DialogCtl. (line 24) * -version prints help text: Scripting. (line 19) -* -volid sets volume id: SetWrite. (line 79) -* -volset_id sets volume set id: SetWrite. (line 98) -* -volume_date sets volume timestamp: SetWrite. (line 125) +* -volid sets volume id: SetWrite. (line 84) +* -volset_id sets volume set id: SetWrite. (line 103) +* -volume_date sets volume timestamp: SetWrite. (line 130) * -xattr controls handling of xattr (EA): Loading. (line 150) -* -zisofs controls zisofs production: SetWrite. (line 189) +* -zisofs controls zisofs production: SetWrite. (line 194)  File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -4177,7 +4182,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character Set, _definition: Charset. (line 6) * Character Set, for input, -in_charset: Loading. (line 92) * Character Set, for input/output, -charset: Charset. (line 43) -* Character Set, for output, -out_charset: SetWrite. (line 175) +* Character Set, for output, -out_charset: SetWrite. (line 180) * Character set, learn from image, -auto_charset: Loading. (line 99) * Character Set, of terminal, -local_charset: Charset. (line 47) * Closed media, _definition: Media. (line 43) @@ -4221,8 +4226,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Filter, show chain, -show_stream: Navigate. (line 162) * Filter, show chains of tree, -show_stream_r: Navigate. (line 177) * Filter, unregister, -unregister_filter: Filter. (line 48) -* Filter, zisofs parameters, -zisofs: SetWrite. (line 189) -* Group, global in ISO image, -gid: SetWrite. (line 185) +* Filter, zisofs parameters, -zisofs: SetWrite. (line 194) +* Group, global in ISO image, -gid: SetWrite. (line 190) * Group, in ISO image, -chgrp: Manip. (line 50) * Group, in ISO image, -chgrp_r: Manip. (line 55) * Growing, _definition: Methods. (line 19) @@ -4231,16 +4236,16 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Image, _definition: Model. (line 9) * Image, demand volume id, -assert_volid: Loading. (line 84) * Image, discard pending changes, -rollback: Writing. (line 9) -* Image, set abstract file name, -abstract_file: SetWrite. (line 150) -* Image, set application id, -application_id: SetWrite. (line 109) -* Image, set biblio file name, -biblio_file: SetWrite. (line 157) -* Image, set copyright file name, -copyright_file: SetWrite. (line 144) -* Image, set preparer id, -preparer_id: SetWrite. (line 163) -* Image, set publisher id, -publisher: SetWrite. (line 103) -* Image, set system id, -system_id: SetWrite. (line 118) -* Image, set volume id, -volid: SetWrite. (line 79) -* Image, set volume set id, -volset_id: SetWrite. (line 98) -* Image, set volume timestamp, -volume_date: SetWrite. (line 125) +* Image, set abstract file name, -abstract_file: SetWrite. (line 155) +* Image, set application id, -application_id: SetWrite. (line 114) +* Image, set biblio file name, -biblio_file: SetWrite. (line 162) +* Image, set copyright file name, -copyright_file: SetWrite. (line 149) +* Image, set preparer id, -preparer_id: SetWrite. (line 168) +* Image, set publisher id, -publisher: SetWrite. (line 108) +* Image, set system id, -system_id: SetWrite. (line 123) +* Image, set volume id, -volid: SetWrite. (line 84) +* Image, set volume set id, -volset_id: SetWrite. (line 103) +* Image, set volume timestamp, -volume_date: SetWrite. (line 130) * Image, show id strings, -pvd_info: Inquiry. (line 78) * Insert, enable overwriting, -overwrite: SetInsert. (line 127) * Insert, file exclusion absolute, -not_paths: SetInsert. (line 55) @@ -4297,7 +4302,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Navigate, tell ISO working directory, -pwd: Navigate. (line 20) * Next writeable address, -grow_blindly: AqDrive. (line 44) * Overwriteable media, _definition: Media. (line 14) -* Ownership, global in ISO image, -uid: SetWrite. (line 181) +* Ownership, global in ISO image, -uid: SetWrite. (line 186) * Ownership, in ISO image, -chown: Manip. (line 42) * Ownership, in ISO image, -chown_r: Manip. (line 47) * Partition offset, _definiton: Bootable. (line 148) @@ -4369,22 +4374,22 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Verify, file checksum, -check_md5: Verify. (line 146) * Verify, file tree checksums, -check_md5_r: Verify. (line 162) * Verify, preset -check_media, -check_media_defaults: Verify. (line 40) -* Write, block size, -dvd_obs: SetWrite. (line 228) +* Write, block size, -dvd_obs: SetWrite. (line 233) * Write, bootability, -boot_image: Bootable. (line 26) -* Write, buffer syncing, -stdio_sync: SetWrite. (line 235) -* Write, close media, -close: SetWrite. (line 252) +* Write, buffer syncing, -stdio_sync: SetWrite. (line 240) +* Write, close media, -close: SetWrite. (line 257) * Write, compliance to specs, -compliance: SetWrite. (line 14) -* Write, defect management, -stream_recording: SetWrite. (line 216) +* Write, defect management, -stream_recording: SetWrite. (line 221) * Write, enable Joliet, -joliet: SetWrite. (line 10) -* Write, fifo size, -fs: SetWrite. (line 245) +* Write, fifo size, -fs: SetWrite. (line 250) * Write, free space, -tell_media_space: Inquiry. (line 74) * Write, log problematic disk files, -errfile_log: Scripting. (line 84) * Write, log written sessions, -session_log: Scripting. (line 104) -* Write, padding image, -padding: SetWrite. (line 258) +* Write, padding image, -padding: SetWrite. (line 263) * Write, pending ISO image, -commit: Writing. (line 13) * Write, predict image size, -print_size: Inquiry. (line 69) -* Write, set speed, -speed: SetWrite. (line 201) -* Write, simulation, -dummy: SetWrite. (line 241) +* Write, set speed, -speed: SetWrite. (line 206) +* Write, simulation, -dummy: SetWrite. (line 246) * xattr, _definiton: Extras. (line 52) * xattr, control handling, -xattr: Loading. (line 150) * xattr, set in ISO image, -setfattr: Manip. (line 110) @@ -4415,39 +4420,39 @@ Node: CmdFind66490 Node: Filter76914 Node: Writing81263 Node: SetWrite87552 -Node: Bootable100621 -Node: Jigdo112928 -Node: Charset117186 -Node: Exception119937 -Node: DialogCtl124452 -Node: Inquiry126797 -Node: Navigate130927 -Node: Verify138822 -Node: Restore147411 -Node: Emulation154067 -Node: Scripting162441 -Node: Frontend168003 -Node: Examples169298 -Node: ExDevices170467 -Node: ExCreate171101 -Node: ExDialog172375 -Node: ExGrowing173637 -Node: ExModifying174439 -Node: ExBootable174940 -Node: ExCharset175487 -Node: ExPseudo176315 -Node: ExCdrecord177209 -Node: ExMkisofs177524 -Node: ExGrowisofs178527 -Node: ExException179651 -Node: ExTime180105 -Node: ExIncBackup180564 -Node: ExRestore184036 -Node: ExRecovery185005 -Node: Files185571 -Node: Seealso186799 -Node: Legal187323 -Node: CommandIdx188245 -Node: ConceptIdx202471 +Node: Bootable100954 +Node: Jigdo113261 +Node: Charset117519 +Node: Exception120270 +Node: DialogCtl124785 +Node: Inquiry127130 +Node: Navigate131260 +Node: Verify139155 +Node: Restore147744 +Node: Emulation154400 +Node: Scripting162774 +Node: Frontend168336 +Node: Examples169631 +Node: ExDevices170800 +Node: ExCreate171434 +Node: ExDialog172708 +Node: ExGrowing173970 +Node: ExModifying174772 +Node: ExBootable175273 +Node: ExCharset175820 +Node: ExPseudo176648 +Node: ExCdrecord177542 +Node: ExMkisofs177857 +Node: ExGrowisofs178860 +Node: ExException179984 +Node: ExTime180438 +Node: ExIncBackup180897 +Node: ExRestore184369 +Node: ExRecovery185338 +Node: Files185904 +Node: Seealso187132 +Node: Legal187656 +Node: CommandIdx188578 +Node: ConceptIdx202804  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorriso.texi b/libisoburn/trunk/xorriso/xorriso.texi index 4570c506..4c4188c1 100644 --- a/libisoburn/trunk/xorriso/xorriso.texi +++ b/libisoburn/trunk/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 "Dec 24, 2010" +@c man .TH XORRISO 1 "Dec 25, 2010" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -2406,6 +2406,12 @@ length 32 and the same -file_size_limit, or level 3 with ISO names up to length 32 and -file_size_limit >= 400g -200k. If necessary -file_size_limit gets adjusted. @* +"allow_dir_id_ext" allows ISO names of directories to have a name extension +as with other file types. It does not force dots and it omits the version +number, though. This is a bad tradition of mkisofs which violates ECMA-119. +Especially ISO level 1 only allows 8 characters in a directory name and +not 8.3. +@* "omit_version" does not add versions (";1") to ISO and Joliet file names. @* "only_iso_version" does not add versions (";1") to Joliet file names. diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index 02d2d546..c854c1f5 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2010.12.25.091515" +#define Xorriso_timestamP "2010.12.25.092828"