diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 70d17096..7a520165 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -575,7 +575,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc", "--emul-toc", "-disallow_dir_id_ext", "--old-empty", "--old-root-no-md5", "--old-root-devno", "--old-root-no-ino", - "--no_rc", + "--no_rc", "--norock" "" }; static char arg1_options[][41]= { @@ -759,6 +759,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -quiet Run quietly", " -R, -rock Generate Rock Ridge directory information", " -r, -rational-rock Generate rationalized Rock Ridge directory information", +" --norock Disable Rock Ridge. (Strongly discouraged !)", " --hardlinks Record eventual hard link relations of files", " --acl Record eventual ACLs of files", " --xattr Record eventual user space xattr of files", @@ -1012,10 +1013,13 @@ int Xorriso_genisofs_fused_options(struct XorrisO *xorriso, char *whom, continue; Xorriso_relax_compliance(xorriso, "omit_version", 0); } else if(*cpt == 'R') { - /* inavoidable */; + if(flag & 2) + continue; + xorriso->do_rockridge= 1; } else if(*cpt == 'r') { if(flag & 2) continue; + xorriso->do_rockridge= 1; *lower_r= 1; } else if(*cpt == 'T') { /* ignored */; @@ -1453,9 +1457,13 @@ illegal_c:; continue; if(strcmp(argpt, "-version")==0) { /* was already handled in first argument scan */; - + } else if(strcmp(argpt, "--norock")==0) { + xorriso->do_rockridge= 0; } else if(strcmp(argpt, "-R")==0 || strcmp(argpt, "-rock")==0) { - /* ok */; + ret= Xorriso_genisofs_fused_options(xorriso, whom, "R", + &option_d, &iso_level, &lower_r, ra_text, 0); + if(ret <= 0) + goto problem_handler_2; } else if(strcmp(argpt, "-r")==0 || strcmp(argpt, "-rational-rock")==0){ ret= Xorriso_genisofs_fused_options(xorriso, whom, "r", &option_d, &iso_level, &lower_r, ra_text, 0); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 3b1db44e..1904ffbe 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.05.22.121401" +#define Xorriso_timestamP "2012.05.22.121743" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index 4a297264..19cb1bbf 100644 --- a/xorriso/xorrisofs.1 +++ b/xorriso/xorrisofs.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 XORRISOFS 1 "Version 1.2.3, Apr 11, 2012" +.TH XORRISOFS 1 "Version 1.2.3, May 22, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -60,8 +60,8 @@ with ownership, access permissions, symbolic links, and other attributes. Rock Ridge allows filenames of up to 255 bytes and paths of up to 1024 bytes. .br -Rock Ridge information is produced unconditionally with any \fBxorrisofs\fR -image. +xorrisofs produces Rock Ridge information by default. It is strongly +discouraged to disable this feature. .br \fBJoliet\fR is the name of an additional directory tree which provides @@ -86,8 +86,9 @@ Production of this directory tree may be enabled by option \-iso\-level 4. is a path to an object in the local filesystem tree. .br \fBiso_rr_path\fR -is the Rock Ridge address of a file object in the ISO image. (Do not -confuse with the lowlevel ISO 9660 names visible if Rock Ridge gets ignored.) +is the Rock Ridge address of a file object in the ISO image. +If no Rock Ridge information shall be stored in an emerging ISO, then the +names will get mapped to ISO 9660 names of limited length and character set. .br .PP A program argument is handled as a \fBpathspec\fR, if it is not @@ -483,7 +484,8 @@ Alias of \-N. \fB\-R\fR .br With mkisofs this option enables Rock Ridge extensions. \fBxorrisofs\fR -produces them unconditionally. +produces them by default. It is strongly discouraged to disable them +by option \-\-norock. .TP \fB\-rock\fR .br @@ -499,6 +501,13 @@ Remove s\-bit and t\-bit. \fB\-rational-rock\fR Alias of \-r. .TP +\fB--norock\fR +.br +This option disables the production of Rock Ridge extensions for the +ISO 9660 file objects. The multi\-session capabilities of \fBxorrisofs\fR +depend much on the naming fidelity of Rock Ridge. So it is strongly +discouraged to disable it by this option. +.TP \fB\-D\fR The standard ECMA\-119 demands that no path in the image shall have more than 8 name components or 255 characters. Therefore it would be necessary diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index 1ee38c5e..10fabf4c 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -67,8 +67,8 @@ enhance an ISO 9660 filesystem so that it can represent a POSIX compliant filesystem with ownership, access permissions, symbolic links, and other attributes. Rock Ridge allows filenames of up to 255 bytes and paths of up to 1024 bytes. -Rock Ridge information is produced unconditionally with any `xorrisofs' -image. +xorrisofs produces Rock Ridge information by default. It is strongly +discouraged to disable this feature. *Joliet* is the name of an additional directory tree which provides filenames up to 64 characters encoded as UTF-16. A Joliet tree is mainly interesting for reading the ISO image by operating systems of @@ -90,8 +90,9 @@ File: xorrisofs.info, Node: Insert, Next: Xorriso, Prev: Standards, Up: Top `xorrisofs' deals with two kinds of file addresses: *disk_path* is a path to an object in the local filesystem tree. *iso_rr_path* is the Rock Ridge address of a file object in the ISO -image. (Do not confuse with the lowlevel ISO 9660 names visible if Rock -Ridge gets ignored.) +image. If no Rock Ridge information shall be stored in an emerging +ISO, then the names will get mapped to ISO 9660 names of limited length +and character set. A program argument is handled as a *pathspec*, if it is not recognized as original mkisofs option or additional `xorrisofs' option. A @@ -498,7 +499,8 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op -R With mkisofs this option enables Rock Ridge extensions. `xorrisofs' - produces them unconditionally. + produces them by default. It is strongly discouraged to disable + them by option --norock. -rock Alias of -R. @@ -512,6 +514,12 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op -rational-rock Alias of -r. +--norock + This option disables the production of Rock Ridge extensions for + the ISO 9660 file objects. The multi-session capabilities of + `xorrisofs' depend much on the naming fidelity of Rock Ridge. So + it is strongly discouraged to disable it by this option. + -D The standard ECMA-119 demands that no path in the image shall have more than 8 name components or 255 characters. Therefore it would @@ -1546,18 +1554,19 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T [index] * Menu: -* --acl Recording of ACLs: SetExtras. (line 64) +* --acl Recording of ACLs: SetExtras. (line 71) * --boot-catalog-hide Hide El Torito boot catalog: Bootable. (line 95) * --efi-boot El Torito EFI boot image: Bootable. (line 58) * --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 27) * --emul-toc enable table-of-content emulation: SetProduct. (line 35) -* --for_backup Enable backup fidelity: SetExtras. (line 60) -* --hardlinks Recording of hardlink relations: SetExtras. (line 85) -* --md5 Recording of MD5 checksums: SetExtras. (line 77) +* --for_backup Enable backup fidelity: SetExtras. (line 67) +* --hardlinks Recording of hardlink relations: SetExtras. (line 92) +* --md5 Recording of MD5 checksums: SetExtras. (line 84) * --modification-date set ISO image timestamps: ImageId. (line 82) * --no-emul-toc no table-of-content emulation: SetProduct. (line 44) * --no_rc do not execute startup files: Miscellaneous. (line 16) +* --norock disable Rock Ridge production: SetExtras. (line 25) * --old-empty old block addresses for empty files: SetProduct. (line 81) * --old-root-devno enable disk idevno with -old-root: SetInsert. @@ -1569,11 +1578,11 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 41) * --quoted_path_list read pathspecs from disk file: SetInsert. (line 13) -* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 94) +* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 101) * --sort-weight set output file address: SetProduct. (line 49) * --stdio_sync control forced output to disk files: SetProduct. (line 25) -* --xattr Recording of xattr: SetExtras. (line 70) +* --xattr Recording of xattr: SetExtras. (line 77) * -A set Application Id: ImageId. (line 38) * -abstract set Abstract File path: ImageId. (line 66) * -allow-lowercase lowercase in ISO file names: SetCompl. (line 46) @@ -1593,12 +1602,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -checksum_algorithm_template choose .template checksums: Jigdo. (line 87) * -copyright set Copyright File path: ImageId. (line 77) -* -D allow deep directory hierachies: SetExtras. (line 24) +* -D allow deep directory hierachies: SetExtras. (line 31) * -d omit trailing dot in ISO file names: SetCompl. (line 56) * -dev set path for loading existing ISO image: Loading. (line 25) * -dir-mode permissions for all directories: SetProduct. (line 60) * -disable-deep-relocation allow deep directory hierachies: SetExtras. - (line 37) + (line 44) * -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl. (line 24) * -e El Torito EFI boot image: Bootable. (line 50) @@ -1627,13 +1636,13 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -hide-list keep matching files invisible in ISO tree: SetHide. (line 16) * -hide-rr-moved set deep directory relocation target: SetExtras. - (line 57) + (line 64) * -input-charset set character set of disk file names: Charset. (line 17) * -iso-level define ISO 9660 limitations: SetCompl. (line 7) * -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea. (line 30) -* -J enable production of Joliet directory tree: SetExtras. (line 103) +* -J enable production of Joliet directory tree: SetExtras. (line 110) * -jigdo-exclude add exclusion pattern for .md5: Jigdo. (line 59) * -jigdo-force-md5 add check pattern for .md5: Jigdo. (line 52) * -jigdo-jigdo set name of .jigdo file: Jigdo. (line 38) @@ -1643,8 +1652,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -jigdo-template-compress choose compression algorithm: Jigdo. (line 76) * -joliet enable production of Joliet directory tree: SetExtras. - (line 107) -* -joliet-long allow longer Joliet names: SetExtras. (line 110) + (line 114) +* -joliet-long allow longer Joliet names: SetExtras. (line 117) * -l allow 31 characters in ISO file names: SetCompl. (line 63) * -log-file redirect stderr messages: Miscellaneous. (line 28) * -m exclude disk files from inserting: SetInsert. (line 35) @@ -1683,17 +1692,17 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -print-size predict ISO image size: Miscellaneous. (line 8) * -publisher set Publisher Id: ImageId. (line 35) * -quiet suppress most messages: Miscellaneous. (line 24) -* -R Rock Ridge (is always enabled): SetExtras. (line 8) +* -R Rock Ridge (is enabled by default): SetExtras. (line 8) * -r Rock Ridge with altered owner and permission: SetExtras. - (line 15) + (line 16) * -rational-rock Rock Ridge with altered owner and permission: SetExtras. - (line 21) + (line 22) * -relaxed-filenames 7-bit special characters in ISO file names: SetCompl. (line 50) -* -rock Rock Ridge (is always enabled): SetExtras. (line 12) +* -rock Rock Ridge (is enabled by default): SetExtras. (line 13) * -root redirect ISO root directory: SetInsert. (line 64) * -rr_reloc_dir set deep directory relocation target: SetExtras. - (line 40) + (line 47) * -sparc-boot SUN SPARC boot images: SystemArea. (line 128) * -sparc-label SUN Disk Label text: SystemArea. (line 131) * -sysid set System Id: ImageId. (line 49) @@ -1722,9 +1731,9 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Menu: * Abstract File, set path, -abstract: ImageId. (line 66) -* ACL, record and load, --acl: SetExtras. (line 64) +* ACL, record and load, --acl: SetExtras. (line 71) * Application Id, set, -A, -appid: ImageId. (line 38) -* Backup, enable fidelity, --for_backup: SetExtras. (line 60) +* Backup, enable fidelity, --for_backup: SetExtras. (line 67) * Biblio File, set path, -biblio: ImageId. (line 72) * Block address, set sort weight, --sort-weight: SetProduct. (line 49) * Bootability, boot catalog hidden, --boot-catalog-hide: Bootable. @@ -1761,11 +1770,11 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character sets, _definition: Charset. (line 6) * Copyright File, set path, -copyright: ImageId. (line 77) * Deep directories, allow, -D, -disable-deep-relocation: SetExtras. - (line 24) + (line 31) * Deep directories, relocation target, -hide-rr-moved: SetExtras. - (line 57) + (line 64) * Deep directories, relocation target, -rr_reloc_dir: SetExtras. - (line 40) + (line 47) * Disk files, exclude, -hide-list: SetInsert. (line 51) * Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert. (line 35) @@ -1824,14 +1833,14 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Jigdo Template Extraction, -md5-list: Jigdo. (line 73) * Jigdo Template Extraction, _definition: Jigdo. (line 6) * Joliet, _definition: Standards. (line 21) -* Joliet, allows longer names, -joliet-long: SetExtras. (line 110) -* Joliet, enable, -J, -joliet: SetExtras. (line 103) +* Joliet, allows longer names, -joliet-long: SetExtras. (line 117) +* Joliet, enable, -J, -joliet: SetExtras. (line 110) * Links, follow on disk, -f, -follow-links: SetInsert. (line 24) -* Links, record and load hard links, --hardlinks: SetExtras. (line 85) +* Links, record and load hard links, --hardlinks: SetExtras. (line 92) * MBR, _definition: SystemArea. (line 10) * MBR, append partition, -append_partition: SystemArea. (line 86) * MBR, sectors per head, -partition_sec_hd: SystemArea. (line 58) -* MD5, record and load, --md5: SetExtras. (line 77) +* MD5, record and load, --md5: SetExtras. (line 84) * Message output, redirect stderr, -log-file: Miscellaneous. (line 28) * Message output, suppress, -quiet: Miscellaneous. (line 24) * Mountability, by non-trivial partition 1, -partition_offset: SystemArea. @@ -1841,7 +1850,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Padding, 300 KiB, -pad: SetProduct. (line 69) * Padding, disable, --old-empty: SetProduct. (line 81) * Padding, disable, -no-pad: SetProduct. (line 76) -* pathspec, _definition: Insert. (line 11) +* pathspec, _definition: Insert. (line 12) * pathspec, enable target=source, -graft-points: SetInsert. (line 31) * pathspec, read list of, --quoted_path_list: SetInsert. (line 13) * pathspec, read list of, -path-list: SetInsert. (line 8) @@ -1851,11 +1860,12 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Problems, reporting: Bugreport. (line 6) * Program version, report, -version: Miscellaneous. (line 39) * Publisher Id, set, -p, -publisher: ImageId. (line 30) -* Rock Ridge, (always enabled), -R, -rock: SetExtras. (line 8) +* Rock Ridge, (enabled by default), -R, -rock: SetExtras. (line 8) * Rock Ridge, _definition: Standards. (line 14) * Rock Ridge, altered owner and permission, -r, -rational-rock: SetExtras. - (line 15) -* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 94) + (line 16) +* Rock Ridge, disable production, --norock: SetExtras. (line 25) +* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 101) * Session, select path, -M, -prev-session, -dev: Loading. (line 11) * Session, set load and write address, -C, -cdrecord-params: Loading. (line 28) @@ -1867,7 +1877,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Verbosity, high, -v, -verbose: Miscellaneous. (line 33) * Volume Id, set, -V, -volid: ImageId. (line 13) * Volume Set Id, set, -volset: ImageId. (line 26) -* xattr, record and load, --xattr: SetExtras. (line 70) +* xattr, record and load, --xattr: SetExtras. (line 77) * xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, options: Options. (line 6) * zisofs file, enable recognition, -z, -transparent-compression: SetInsert. @@ -1879,34 +1889,34 @@ Tag Table: Node: Top397 Node: Overview1103 Node: Standards1541 -Node: Insert3218 -Node: Xorriso4990 -Node: Options6129 -Node: Loading6846 -Node: SetInsert9142 -Node: SetProduct13558 -Node: SetCompl17265 -Node: SetExtras19861 -Node: SetHide24593 -Node: ImageId25592 -Node: Bootable29097 -Node: SystemArea33162 -Node: Charset39496 -Node: Jigdo40522 -Node: Miscellaneous44789 -Node: Examples46162 -Node: ExSimple46648 -Node: ExGraft47127 -Node: ExMkisofs48374 -Node: ExGrowisofs49627 -Node: ExIncBackup50799 -Node: ExIncBckAcc53907 -Node: ExBootable55583 -Node: Files57675 -Node: Seealso58749 -Node: Bugreport59405 -Node: Legal59986 -Node: CommandIdx60801 -Node: ConceptIdx72857 +Node: Insert3245 +Node: Xorriso5083 +Node: Options6222 +Node: Loading6939 +Node: SetInsert9235 +Node: SetProduct13651 +Node: SetCompl17358 +Node: SetExtras19954 +Node: SetHide25027 +Node: ImageId26026 +Node: Bootable29531 +Node: SystemArea33596 +Node: Charset39930 +Node: Jigdo40956 +Node: Miscellaneous45223 +Node: Examples46596 +Node: ExSimple47082 +Node: ExGraft47561 +Node: ExMkisofs48808 +Node: ExGrowisofs50061 +Node: ExIncBackup51233 +Node: ExIncBckAcc54341 +Node: ExBootable56017 +Node: Files58109 +Node: Seealso59183 +Node: Bugreport59839 +Node: Legal60420 +Node: CommandIdx61235 +Node: ConceptIdx73364  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index 7118efd0..78495cea 100644 --- a/xorriso/xorrisofs.texi +++ b/xorriso/xorrisofs.texi @@ -50,7 +50,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 XORRISOFS 1 "Version 1.2.3, Apr 11, 2012" +@c man .TH XORRISOFS 1 "Version 1.2.3, May 22, 2012" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -148,8 +148,8 @@ with ownership, access permissions, symbolic links, and other attributes. Rock Ridge allows filenames of up to 255 bytes and paths of up to 1024 bytes. @* -Rock Ridge information is produced unconditionally with any @command{xorrisofs} -image. +xorrisofs produces Rock Ridge information by default. It is strongly +discouraged to disable this feature. @* @cindex Joliet, _definition @strong{Joliet} @@ -181,8 +181,9 @@ is a path to an object in the local filesystem tree. @* @cindex iso_rr_path, _definition @strong{iso_rr_path} -is the Rock Ridge address of a file object in the ISO image. (Do not -confuse with the lowlevel ISO 9660 names visible if Rock Ridge gets ignored.) +is the Rock Ridge address of a file object in the ISO image. +If no Rock Ridge information shall be stored in an emerging ISO, then the +names will get mapped to ISO 9660 names of limited length and character set. @cindex pathspec, _definition @* @sp 1 @@ -709,14 +710,15 @@ Alias of -N. @sp 1 @c man .TP @item -R -@kindex -R Rock Ridge (is always enabled) -@cindex Rock Ridge, (always enabled), -R, -rock +@kindex -R Rock Ridge (is enabled by default) +@cindex Rock Ridge, (enabled by default), -R, -rock @* With mkisofs this option enables Rock Ridge extensions. @command{xorrisofs} -produces them unconditionally. +produces them by default. It is strongly discouraged to disable them +by option @minus{}@minus{}norock. @c man .TP @item -rock -@kindex -rock Rock Ridge (is always enabled) +@kindex -rock Rock Ridge (is enabled by default) @* Alias of -R. @c man .TP @@ -733,6 +735,15 @@ Remove s-bit and t-bit. @kindex -rational-rock Rock Ridge with altered owner and permission Alias of -r. @c man .TP +@item @minus{}@minus{}norock +@kindex @minus{}@minus{}norock disable Rock Ridge production +@cindex Rock Ridge, disable production, @minus{}@minus{}norock +@* +This option disables the production of Rock Ridge extensions for the +ISO 9660 file objects. The multi-session capabilities of @command{xorrisofs} +depend much on the naming fidelity of Rock Ridge. So it is strongly +discouraged to disable it by this option. +@c man .TP @item -D @kindex -D allow deep directory hierachies @cindex Deep directories, allow, -D, -disable-deep-relocation