New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4

This commit is contained in:
Thomas Schmitt 2010-12-23 19:01:42 +00:00
parent 86fb1eb0cf
commit 3cbf74b32e
9 changed files with 115 additions and 86 deletions

View File

@ -1,6 +1,11 @@
SVN trunk (to become libisoburn-0.6.8.pl00.tar.gz)
===============================================================================
- no novelties yet
libisoburn novelties:
* New API call isoburn_igopt_set_untranslated_name_len()
xorriso novelties:
* New -compliance options untranslated_names , untranslated_name_len=
* New -as mkisofs option -untranslated_name_len
* New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4
libisoburn-0.6.6.pl00.tar.gz Sun Dec 12 2010
===============================================================================

View File

@ -120,6 +120,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
strcpy(m->list_delimiter, "--");
m->ino_behavior= 7;
m->do_joliet= 0;
m->do_iso1999= 0;
m->do_aaip= 0;
m->do_md5= 0;
m->no_emul_toc= 0;

View File

@ -682,7 +682,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -hide-joliet-list FILE File with list of Joliet files to hide",
" -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)",
" -iso-level LEVEL Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2",
" -J, -joliet Generate Joliet directory information",
" -joliet-long Allow Joliet file names to be 103 Unicode characters",
" -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660).",
@ -961,14 +961,16 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
goto not_enough_args;
i++;
sscanf(argv[i], "%d", &iso_level);
if(iso_level < 1 || iso_level > 3) {
if(iso_level < 1 || iso_level > 4) {
sprintf(xorriso->info_text,
"-as %s: unsupported -iso-level '%s' (use one of: 1,2,3)",
"-as %s: unsupported -iso-level '%s' (use one of: 1,2,3,4)",
whom, argv[i]);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto problem_handler_1;
}
if(iso_level < 3)
if(iso_level == 4)
xorriso->do_iso1999= 1;
else if(iso_level < 3)
xorriso->file_size_limit=
((off_t) 4) * ((off_t) 1024*1024*1024) - ((off_t) 1);
else

View File

@ -722,6 +722,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
isoburn_igopt_set_level(sopts, 3);
ext= isoburn_igopt_rockridge |
((!!xorriso->do_joliet) * isoburn_igopt_joliet) |
((!!xorriso->do_iso1999) * isoburn_igopt_iso1999) |
(( !(xorriso->ino_behavior & 2)) * isoburn_igopt_hardlinks) |
(( (!(xorriso->ino_behavior & 2)) ||
(xorriso->do_aaip & (2 | 8 | 16 | 256)) ||
@ -1836,7 +1837,7 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
return(-1);
ret= isoburn_igopt_set_untranslated_name_len(opts, value);
isoburn_igopt_destroy(&opts, 0);
if(ret <= 0) {
if(ret <= 0) { /* Not a tasty value */
xorriso->relax_compliance= was;
return(0);
}
@ -1940,6 +1941,12 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
(l == 8 && strncmp(cpt, "emul_toc", l) == 0)) {
xorriso->no_emul_toc&= ~1;
} else if((l == 13 && strncmp(cpt, "iso_9660_1999", l) == 0) ||
(l == 16 && strncmp(cpt, "iso_9660_1999_on", l) == 0)) {
xorriso->do_iso1999= 1;
} else if(l == 17 && strncmp(cpt, "iso_9660_1999_off", l) == 0) {
xorriso->do_iso1999= 0;
} else if((l == 8 && strncmp(cpt, "iso_9660", l) == 0) ||
(l == 11 && strncmp(cpt, "iso_9660_on", l) == 0)) {
/* may have a meaning in future */;
@ -2017,9 +2024,11 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
if(xorriso->untranslated_name_len != 0)
sprintf(mode + strlen(mode), ":untranslated_name_len=%d",
xorriso->untranslated_name_len);
if(xorriso->do_iso1999)
sprintf(mode + strlen(mode), ":iso_9660_1999");
return(1 +
(r == Xorriso_relax_compliance_defaulT && !(xorriso->no_emul_toc & 1)
&& xorriso->untranslated_name_len == 0));
&& xorriso->untranslated_name_len == 0 && !xorriso->do_iso1999));
}

View File

@ -2040,6 +2040,10 @@ rather than as official extension under SUSP-1.12.
"no_emul_toc" saves 64 kB with the first session on overwriteable media
but makes the image incapable of displaying its session history.
.br
"iso_9660_1999" causes the production of an additional directory tree
compliant to ISO 9660:1999. It can record long filenames for readers which
do not understand Rock Ridge.
.br
Default setting is
.br
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:

View File

@ -1831,6 +1831,9 @@ will be written according to the setting of option -acl.
"no_emul_toc" saves 64 kB with the first session on overwriteable
media but makes the image incapable of displaying its session
history.
"iso_9660_1999" causes the production of an additional directory
tree compliant to ISO 9660:1999. It can record long filenames for
readers which do not understand Rock Ridge.
Default setting is
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
always_gmt:old_rr".
@ -3946,7 +3949,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 140)
* -abstract_file sets abstract file name: SetWrite. (line 143)
* -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)
@ -3954,13 +3957,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 99)
* -application_id sets application id: SetWrite. (line 102)
* -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 147)
* -biblio_file sets biblio file name: SetWrite. (line 150)
* -blank erases media: Writing. (line 45)
* -boot_image controls bootability: Bootable. (line 26)
* -calm_drive reduces drive activity: Loading. (line 228)
@ -3977,7 +3980,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 242)
* -close controls media closing: SetWrite. (line 245)
* -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)
@ -3985,7 +3988,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 134)
* -copyright_file sets copyright file name: SetWrite. (line 137)
* -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)
@ -4000,11 +4003,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 231)
* -dummy controls write simulation: SetWrite. (line 234)
* -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 218)
* -dvd_obs set write block size: SetWrite. (line 221)
* -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)
@ -4021,12 +4024,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 235)
* -fs sets size of fifo: SetWrite. (line 238)
* -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 175)
* -gid sets global ownership: SetWrite. (line 178)
* -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)
@ -4069,23 +4072,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 165)
* -out_charset sets output character set: SetWrite. (line 168)
* -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 248)
* -padding sets amount of image padding: SetWrite. (line 251)
* -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 153)
* -preparer_id sets preparer id: SetWrite. (line 156)
* -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 93)
* -publisher sets publisher id: SetWrite. (line 96)
* -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)
@ -4116,27 +4119,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 191)
* -speed set write speed: SetWrite. (line 194)
* -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 225)
* -stream_recording controls defect management: SetWrite. (line 206)
* -system_id sets system id: SetWrite. (line 108)
* -stdio_sync controls stdio buffer: SetWrite. (line 228)
* -stream_recording controls defect management: SetWrite. (line 209)
* -system_id sets system id: SetWrite. (line 111)
* -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 171)
* -uid sets global ownership: SetWrite. (line 174)
* -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 69)
* -volset_id sets volume set id: SetWrite. (line 88)
* -volume_date sets volume timestamp: SetWrite. (line 115)
* -volid sets volume id: SetWrite. (line 72)
* -volset_id sets volume set id: SetWrite. (line 91)
* -volume_date sets volume timestamp: SetWrite. (line 118)
* -xattr controls handling of xattr (EA): Loading. (line 150)
* -zisofs controls zisofs production: SetWrite. (line 179)
* -zisofs controls zisofs production: SetWrite. (line 182)

File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -4167,7 +4170,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 165)
* Character Set, for output, -out_charset: SetWrite. (line 168)
* 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)
@ -4211,8 +4214,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 179)
* Group, global in ISO image, -gid: SetWrite. (line 175)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 182)
* Group, global in ISO image, -gid: SetWrite. (line 178)
* Group, in ISO image, -chgrp: Manip. (line 50)
* Group, in ISO image, -chgrp_r: Manip. (line 55)
* Growing, _definition: Methods. (line 19)
@ -4221,16 +4224,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 140)
* Image, set application id, -application_id: SetWrite. (line 99)
* Image, set biblio file name, -biblio_file: SetWrite. (line 147)
* Image, set copyright file name, -copyright_file: SetWrite. (line 134)
* Image, set preparer id, -preparer_id: SetWrite. (line 153)
* Image, set publisher id, -publisher: SetWrite. (line 93)
* Image, set system id, -system_id: SetWrite. (line 108)
* Image, set volume id, -volid: SetWrite. (line 69)
* Image, set volume set id, -volset_id: SetWrite. (line 88)
* Image, set volume timestamp, -volume_date: SetWrite. (line 115)
* Image, set abstract file name, -abstract_file: SetWrite. (line 143)
* Image, set application id, -application_id: SetWrite. (line 102)
* Image, set biblio file name, -biblio_file: SetWrite. (line 150)
* Image, set copyright file name, -copyright_file: SetWrite. (line 137)
* Image, set preparer id, -preparer_id: SetWrite. (line 156)
* Image, set publisher id, -publisher: SetWrite. (line 96)
* Image, set system id, -system_id: SetWrite. (line 111)
* Image, set volume id, -volid: SetWrite. (line 72)
* Image, set volume set id, -volset_id: SetWrite. (line 91)
* Image, set volume timestamp, -volume_date: SetWrite. (line 118)
* 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)
@ -4287,7 +4290,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 171)
* Ownership, global in ISO image, -uid: SetWrite. (line 174)
* Ownership, in ISO image, -chown: Manip. (line 42)
* Ownership, in ISO image, -chown_r: Manip. (line 47)
* Partition offset, _definiton: Bootable. (line 148)
@ -4359,22 +4362,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 218)
* Write, block size, -dvd_obs: SetWrite. (line 221)
* Write, bootability, -boot_image: Bootable. (line 26)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 225)
* Write, close media, -close: SetWrite. (line 242)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 228)
* Write, close media, -close: SetWrite. (line 245)
* Write, compliance to specs, -compliance: SetWrite. (line 14)
* Write, defect management, -stream_recording: SetWrite. (line 206)
* Write, defect management, -stream_recording: SetWrite. (line 209)
* Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 235)
* Write, fifo size, -fs: SetWrite. (line 238)
* 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 248)
* Write, padding image, -padding: SetWrite. (line 251)
* Write, pending ISO image, -commit: Writing. (line 13)
* Write, predict image size, -print_size: Inquiry. (line 69)
* Write, set speed, -speed: SetWrite. (line 191)
* Write, simulation, -dummy: SetWrite. (line 231)
* Write, set speed, -speed: SetWrite. (line 194)
* Write, simulation, -dummy: SetWrite. (line 234)
* xattr, _definiton: Extras. (line 52)
* xattr, control handling, -xattr: Loading. (line 150)
* xattr, set in ISO image, -setfattr: Manip. (line 110)
@ -4405,39 +4408,39 @@ Node: CmdFind66490
Node: Filter76914
Node: Writing81263
Node: SetWrite87552
Node: Bootable100080
Node: Jigdo112387
Node: Charset116645
Node: Exception119396
Node: DialogCtl123911
Node: Inquiry126256
Node: Navigate130386
Node: Verify138281
Node: Restore146870
Node: Emulation153526
Node: Scripting161900
Node: Frontend167462
Node: Examples168757
Node: ExDevices169926
Node: ExCreate170560
Node: ExDialog171834
Node: ExGrowing173096
Node: ExModifying173898
Node: ExBootable174399
Node: ExCharset174946
Node: ExPseudo175774
Node: ExCdrecord176668
Node: ExMkisofs176983
Node: ExGrowisofs177986
Node: ExException179110
Node: ExTime179564
Node: ExIncBackup180023
Node: ExRestore183495
Node: ExRecovery184464
Node: Files185030
Node: Seealso186258
Node: Legal186782
Node: CommandIdx187704
Node: ConceptIdx201930
Node: Bootable100270
Node: Jigdo112577
Node: Charset116835
Node: Exception119586
Node: DialogCtl124101
Node: Inquiry126446
Node: Navigate130576
Node: Verify138471
Node: Restore147060
Node: Emulation153716
Node: Scripting162090
Node: Frontend167652
Node: Examples168947
Node: ExDevices170116
Node: ExCreate170750
Node: ExDialog172024
Node: ExGrowing173286
Node: ExModifying174088
Node: ExBootable174589
Node: ExCharset175136
Node: ExPseudo175964
Node: ExCdrecord176858
Node: ExMkisofs177173
Node: ExGrowisofs178176
Node: ExException179300
Node: ExTime179754
Node: ExIncBackup180213
Node: ExRestore183685
Node: ExRecovery184654
Node: Files185220
Node: Seealso186448
Node: Legal186972
Node: CommandIdx187894
Node: ConceptIdx202120

End Tag Table

View File

@ -2448,6 +2448,10 @@ rather than as official extension under SUSP-1.12.
"no_emul_toc" saves 64 kB with the first session on overwriteable media
but makes the image incapable of displaying its session history.
@*
"iso_9660_1999" causes the production of an additional directory tree
compliant to ISO 9660:1999. It can record long filenames for readers which
do not understand Rock Ridge.
@*
Default setting is
@*
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:

View File

@ -124,6 +124,7 @@ struct XorrisO { /* the global context of xorriso */
*/
int do_joliet;
int do_iso1999;
int do_aaip; /* bit0= ACL in
bit1= ACL out

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.12.22.151542"
#define Xorriso_timestamP "2010.12.23.190134"