From 8a3b4e2207c6eca66cc694cab3394655655b7547 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 13 Apr 2010 10:40:22 +0000 Subject: [PATCH] New -compliance options only_iso_version, no_j_force_dots --- xorriso/xorriso.1 | 12 ++- xorriso/xorriso.info | 147 +++++++++++++++++++----------------- xorriso/xorriso.texi | 12 ++- xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisoburn.c | 19 ++++- 5 files changed, 113 insertions(+), 79 deletions(-) diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index 8fb853ad..2e662b8c 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 "Apr 12, 2010" +.TH XORRISO 1 "Apr 13, 2010" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -1910,7 +1910,9 @@ can be revoked individually by appending "_off". Like "deep_paths_off". .br Rule keywords are: .br -"omit_version" do not add versions (";1") to ISO file names. +"omit_version" do not add versions (";1") to ISO and Joliet file names. +.br +"only_iso_version" do not add versions (";1") to Joliet file names. .br "deep_paths" allow ISO file paths deeper than 8 levels. .br @@ -1920,6 +1922,8 @@ Rule keywords are: .br "no_force_dots" do not add a dot to ISO file names which have none. .br +"no_j_force_dots" do not add a dot to Joliet file names which have none. +.br "lowercase" allow lowercase characters in ISO file names. .br "full_ascii" allow all ASCII characters in ISO file names. @@ -1943,7 +1947,9 @@ rather than as official extension under SUSP-1.12. .br Default setting is .br - "clear:deep_paths:long_paths:always_gmt:old_rr". + "clear:only_iso_version:deep_paths:long_paths:no_j_force_dots: +.br + always_gmt:old_rr". .br Note: The term "ISO file" means the plain ISO 9660 names and attributes which get visible if the reader ignores Rock Ridge. diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 1f380446..1c59c6db 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -1722,11 +1722,15 @@ will be written according to the setting of option -acl. the following relaxation rules can be revoked individually by appending "_off". Like "deep_paths_off". Rule keywords are: - "omit_version" do not add versions (";1") to ISO file names. + "omit_version" do not add versions (";1") to ISO and Joliet file + names. + "only_iso_version" do not add versions (";1") to Joliet file names. "deep_paths" allow ISO file paths deeper than 8 levels. "long_paths" allow ISO file paths longer than 255 characters. "long_names" allow up to 37 characters with ISO file names. "no_force_dots" do not add a dot to ISO file names which have none. + "no_j_force_dots" do not add a dot to Joliet file names which have + none. "lowercase" allow lowercase characters in ISO file names. "full_ascii" allow all ASCII characters in ISO file names. "joliet_long_paths" allow Joliet paths longer than 240 characters. @@ -1744,7 +1748,8 @@ will be written according to the setting of option -acl. "aaip_susp_1_10" allows AAIP to be written as unofficial extension of RRIP rather than as official extension under SUSP-1.12. Default setting is - "clear:deep_paths:long_paths:always_gmt:old_rr". + "clear:only_iso_version:deep_paths:long_paths:no_j_force_dots: + always_gmt:old_rr". Note: The term "ISO file" means the plain ISO 9660 names and attributes which get visible if the reader ignores Rock Ridge. @@ -3585,7 +3590,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -add_plainly inserts one or more paths: Insert. (line 61) * -alter_date sets timestamps in ISO image: Manip. (line 146) * -alter_date_r sets timestamps in ISO image: Manip. (line 166) -* -application_id sets application id: SetWrite. (line 82) +* -application_id sets application id: SetWrite. (line 87) * -as emulates mkisofs or cdrecord: Emulation. (line 13) * -assert_volid rejects undesired images: Loading. (line 65) * -auto_charset learns character set from image: Loading. (line 80) @@ -3607,7 +3612,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 191) +* -close controls media closing: SetWrite. (line 196) * -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) @@ -3627,11 +3632,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -disk_pattern controls pattern expansion: Insert. (line 31) * -drive_class controls drive accessability: Loading. (line 35) * -du show directory size in ISO image: Navigate. (line 84) -* -dummy controls write simulation: SetWrite. (line 180) +* -dummy controls write simulation: SetWrite. (line 185) * -dus show directory size in ISO image: Navigate. (line 88) * -dusx show directory size on disk: Navigate. (line 97) * -dux show directory size on disk: Navigate. (line 92) -* -dvd_obs set write block size: SetWrite. (line 167) +* -dvd_obs set write block size: SetWrite. (line 172) * -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) @@ -3648,12 +3653,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 163) * -format formats media: Writing. (line 69) -* -fs sets size of fifo: SetWrite. (line 184) +* -fs sets size of fifo: SetWrite. (line 189) * -getfacl shows ACL in ISO image: Navigate. (line 65) * -getfacl_r shows ACL in ISO image: Navigate. (line 72) * -getfattr shows xattr in ISO image: Navigate. (line 76) * -getfattr_r shows xattr in ISO image: Navigate. (line 80) -* -gid sets global ownership: SetWrite. (line 124) +* -gid sets global ownership: SetWrite. (line 129) * -grow_blindly overides next writeable address: AqDrive. (line 44) * -hardlinks controls handling of hard links: Loading. (line 91) * -help prints help text: Scripting. (line 16) @@ -3693,11 +3698,11 @@ 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 114) +* -out_charset sets output character set: SetWrite. (line 119) * -outdev aquires a drive for output: AqDrive. (line 29) * -overwrite enables overwriting in ISO: SetInsert. (line 127) * -pacifier controls pacifier text form: Emulation. (line 99) -* -padding sets amount of image padding: SetWrite. (line 197) +* -padding sets amount of image padding: SetWrite. (line 202) * -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) @@ -3708,7 +3713,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -prog sets program name: Frontend. (line 29) * -prog_help prints help text: Frontend. (line 32) * -prompt prompts for enter key: Scripting. (line 80) -* -publisher sets publisher id: SetWrite. (line 76) +* -publisher sets publisher id: SetWrite. (line 81) * -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) @@ -3737,27 +3742,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 153) * -show_stream_r shows data source and filters: Navigate. (line 168) -* -speed set write speed: SetWrite. (line 140) +* -speed set write speed: SetWrite. (line 145) * -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 174) -* -stream_recording controls defect management: SetWrite. (line 155) -* -system_id sets system id: SetWrite. (line 88) +* -stdio_sync controls stdio buffer: SetWrite. (line 179) +* -stream_recording controls defect management: SetWrite. (line 160) +* -system_id sets system id: SetWrite. (line 93) * -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 120) +* -uid sets global ownership: SetWrite. (line 125) * -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 52) -* -volset_id sets volume set id: SetWrite. (line 71) -* -volume_date sets volume timestamp: SetWrite. (line 95) +* -volid sets volume id: SetWrite. (line 57) +* -volset_id sets volume set id: SetWrite. (line 76) +* -volume_date sets volume timestamp: SetWrite. (line 100) * -xattr controls handling of xattr (EA): Loading. (line 136) -* -zisofs controls zisofs production: SetWrite. (line 128) +* -zisofs controls zisofs production: SetWrite. (line 133)  File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -3787,7 +3792,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character Set, _definition: Charset. (line 6) * Character Set, for input, -in_charset: Loading. (line 73) * Character Set, for input/output, -charset: Charset. (line 43) -* Character Set, for output, -out_charset: SetWrite. (line 114) +* Character Set, for output, -out_charset: SetWrite. (line 119) * Character set, learn from image, -auto_charset: Loading. (line 80) * Character Set, of terminal, -local_charset: Charset. (line 47) * Closed media, _definition: Media. (line 39) @@ -3830,8 +3835,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Filter, show chain, -show_stream: Navigate. (line 153) * Filter, show chains of tree, -show_stream_r: Navigate. (line 168) * Filter, unregister, -unregister_filter: Filter. (line 48) -* Filter, zisofs parameters, -zisofs: SetWrite. (line 128) -* Group, global in ISO image, -gid: SetWrite. (line 124) +* Filter, zisofs parameters, -zisofs: SetWrite. (line 133) +* Group, global in ISO image, -gid: SetWrite. (line 129) * Group, in ISO image, -chgrp: Manip. (line 50) * Group, in ISO image, -chgrp_r: Manip. (line 55) * Growing, _definition: Methods. (line 19) @@ -3839,12 +3844,12 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Image, _definition: Model. (line 9) * Image, demand volume id, -assert_volid: Loading. (line 65) * Image, discard pending changes, -rollback: Writing. (line 9) -* Image, set application id, -application_id: SetWrite. (line 82) -* Image, set publisher id, -publisher: SetWrite. (line 76) -* Image, set system id, -system_id: SetWrite. (line 88) -* Image, set volume id, -volid: SetWrite. (line 52) -* Image, set volume set id, -volset_id: SetWrite. (line 71) -* Image, set volume timestamp, -volume_date: SetWrite. (line 95) +* Image, set application id, -application_id: SetWrite. (line 87) +* Image, set publisher id, -publisher: SetWrite. (line 81) +* Image, set system id, -system_id: SetWrite. (line 93) +* Image, set volume id, -volid: SetWrite. (line 57) +* Image, set volume set id, -volset_id: SetWrite. (line 76) +* Image, set volume timestamp, -volume_date: SetWrite. (line 100) * 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) @@ -3896,7 +3901,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 10) -* Ownership, global in ISO image, -uid: SetWrite. (line 120) +* Ownership, global in ISO image, -uid: SetWrite. (line 125) * Ownership, in ISO image, -chown: Manip. (line 42) * Ownership, in ISO image, -chown_r: Manip. (line 47) * Pathspec, _definition: SetInsert. (line 120) @@ -3962,22 +3967,22 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Verify, file checksum, -check_md5: Verify. (line 144) * Verify, file tree checksums, -check_md5_r: Verify. (line 160) * Verify, preset -check_media, -check_media_defaults: Verify. (line 40) -* Write, block size, -dvd_obs: SetWrite. (line 167) +* Write, block size, -dvd_obs: SetWrite. (line 172) * Write, bootability, -boot_image: Bootable. (line 20) -* Write, buffer syncing, -stdio_sync: SetWrite. (line 174) -* Write, close media, -close: SetWrite. (line 191) +* Write, buffer syncing, -stdio_sync: SetWrite. (line 179) +* Write, close media, -close: SetWrite. (line 196) * Write, compliance to specs, -compliance: SetWrite. (line 14) -* Write, defect management, -stream_recording: SetWrite. (line 155) +* Write, defect management, -stream_recording: SetWrite. (line 160) * Write, enable Joliet, -joliet: SetWrite. (line 10) -* Write, fifo size, -fs: SetWrite. (line 184) +* Write, fifo size, -fs: SetWrite. (line 189) * 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 197) +* Write, padding image, -padding: SetWrite. (line 202) * Write, pending ISO image, -commit: Writing. (line 13) * Write, predict image size, -print_size: Inquiry. (line 69) -* Write, set speed, -speed: SetWrite. (line 140) -* Write, simulation, -dummy: SetWrite. (line 180) +* Write, set speed, -speed: SetWrite. (line 145) +* Write, simulation, -dummy: SetWrite. (line 185) * xattr, _definiton: Extras. (line 46) * xattr, control handling, -xattr: Loading. (line 136) * xattr, set in ISO image, -setfattr: Manip. (line 110) @@ -4008,38 +4013,38 @@ Node: CmdFind64317 Node: Filter73146 Node: Writing77495 Node: SetWrite83784 -Node: Bootable93695 -Node: Charset99200 -Node: Exception101954 -Node: DialogCtl106469 -Node: Inquiry108814 -Node: Navigate112954 -Node: Verify120308 -Node: Restore128728 -Node: Emulation135384 -Node: Scripting141829 -Node: Frontend147391 -Node: Examples148592 -Node: ExDevices149761 -Node: ExCreate150243 -Node: ExDialog151517 -Node: ExGrowing152779 -Node: ExModifying153581 -Node: ExBootable154082 -Node: ExCharset154629 -Node: ExPseudo155457 -Node: ExCdrecord156351 -Node: ExMkisofs156666 -Node: ExGrowisofs157669 -Node: ExException158793 -Node: ExTime159247 -Node: ExIncBackup159706 -Node: ExRestore163178 -Node: ExRecovery164147 -Node: Files164713 -Node: Seealso165751 -Node: Legal166275 -Node: CommandIdx167197 -Node: ConceptIdx180498 +Node: Bootable93906 +Node: Charset99411 +Node: Exception102165 +Node: DialogCtl106680 +Node: Inquiry109025 +Node: Navigate113165 +Node: Verify120519 +Node: Restore128939 +Node: Emulation135595 +Node: Scripting142040 +Node: Frontend147602 +Node: Examples148803 +Node: ExDevices149972 +Node: ExCreate150454 +Node: ExDialog151728 +Node: ExGrowing152990 +Node: ExModifying153792 +Node: ExBootable154293 +Node: ExCharset154840 +Node: ExPseudo155668 +Node: ExCdrecord156562 +Node: ExMkisofs156877 +Node: ExGrowisofs157880 +Node: ExException159004 +Node: ExTime159458 +Node: ExIncBackup159917 +Node: ExRestore163389 +Node: ExRecovery164358 +Node: Files164924 +Node: Seealso165962 +Node: Legal166486 +Node: CommandIdx167408 +Node: ConceptIdx180709  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index 4dad3f2b..c82b52dd 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 "Apr 12, 2010" +@c man .TH XORRISO 1 "Apr 13, 2010" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -2323,7 +2323,9 @@ can be revoked individually by appending "_off". Like "deep_paths_off". @* Rule keywords are: @* -"omit_version" do not add versions (";1") to ISO file names. +"omit_version" do not add versions (";1") to ISO and Joliet file names. +@* +"only_iso_version" do not add versions (";1") to Joliet file names. @* "deep_paths" allow ISO file paths deeper than 8 levels. @* @@ -2333,6 +2335,8 @@ Rule keywords are: @* "no_force_dots" do not add a dot to ISO file names which have none. @* +"no_j_force_dots" do not add a dot to Joliet file names which have none. +@* "lowercase" allow lowercase characters in ISO file names. @* "full_ascii" allow all ASCII characters in ISO file names. @@ -2356,7 +2360,9 @@ rather than as official extension under SUSP-1.12. @* Default setting is @* - "clear:deep_paths:long_paths:always_gmt:old_rr". + "clear:only_iso_version:deep_paths:long_paths:no_j_force_dots: +@* + always_gmt:old_rr". @* Note: The term "ISO file" means the plain ISO 9660 names and attributes which get visible if the reader ignores Rock Ridge. diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index a272dbcf..9726ee48 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2010.04.13.103037" +#define Xorriso_timestamP "2010.04.13.103917" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index 7c79d0dd..54bf7a96 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -125,7 +125,8 @@ int Xorriso_search_hardlinks(struct XorrisO *xorriso, IsoNode *node, #define Xorriso_relax_compliance_defaulT \ (isoburn_igopt_allow_deep_paths | isoburn_igopt_allow_longer_paths | \ isoburn_igopt_always_gmt | \ - isoburn_igopt_rrip_version_1_10 | isoburn_igopt_aaip_susp_1_10 ) + isoburn_igopt_rrip_version_1_10 | isoburn_igopt_aaip_susp_1_10 | \ + isoburn_igopt_only_iso_versions | isoburn_igopt_no_j_force_dots) #ifdef NIX /* <<< */ @@ -10529,6 +10530,12 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, } else if((l == 16 && strncmp(cpt, "omit_version_off", l) == 0)) { xorriso->relax_compliance&= ~isoburn_igopt_omit_version_numbers; + } else if((l == 16 && strncmp(cpt, "only_iso_version", l) == 0) || + (l == 19 && strncmp(cpt, "only_iso_version_on", l) == 0) ) { + xorriso->relax_compliance|= isoburn_igopt_only_iso_versions; + } else if((l == 20 && strncmp(cpt, "only_iso_version_off", l) == 0)) { + xorriso->relax_compliance&= ~isoburn_igopt_only_iso_versions; + } else if((l == 10 && strncmp(cpt, "deep_paths", l) == 0) || (l == 13 && strncmp(cpt, "deep_paths_on", l) == 0)) { xorriso->relax_compliance|= isoburn_igopt_allow_deep_paths; @@ -10553,6 +10560,12 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, } else if(l == 17 && strncmp(cpt, "no_force_dots_off", l) == 0) { xorriso->relax_compliance&= ~isoburn_igopt_no_force_dots; + } else if((l == 15 && strncmp(cpt, "no_j_force_dots", l) == 0) || + (l == 18 && strncmp(cpt, "no_j_force_dots_on", l) == 0)) { + xorriso->relax_compliance|= isoburn_igopt_no_j_force_dots; + } else if(l == 19 && strncmp(cpt, "no_j_force_dots_off", l) == 0) { + xorriso->relax_compliance&= ~isoburn_igopt_no_j_force_dots; + } else if((l == 9 && strncmp(cpt, "lowercase", l) == 0) || (l == 12 && strncmp(cpt, "lowercase_on", l) == 0)) { xorriso->relax_compliance|= isoburn_igopt_allow_lowercase; @@ -10642,6 +10655,8 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024], strcpy(mode, "clear"); if(r & isoburn_igopt_omit_version_numbers) strcat(mode, ":omit_version"); + if(r & isoburn_igopt_only_iso_versions) + strcat(mode, ":only_iso_version"); if(r & isoburn_igopt_allow_deep_paths) strcat(mode, ":deep_paths"); if(r & isoburn_igopt_allow_longer_paths) @@ -10650,6 +10665,8 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024], strcat(mode, ":long_names"); if(r & isoburn_igopt_no_force_dots) strcat(mode, ":no_force_dots"); + if(r & isoburn_igopt_no_j_force_dots) + strcat(mode, ":no_j_force_dots"); if(r & isoburn_igopt_allow_lowercase) strcat(mode, ":lowercase"); if(r & isoburn_igopt_allow_full_ascii)