From 7847538099db5349975cb799f2d171436544ddb7 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 6 Jun 2012 18:48:26 +0000 Subject: [PATCH] Updated documentation of xorriso and xorrisofs about HFS+ --- libisoburn/trunk/xorriso/emulators.c | 20 +- libisoburn/trunk/xorriso/iso_manip.c | 1 + libisoburn/trunk/xorriso/opts_d_h.c | 10 +- libisoburn/trunk/xorriso/xorriso.1 | 105 ++++++- libisoburn/trunk/xorriso/xorriso.info | 285 ++++++++++++------- libisoburn/trunk/xorriso/xorriso.texi | 109 ++++++- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- libisoburn/trunk/xorriso/xorrisofs.1 | 62 +++- libisoburn/trunk/xorriso/xorrisofs.info | 134 +++++++-- libisoburn/trunk/xorriso/xorrisofs.texi | 77 ++++- 10 files changed, 624 insertions(+), 181 deletions(-) diff --git a/libisoburn/trunk/xorriso/emulators.c b/libisoburn/trunk/xorriso/emulators.c index 87d743b2..838ca190 100644 --- a/libisoburn/trunk/xorriso/emulators.c +++ b/libisoburn/trunk/xorriso/emulators.c @@ -720,18 +720,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -f, -follow-links Follow symbolic links", " -graft-points Allow to use graft points for filenames", " -help Print option help", -" -hide GLOBFILE Hide ISO9660/RR file", -" -hide-list FILE File with list of ISO9660/RR files to hide", -" -hide-joliet GLOBFILE Hide Joliet file", -" -hide-joliet-list FILE File with list of Joliet files to hide", - -#ifdef Xorriso_with_hfspluS - -/* >>> ts B20523 : To be activated when HFS+ works */ - " -hfsplus Generate HFS+ filesystem", -" -hide-hfsplus GLOBFILE Hide HFS+ file", -" -hide-hfsplus-list FILE File with list of HFS+ files to hide", " -hfsplus-file-creator-type CREATOR TYPE iso_rr_path", " Attach creator and type to a File", " -hfs-bless FOLDER_NAME Name of Folder to be blessed", @@ -739,9 +728,12 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " Bless ISO_RR_PATH by BLESS_TYPE {p,i,s,9,x}", " -hfsplus-serial-no HEXSTRING", " HFS serial number: 16 characters [0-9a-fA-F]", - -#endif - +" -hide GLOBFILE Hide ISO9660/RR file", +" -hide-list FILE File with list of ISO9660/RR files to hide", +" -hide-joliet GLOBFILE Hide Joliet file", +" -hide-joliet-list FILE File with list of Joliet files to hide", +" -hide-hfsplus GLOBFILE Hide HFS+ file", +" -hide-hfsplus-list FILE File with list of HFS+ 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) or 4 for ISO9660 version 2", diff --git a/libisoburn/trunk/xorriso/iso_manip.c b/libisoburn/trunk/xorriso/iso_manip.c index 667c7b21..3d332f16 100644 --- a/libisoburn/trunk/xorriso/iso_manip.c +++ b/libisoburn/trunk/xorriso/iso_manip.c @@ -3627,6 +3627,7 @@ int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path, Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); goto failure; } + Xorriso_set_change_pending(xorriso, 0); return(1); failure: diff --git a/libisoburn/trunk/xorriso/opts_d_h.c b/libisoburn/trunk/xorriso/opts_d_h.c index 5321661f..6f23c0ac 100644 --- a/libisoburn/trunk/xorriso/opts_d_h.c +++ b/libisoburn/trunk/xorriso/opts_d_h.c @@ -1588,6 +1588,8 @@ 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.", +" -hfsplus \"on\"|\"off\"", +" Generate a HFS+ partition and filesystem within ISO image.", " -rockridge \"on\"|\"off\"", " Opportunity to omit Rock Ridge info. (Do not do it !)", " -jigdo \"clear\"|\"template_path\"|\"jigdo_path\"|\"md5_path\"", @@ -1610,7 +1612,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " |\"load_size=\"|\"system_area=\"|\"partition_table=on|off\"", " |\"mips_path=\"|\"mipsel_path=\"|\"mips_discard\"", " |\"sparc_label=\"|\"sparc_discard\"", -" |\"show_status\"", +" |\"hfsplus_serial=\"|\"show_status\"", " Whether to discard or keep an exiting El Torito boot image.", " ISOLINUX can be made bootable by dir=/ or dir=/isolinux", " or dir=/boot/isolinux. Others, like GRUB, by bin_path=...", @@ -1749,8 +1751,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " access time, modification time, both times.", " -alter_date_r type timestring iso_rr_path [***]", " Like -alter_date but affecting all files below directories.", -" -hide on|iso_rr|joliet|off iso_rr_path [***]", -" Keep names of files out of directory tree, but store their", +" -hide on|iso_rr:joliet:hfsplus|off iso_rr_path [***]", +" Keep names of files out of directory trees, but store their", " data content in the image.", " -find iso_rr_path [test [op] [test ...]] [-exec action [params]]", " performs an action on files below the given directory in", @@ -1759,6 +1761,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -type b|c|d|p|f|l|s|e, -pending_data, -hidden,", " -lba_range start count, -damaged, -has_acl, -has_xattr,", " -has_aaip, -has_filter, -has_md5, -has_any_xattr,", +" -has_hfs_crtp, -has_hfs_bless,", " -prune, -decision yes|no, -true, -false", " Operators: -not, -or, -and, -sub, (, -subend, ),", " -if, -then, -elseif, -else, -endif", @@ -1767,6 +1770,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " rm, rm_r, compare, update, report_damage, report_lba,", " getfacl, setfacl, getfattr, setfattr, get_any_xattr,", " list_extattr, get_md5, check_md5, make_md5,", +" set_hfs_crtp, get_hfs_crtp, set_hfs_bless, get_hfs_bless,", " set_filter, show_stream, mkisofs_r, hide, find.", " params are their parameters except iso_rr_path.", " -mkdir iso_rr_path [...]", diff --git a/libisoburn/trunk/xorriso/xorriso.1 b/libisoburn/trunk/xorriso/xorriso.1 index 067fa26c..f0251430 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 "Version 1.2.3, Mai 22, 2012" +.TH XORRISO 1 "Version 1.2.3, Jun 06, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -1580,7 +1580,7 @@ Like \-alter_date but affecting all files below eventual directories. .TP \fB\-hide\fR hide_state iso_rr_path [***] Prevent the names of the given files from showing up in the directory trees -of ISO 9660 and/or Joliet when the image gets written. +of ISO 9660 and/or Joliet and/or HFS+ when the image gets written. The data content of such hidden files will be included in the resulting image, even if they do not show up in any directory. But you will need own means to find nameless data in the image. @@ -1589,8 +1589,11 @@ Warning: Data which are hidden from the ISO 9660 tree will not be copied by the write method of modifying. .br Possible values of hide_state are: "iso_rr" for hiding from ISO 9660 tree, -"joliet" for Joliet tree, "on" for both trees. "off" means visibility in -both directory trees. +"joliet" for Joliet tree, "hfsplus" for HFS+, "on" for them all. +"off" means visibility in all directory trees. +.br +These values may be combined. +E.g.: joliet:hfsplus .br This command does not apply to the boot catalog. Rather use: \-boot_image "any" "cat_hidden=on" @@ -1661,12 +1664,31 @@ Matches files which have any xattr other than ACL. \fB\-has_md5\fR : Matches data files which have MD5 checksums. .br +\fB\-has_hfs_crtp\fR creator type : +Matches files which have the given HFS+ creator and type attached. +These are codes of 4 characters which may get stored if \-hfsplus is +enabled. Use a single dash '\-' as wildcard that matches any such code. +E.g:. +.br + \-has_hfs_crtp YYDN TEXT +.br + \-has_hfs_crtp \- \- +.br +\fB\-has_hfs_bless\fR blessing : +Matches files which bear the given HFS+ blessing. It may be one of : +"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder", +"any". See also action set_hfs_bless. +.br +Note that HFS+ information is not read with loaded images. So above two tests +are useful only for listing effective settings before a new image gets written. +.br \fB\-has_filter\fR : Matches files which are filtered by \-set_filter. .br \fB\-hidden\fR hide_state : Matches files which are hidden in "iso_rr" tree, in "joliet" tree, -in both trees ("on"), or not hidden in any tree ("off"). +in "hfsplus" tree, in all trees ("on"), or not hidden in any tree ("off"). +.br Those which are hidden in some tree match \-not \-hidden "off". .br \fB\-prune\fR : @@ -1852,6 +1874,44 @@ sets or deletes xattr name value pairs. .br E.g.: \-find / \-has_xattr \-exec setfattr \-\-remove\-all '' \-\- .br +\fBset_hfs_crtp\fR +adds, changes, or removes HFS+ creator and type attributes. +.br +E.g.: \-exec set_hfs_crtp YYDN TEXT +.br +E.g.: \-find /my/dir \-prune \-exec set_hfs_crtp \-\-delete \- +.br +\fBset_hfs_bless\fR +applies or removes HFS+ blessings. They are roles which can be attributed to +up to four directories and a data file: +.br +"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder". +.br +They may be abbreviated as "p", "i", "s", "9", and "x". +.br +Each such role can be attributed to at most one file object. "intel_bootfile" +is the one that would apply to a data file. All others apply to directories. +The \-find run will end as soon as the first blessing is issued. The previous +bearer of the blessing will lose it then. +No file object can bear more than one blessing. +.br +E.g.: \-find /my/blessed/directory \-exec set_hfs_bless p +.br +\fBget_hfs_crtp\fR +prints the HFS+ creator and type attributes together with the iso_rr_path, +if the file has such attributes at all. +.br +E.g.: \-exec get_hfs_crtp +.br +\fBget_hfs_bless\fR +prints the HFS+ blessing role and the iso_rr_path, if the file is blessed +at all. +.br +E.g.: \-exec get_hfs_bless +.br +Note that HFS+ information is not read with loaded images. So above two actions +are useful only for listing effective settings before a new image gets written. +.br \fBset_filter\fR applies or removes filters. .br @@ -1879,7 +1939,8 @@ E.g.: \-exec sort_weight 3 \-\- shows the content stream chain of a data file. .br \fBhide\fR -brings the file into one of the hide states "on", "iso_rr", "joliet", "off". +brings the file into one of the hide states "on", "iso_rr", "joliet", +"hfsplus", "off". They may be combined. E.g.: joliet:hfsplus .br E.g.: .br @@ -2203,6 +2264,25 @@ ACLs will be written according to the setting of command \-acl. If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge tree. .TP +\fB\-hfsplus\fR "on"|"off" +If enabled by "on", generate a HFS+ filesystem inside the ISO 9660 image +and mark it by Apple Partition Map (APM) entries in the System Area, +the first 32 KiB of the image. +.br +This may collide with data submitted by \-boot_image system_area=. +The first 8 bytes of the System Area get overwritten by +{ 0x45, 0x52, 0x08 0x00, 0xeb, 0x02, 0xff, 0xff } +which can be executed as x86 machine code without negative effects. +So if an MBR gets combined with this feature, then its first 8 bytes +should contain no essential commands. +.br +The next blocks of 2 KiB in the System Area will be occupied by APM entries. +The first one covers the part of the ISO image before the HFS+ filesystem +metadata. The second one marks the range from HFS+ metadata to the end +of file content data. If more ISO image data follow, then a third partition +entry gets produced. Other features of xorriso might cause the need for +more APM entries. +.TP \fB\-rockridge\fR "on"|"off" Mode "off" disables production of Rock Ridge information for the ISO 9660 file objects. The multi\-session capabilities of xorriso depend much on the naming @@ -2620,7 +2700,7 @@ For ISOLINUX : \-boot_image "isolinux" "patch" and their designated fate. .br -A \fBbootspec\fR is a word of the form name=valuei. It is used to describe +A \fBbootspec\fR is a word of the form name=value. It is used to describe the parameters of a boot image by an El Torito record or a MBR. The names "dir", "bin_path", "efi_path" lead to El Torito bootable images. Name "system_area" activates a given file as MBR. @@ -2654,7 +2734,7 @@ a file with the same name. The catalog lists the boot images and is read by the boot facility to choose one of the boot images. But it is not necessary that it appears in the directory tree at all. One may hide it in all trees by \fBcat_hidden=on\fR. -Other possible values are "iso_rr", "joliet", and the default "off". +Other possible values are "iso_rr", "joliet", "hfsplus", and the default "off". .br \fBbin_path=\fR depicts a boot image file, a binary program which is to be started by the hardware boot facility (e.g. the BIOS) at boot time. @@ -2788,6 +2868,9 @@ declarations made by mips_path= or mipsel_path=. They also disable production of SUN Disk Label. This removes the ban on production of other boot blocks. .br +\fBhfsplus_serial=\fRhexstring sets a string of 16 digits "0" to "9" +and letters "a" to "f", which will be used as unique serial number of +an emerging HFS+ filesystem. .br .TP \fB\-append_partition\fR partition_number type_code disk_path @@ -3340,8 +3423,9 @@ The output format resembles shell command ls \-ln. File type 'e' indicates the El Torito boot catalog. .br If the file has non\-trivial ACL, then a '+' is appended to the permission info. -If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", resp. 'H' for -"on" gets appended. Together with ACL it is 'i', 'j', resp. 'h'. +If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' +for "hfsplus", resp. 'H' for multiple hiding gets appended. +Together with ACL it is 'i', 'j', 'a', resp. 'h'. .TP \fB\-lsdl\fR iso_rr_pattern [***] Like \-lsd but also list some of the file attributes. @@ -4896,6 +4980,7 @@ same license. .SH CREDITS \fBxorriso\fR is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. +Vladimir Serbinenko contributed the HFS+ filesystem code and related knowledge. Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman and Ben Jansens who once founded libburn. .br diff --git a/libisoburn/trunk/xorriso/xorriso.info b/libisoburn/trunk/xorriso/xorriso.info index d7da1041..8ac4e022 100644 --- a/libisoburn/trunk/xorriso/xorriso.info +++ b/libisoburn/trunk/xorriso/xorriso.info @@ -1436,16 +1436,17 @@ whether they stem from the loaded image or were newly inserted. -hide hide_state iso_rr_path [***] Prevent the names of the given files from showing up in the - directory trees of ISO 9660 and/or Joliet when the image gets - written. The data content of such hidden files will be included - in the resulting image, even if they do not show up in any - directory. But you will need own means to find nameless data in - the image. + directory trees of ISO 9660 and/or Joliet and/or HFS+ when the + image gets written. The data content of such hidden files will be + included in the resulting image, even if they do not show up in + any directory. But you will need own means to find nameless data + in the image. Warning: Data which are hidden from the ISO 9660 tree will not be copied by the write method of modifying. Possible values of hide_state are: "iso_rr" for hiding from ISO - 9660 tree, "joliet" for Joliet tree, "on" for both trees. "off" - means visibility in both directory trees. + 9660 tree, "joliet" for Joliet tree, "hfsplus" for HFS+, "on" for + them all. "off" means visibility in all directory trees. + These values may be combined. E.g.: joliet:hfsplus This command does not apply to the boot catalog. Rather use: -boot_image "any" "cat_hidden=on" @@ -1507,11 +1508,27 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options Matches files which have any xattr other than ACL. -has_md5 : Matches data files which have MD5 checksums. + -has_hfs_crtp creator type : + Matches files which have the given HFS+ creator and type + attached. These are codes of 4 characters which may get + stored if -hfsplus is enabled. Use a single dash '-' as + wildcard that matches any such code. E.g:. + -has_hfs_crtp YYDN TEXT + -has_hfs_crtp - - + -has_hfs_bless blessing : + Matches files which bear the given HFS+ blessing. It may be + one of : "ppc_bootdir", "intel_bootfile", "show_folder", + "os9_folder", "osx_folder", "any". See also action + set_hfs_bless. + Note that HFS+ information is not read with loaded images. So + above two tests are useful only for listing effective + settings before a new image gets written. -has_filter : Matches files which are filtered by -set_filter. -hidden hide_state : Matches files which are hidden in "iso_rr" tree, in "joliet" - tree, in both trees ("on"), or not hidden in any tree ("off"). + tree, in "hfsplus" tree, in all trees ("on"), or not hidden + in any tree ("off"). Those which are hidden in some tree match -not -hidden "off". -prune : If this test is reached and the tested file is a directory @@ -1662,6 +1679,34 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options setfattr sets or deletes xattr name value pairs. E.g.: -find / -has_xattr -exec setfattr --remove-all " -- + set_hfs_crtp + adds, changes, or removes HFS+ creator and type attributes. + E.g.: -exec set_hfs_crtp YYDN TEXT + E.g.: -find /my/dir -prune -exec set_hfs_crtp -delete - + set_hfs_bless + applies or removes HFS+ blessings. They are roles which can + be attributed to up to four directories and a data file: + "ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", + "osx_folder". + They may be abbreviated as "p", "i", "s", "9", and "x". + Each such role can be attributed to at most one file object. + "intel_bootfile" is the one that would apply to a data file. + All others apply to directories. The -find run will end as + soon as the first blessing is issued. The previous bearer of + the blessing will lose it then. No file object can bear more + than one blessing. + E.g.: -find /my/blessed/directory -exec set_hfs_bless p + get_hfs_crtp + prints the HFS+ creator and type attributes together with the + iso_rr_path, if the file has such attributes at all. + E.g.: -exec get_hfs_crtp + get_hfs_bless + prints the HFS+ blessing role and the iso_rr_path, if the + file is blessed at all. + E.g.: -exec get_hfs_bless + Note that HFS+ information is not read with loaded images. So + above two actions are useful only for listing effective + settings before a new image gets written. set_filter applies or removes filters. E.g.: -exec set_filter --zisofs -- @@ -1683,7 +1728,8 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options shows the content stream chain of a data file. hide brings the file into one of the hide states "on", "iso_rr", - "joliet", "off". + "joliet", "hfsplus", "off". They may be combined. E.g.: + joliet:hfsplus E.g.: -find / -disk_name *_secret -exec hide on estimate_size @@ -1973,6 +2019,24 @@ according to the setting of command -acl. If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge tree. +-hfsplus "on"|"off" + If enabled by "on", generate a HFS+ filesystem inside the ISO 9660 + image and mark it by Apple Partition Map (APM) entries in the + System Area, the first 32 KiB of the image. + This may collide with data submitted by -boot_image system_area=. + The first 8 bytes of the System Area get overwritten by { 0x45, + 0x52, 0x08 0x00, 0xeb, 0x02, 0xff, 0xff } which can be executed as + x86 machine code without negative effects. So if an MBR gets + combined with this feature, then its first 8 bytes should contain + no essential commands. + The next blocks of 2 KiB in the System Area will be occupied by + APM entries. The first one covers the part of the ISO image + before the HFS+ filesystem metadata. The second one marks the + range from HFS+ metadata to the end of file content data. If more + ISO image data follow, then a third partition entry gets produced. + Other features of xorriso might cause the need for more APM + entries. + -rockridge "on"|"off" Mode "off" disables production of Rock Ridge information for the ISO 9660 file objects. The multi-session capabilities of xorriso @@ -2330,7 +2394,7 @@ filesystem and announced by an MBR partition table entry. *show_status* will print what is known about the loaded boot images and their designated fate. - A *bootspec* is a word of the form name=valuei. It is used to + A *bootspec* is a word of the form name=value. It is used to describe the parameters of a boot image by an El Torito record or a MBR. The names "dir", "bin_path", "efi_path" lead to El Torito bootable images. Name "system_area" activates a given file as MBR. @@ -2357,7 +2421,7 @@ filesystem and announced by an MBR partition table entry. by the boot facility to choose one of the boot images. But it is not necessary that it appears in the directory tree at all. One may hide it in all trees by *cat_hidden=on*. Other possible - values are "iso_rr", "joliet", and the default "off". + values are "iso_rr", "joliet", "hfsplus", and the default "off". *bin_path=* depicts a boot image file, a binary program which is to be started by the hardware boot facility (e.g. the BIOS) at boot time. @@ -2470,6 +2534,9 @@ filesystem and announced by an MBR partition table entry. declarations made by mips_path= or mipsel_path=. They also disable production of SUN Disk Label. This removes the ban on production of other boot blocks. + *hfsplus_serial=*hexstring sets a string of 16 digits "0" to "9" + and letters "a" to "f", which will be used as unique serial number + of an emerging HFS+ filesystem. -append_partition partition_number type_code disk_path @@ -2943,8 +3010,8 @@ File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Options File type 'e' indicates the El Torito boot catalog. If the file has non-trivial ACL, then a '+' is appended to the permission info. If the file is hidden, then 'I' for "iso_rr", - 'J' for "joliet", resp. 'H' for "on" gets appended. Together with - ACL it is 'i', 'j', resp. 'h'. + 'J' for "joliet", 'A' for "hfsplus", resp. 'H' for multiple hiding + gets appended. Together with ACL it is 'i', 'j', 'a', resp. 'h'. -lsdl iso_rr_pattern [***] Like -lsd but also list some of the file attributes. The output @@ -4357,8 +4424,9 @@ you are entitled to modify this text under that same license. `xorriso' is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. -Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman -and Ben Jansens who once founded libburn. +Vladimir Serbinenko contributed the HFS+ filesystem code and related +knowledge. Thanks to Andy Polyakov who invented emulated growing, to +Derek Foreman and Ben Jansens who once founded libburn. Compliments towards Joerg Schilling whose cdrtools served me for ten years. @@ -4373,21 +4441,21 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * # starts a comment line: Scripting. (line 162) * -abort_on controls abort on error: Exception. (line 27) -* -abstract_file sets abstract file name: SetWrite. (line 193) +* -abstract_file sets abstract file name: SetWrite. (line 211) * -acl controls handling of ACLs: Loading. (line 143) * -add inserts one or more paths: Insert. (line 45) * -add_plainly inserts one or more paths: Insert. (line 64) * -alter_date sets timestamps in ISO image: Manip. (line 147) * -alter_date_r sets timestamps in ISO image: Manip. (line 167) * -append_partition adds arbitrary file after image end: Bootable. - (line 199) -* -application_id sets application id: SetWrite. (line 152) + (line 202) +* -application_id sets application id: SetWrite. (line 170) * -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 98) * -backslash_codes enables backslash conversion: Scripting. (line 67) * -ban_stdio_write demands real drive: Loading. (line 247) -* -biblio_file sets biblio file name: SetWrite. (line 200) +* -biblio_file sets biblio file name: SetWrite. (line 218) * -blank erases media: Writing. (line 61) * -boot_image controls bootability: Bootable. (line 26) * -calm_drive reduces drive activity: Loading. (line 236) @@ -4406,7 +4474,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -chown sets ownership in ISO image: Manip. (line 42) * -chown_r sets ownership in ISO image: Manip. (line 47) * -clone copies ISO directory tree: Insert. (line 174) -* -close controls media closing: SetWrite. (line 295) +* -close controls media closing: SetWrite. (line 313) * -close_damaged closes damaged track and session: Writing. (line 152) * -close_filter_list bans filter registration: Filter. (line 52) * -commit writes pending ISO image: Writing. (line 29) @@ -4414,8 +4482,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -compare reports ISO/disk differences: Navigate. (line 146) * -compare_l reports ISO/disk differences: Navigate. (line 164) * -compare_r reports ISO/disk differences: Navigate. (line 159) -* -compliance controls standard compliance: SetWrite. (line 20) -* -copyright_file sets copyright file name: SetWrite. (line 187) +* -compliance controls standard compliance: SetWrite. (line 38) +* -copyright_file sets copyright file name: SetWrite. (line 205) * -cp_clone copies ISO directory tree: Insert. (line 186) * -cp_rx copies file trees to disk: Restore. (line 108) * -cpax copies files to disk: Restore. (line 104) @@ -4433,11 +4501,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top (line 36) * -drive_class controls drive accessability: Loading. (line 54) * -du show directory size in ISO image: Navigate. (line 89) -* -dummy controls write simulation: SetWrite. (line 284) +* -dummy controls write simulation: SetWrite. (line 302) * -dus show directory size in ISO image: Navigate. (line 93) * -dusx show directory size on disk: Navigate. (line 102) * -dux show directory size on disk: Navigate. (line 97) -* -dvd_obs set write block size: SetWrite. (line 271) +* -dvd_obs set write block size: SetWrite. (line 289) * -early_stdio_test classifies stdio drives: Loading. (line 252) * -eject ejects drive tray: Writing. (line 52) * -end writes pending session and ends program: Scripting. (line 156) @@ -4455,15 +4523,16 @@ 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 185) * -format formats media: Writing. (line 88) -* -fs sets size of fifo: SetWrite. (line 288) +* -fs sets size of fifo: SetWrite. (line 306) * -getfacl shows ACL in ISO image: Navigate. (line 70) * -getfacl_r shows ACL in ISO image: Navigate. (line 77) * -getfattr shows xattr in ISO image: Navigate. (line 81) * -getfattr_r shows xattr in ISO image: Navigate. (line 85) -* -gid sets global ownership: SetWrite. (line 228) +* -gid sets global ownership: SetWrite. (line 246) * -grow_blindly overides next writeable address: AqDrive. (line 46) * -hardlinks controls handling of hard links: Loading. (line 110) * -help prints help text: Scripting. (line 20) +* -hfsplus enables production of HFS+ partition: SetWrite. (line 14) * -hide excludes file names from directory trees: Manip. (line 171) * -history brings text into readline history: Scripting. (line 44) * -in_charset sets input character set: Loading. (line 92) @@ -4506,17 +4575,17 @@ 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 218) +* -out_charset sets output character set: SetWrite. (line 236) * -outdev acquires a drive for output: AqDrive. (line 31) * -overwrite enables overwriting in ISO: SetInsert. (line 127) * -pacifier controls pacifier text form: Emulation. (line 158) -* -padding sets amount or mode of image padding: SetWrite. (line 301) +* -padding sets amount or mode of image padding: SetWrite. (line 319) * -page set terminal geometry: DialogCtl. (line 19) * -paste_in copies file into disk file: Restore. (line 121) * -path_list inserts paths from disk file: Insert. (line 78) * -pathspecs sets meaning of = with -add: SetInsert. (line 118) * -pkt_output consolidates text output: Frontend. (line 7) -* -preparer_id sets preparer id: SetWrite. (line 206) +* -preparer_id sets preparer id: SetWrite. (line 224) * -print prints result text line: Scripting. (line 99) * -print_info prints message text line: Scripting. (line 102) * -print_mark prints synchronizing text line: Scripting. (line 105) @@ -4524,7 +4593,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -prog sets program name: Frontend. (line 30) * -prog_help prints help text: Frontend. (line 33) * -prompt prompts for enter key: Scripting. (line 110) -* -publisher sets publisher id: SetWrite. (line 146) +* -publisher sets publisher id: SetWrite. (line 164) * -pvd_info shows image id strings: Inquiry. (line 93) * -pwd tells working directory in ISO: Navigate. (line 20) * -pwdx tells working directory on disk: Navigate. (line 23) @@ -4539,12 +4608,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -rm_r deletes trees from ISO image: Manip. (line 28) * -rmdir deletes ISO directory: Manip. (line 32) * -rockridge disables production of Rock Ridge info: SetWrite. - (line 14) + (line 32) * -rollback discards pending changes: Writing. (line 9) * -rollback_end ends program without writing: Scripting. (line 159) * -rom_toc_scan searches for sessions: Loading. (line 211) * -rr_reloc_dir sets name of relocation directory: SetWrite. - (line 103) + (line 121) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168) * -scsi_log reports SCSI commands: Scripting. (line 147) * -session_log logs written sessions: Scripting. (line 138) @@ -4562,29 +4631,29 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -signal_handling controls handling of system signals: Exception. (line 69) * -sleep waits for a given time span: Scripting. (line 114) -* -speed set write speed: SetWrite. (line 244) +* -speed set write speed: SetWrite. (line 262) * -split_size enables large file splitting: SetInsert. (line 140) * -status shows current settings: Scripting. (line 47) * -status_history_max curbs -status history: Scripting. (line 56) -* -stdio_sync controls stdio buffer: SetWrite. (line 278) -* -stream_recording controls defect management: SetWrite. (line 259) -* -system_id sets system id: SetWrite. (line 161) +* -stdio_sync controls stdio buffer: SetWrite. (line 296) +* -stream_recording controls defect management: SetWrite. (line 277) +* -system_id sets system id: SetWrite. (line 179) * -tell_media_space reports free space: Inquiry. (line 89) * -temp_mem_limit curbs memory consumption: Scripting. (line 92) * -toc shows list of sessions: Inquiry. (line 28) -* -uid sets global ownership: SetWrite. (line 224) +* -uid sets global ownership: SetWrite. (line 242) * -update inserts path if different: Insert. (line 102) * -update_l inserts paths if different: Insert. (line 124) * -update_r inserts paths if different: Insert. (line 113) * -use_readline enables readline for dialog: DialogCtl. (line 28) * -version prints help text: Scripting. (line 23) -* -volid sets volume id: SetWrite. (line 122) -* -volset_id sets volume set id: SetWrite. (line 141) -* -volume_date sets volume timestamp: SetWrite. (line 168) +* -volid sets volume id: SetWrite. (line 140) +* -volset_id sets volume set id: SetWrite. (line 159) +* -volume_date sets volume timestamp: SetWrite. (line 186) * -x enables automatic execution order of arguments: ArgSort. (line 16) * -xattr controls handling of xattr (EA): Loading. (line 151) -* -zisofs controls zisofs production: SetWrite. (line 232) +* -zisofs controls zisofs production: SetWrite. (line 250)  File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -4603,7 +4672,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * ACL, show in ISO image, -getfacl: Navigate. (line 70) * ACL, show in ISO image, -getfacl_r: Navigate. (line 77) * Appendable media, _definition: Media. (line 38) -* Appended Filesystem Image, -append_partition: Bootable. (line 199) +* Appended Filesystem Image, -append_partition: Bootable. (line 202) * Automatic execution order, of arguments, -x: ArgSort. (line 16) * Backslash Interpretation, _definition: Processing. (line 52) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 190) @@ -4617,7 +4686,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 218) +* Character Set, for output, -out_charset: SetWrite. (line 236) * Character set, learn from image, -auto_charset: Loading. (line 98) * Character Set, of terminal, -local_charset: Charset. (line 47) * Closed media, _definition: Media. (line 43) @@ -4672,28 +4741,29 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Filter, show chain, -show_stream: Navigate. (line 169) * Filter, show chains of tree, -show_stream_r: Navigate. (line 183) * Filter, unregister, -unregister_filter: Filter. (line 48) -* Filter, zisofs parameters, -zisofs: SetWrite. (line 232) -* Group, global in ISO image, -gid: SetWrite. (line 228) +* Filter, zisofs parameters, -zisofs: SetWrite. (line 250) +* Group, global in ISO image, -gid: SetWrite. (line 246) * Group, in ISO image, -chgrp: Manip. (line 50) * Group, in ISO image, -chgrp_r: Manip. (line 55) * Growing, _definition: Methods. (line 19) * Hard links, control handling, -hardlinks: Loading. (line 110) +* HFS+ serial number: Bootable. (line 196) * hidden, set in ISO image, -hide: Manip. (line 171) * Image reading, cache size, -data_cache_size: Loading. (line 265) * Image, _definition: Model. (line 9) * Image, demand volume id, -assert_volid: Loading. (line 84) * Image, discard pending changes, -rollback: Writing. (line 9) * Image, override change status, -changes_pending: Writing. (line 13) -* Image, set abstract file name, -abstract_file: SetWrite. (line 193) -* Image, set application id, -application_id: SetWrite. (line 152) -* Image, set biblio file name, -biblio_file: SetWrite. (line 200) -* Image, set copyright file name, -copyright_file: SetWrite. (line 187) -* Image, set preparer id, -preparer_id: SetWrite. (line 206) -* Image, set publisher id, -publisher: SetWrite. (line 146) -* Image, set system id, -system_id: SetWrite. (line 161) -* Image, set volume id, -volid: SetWrite. (line 122) -* Image, set volume set id, -volset_id: SetWrite. (line 141) -* Image, set volume timestamp, -volume_date: SetWrite. (line 168) +* Image, set abstract file name, -abstract_file: SetWrite. (line 211) +* Image, set application id, -application_id: SetWrite. (line 170) +* Image, set biblio file name, -biblio_file: SetWrite. (line 218) +* Image, set copyright file name, -copyright_file: SetWrite. (line 205) +* Image, set preparer id, -preparer_id: SetWrite. (line 224) +* Image, set publisher id, -publisher: SetWrite. (line 164) +* Image, set system id, -system_id: SetWrite. (line 179) +* Image, set volume id, -volid: SetWrite. (line 140) +* Image, set volume set id, -volset_id: SetWrite. (line 159) +* Image, set volume timestamp, -volume_date: SetWrite. (line 186) * Image, show id strings, -pvd_info: Inquiry. (line 93) * Insert, enable overwriting, -overwrite: SetInsert. (line 127) * Insert, file exclusion absolute, -not_paths: SetInsert. (line 55) @@ -4752,7 +4822,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 46) * Overwriteable media, _definition: Media. (line 14) -* Ownership, global in ISO image, -uid: SetWrite. (line 224) +* Ownership, global in ISO image, -uid: SetWrite. (line 242) * Ownership, in ISO image, -chown: Manip. (line 42) * Ownership, in ISO image, -chown_r: Manip. (line 47) * Partition offset, _definition: Bootable. (line 146) @@ -4795,7 +4865,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Program, wait a time span, -sleep: Scripting. (line 114) * Quoted input, _definition: Processing. (line 46) * Recovery, retrieve blocks, -check_media: Verify. (line 21) -* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 103) +* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 121) * Rename, in ISO image, -mv: Manip. (line 35) * Restore, copy file into disk file, -paste_in: Restore. (line 121) * Restore, copy file piece to disk, -extract_cut: Restore. (line 81) @@ -4817,7 +4887,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Session, select as input, -load: Loading. (line 11) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27) * SUN Disk Label, production: Bootable. (line 187) -* SUN SPARC boot images, activation: Bootable. (line 220) +* SUN SPARC boot images, activation: Bootable. (line 223) * System area, _definition: Bootable. (line 121) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 211) * Table-of-content, show, -toc: Inquiry. (line 28) @@ -4832,23 +4902,24 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Verify, file checksum, -check_md5: Verify. (line 153) * Verify, file tree checksums, -check_md5_r: Verify. (line 169) * Verify, preset -check_media, -check_media_defaults: Verify. (line 41) -* Write, block size, -dvd_obs: SetWrite. (line 271) +* Write, block size, -dvd_obs: SetWrite. (line 289) * Write, bootability, -boot_image: Bootable. (line 26) -* Write, buffer syncing, -stdio_sync: SetWrite. (line 278) -* Write, close media, -close: SetWrite. (line 295) -* Write, compliance to specs, -compliance: SetWrite. (line 20) -* Write, defect management, -stream_recording: SetWrite. (line 259) -* Write, disable Rock Ridge, -rockridge: SetWrite. (line 14) +* Write, buffer syncing, -stdio_sync: SetWrite. (line 296) +* Write, close media, -close: SetWrite. (line 313) +* Write, compliance to specs, -compliance: SetWrite. (line 38) +* Write, defect management, -stream_recording: SetWrite. (line 277) +* Write, disable Rock Ridge, -rockridge: SetWrite. (line 32) +* Write, enable HFS+, -hfsplus: SetWrite. (line 14) * Write, enable Joliet, -joliet: SetWrite. (line 10) -* Write, fifo size, -fs: SetWrite. (line 288) +* Write, fifo size, -fs: SetWrite. (line 306) * Write, free space, -tell_media_space: Inquiry. (line 89) * Write, log problematic disk files, -errfile_log: Scripting. (line 118) * Write, log written sessions, -session_log: Scripting. (line 138) -* Write, padding image, -padding: SetWrite. (line 301) +* Write, padding image, -padding: SetWrite. (line 319) * Write, pending ISO image, -commit: Writing. (line 29) * Write, predict image size, -print_size: Inquiry. (line 80) -* Write, set speed, -speed: SetWrite. (line 244) -* Write, simulation, -dummy: SetWrite. (line 284) +* Write, set speed, -speed: SetWrite. (line 262) +* Write, simulation, -dummy: SetWrite. (line 302) * xattr, _definition: Extras. (line 54) * xattr, control handling, -xattr: Loading. (line 151) * xattr, set in ISO image, -setfattr: Manip. (line 111) @@ -4876,44 +4947,44 @@ Node: Loading30002 Node: Insert45211 Node: SetInsert55127 Node: Manip63703 -Node: CmdFind72439 -Node: Filter84548 -Node: Writing89103 -Node: SetWrite98067 -Node: Bootable114001 -Node: Jigdo127223 -Node: Charset131469 -Node: Exception134230 -Node: DialogCtl140349 -Node: Inquiry142946 -Node: Navigate147812 -Node: Verify156073 -Node: Restore165039 -Node: Emulation171948 -Node: Scripting181759 -Node: Frontend188919 -Node: Examples190219 -Node: ExDevices191396 -Node: ExCreate192055 -Node: ExDialog193340 -Node: ExGrowing194605 -Node: ExModifying195410 -Node: ExBootable195914 -Node: ExCharset196466 -Node: ExPseudo197287 -Node: ExCdrecord198185 -Node: ExMkisofs198502 -Node: ExGrowisofs199842 -Node: ExException200977 -Node: ExTime201431 -Node: ExIncBackup201890 -Node: ExRestore205881 -Node: ExRecovery206841 -Node: Files207411 -Node: Seealso208710 -Node: Bugreport209433 -Node: Legal210014 -Node: CommandIdx210944 -Node: ConceptIdx226670 +Node: CmdFind72526 +Node: Filter87015 +Node: Writing91570 +Node: SetWrite100534 +Node: Bootable117479 +Node: Jigdo130890 +Node: Charset135136 +Node: Exception137897 +Node: DialogCtl144016 +Node: Inquiry146613 +Node: Navigate151479 +Node: Verify159776 +Node: Restore168742 +Node: Emulation175651 +Node: Scripting185462 +Node: Frontend192622 +Node: Examples193922 +Node: ExDevices195099 +Node: ExCreate195758 +Node: ExDialog197043 +Node: ExGrowing198308 +Node: ExModifying199113 +Node: ExBootable199617 +Node: ExCharset200169 +Node: ExPseudo200990 +Node: ExCdrecord201888 +Node: ExMkisofs202205 +Node: ExGrowisofs203545 +Node: ExException204680 +Node: ExTime205134 +Node: ExIncBackup205593 +Node: ExRestore209584 +Node: ExRecovery210544 +Node: Files211114 +Node: Seealso212413 +Node: Bugreport213136 +Node: Legal213717 +Node: CommandIdx214728 +Node: ConceptIdx230527  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorriso.texi b/libisoburn/trunk/xorriso/xorriso.texi index 917de127..3161c96c 100644 --- a/libisoburn/trunk/xorriso/xorriso.texi +++ b/libisoburn/trunk/xorriso/xorriso.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 XORRISO 1 "Version 1.2.3, Mai 22, 2012" +@c man .TH XORRISO 1 "Version 1.2.3, Jun 06, 2012" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -1943,7 +1943,7 @@ Like -alter_date but affecting all files below eventual directories. @kindex -hide excludes file names from directory trees @cindex hidden, set in ISO image, -hide Prevent the names of the given files from showing up in the directory trees -of ISO 9660 and/or Joliet when the image gets written. +of ISO 9660 and/or Joliet and/or HFS+ when the image gets written. The data content of such hidden files will be included in the resulting image, even if they do not show up in any directory. But you will need own means to find nameless data in the image. @@ -1952,8 +1952,11 @@ Warning: Data which are hidden from the ISO 9660 tree will not be copied by the write method of modifying. @* Possible values of hide_state are: "iso_rr" for hiding from ISO 9660 tree, -"joliet" for Joliet tree, "on" for both trees. "off" means visibility in -both directory trees. +"joliet" for Joliet tree, "hfsplus" for HFS+, "on" for them all. +"off" means visibility in all directory trees. +@* +These values may be combined. +E.g.: joliet:hfsplus @* This command does not apply to the boot catalog. Rather use: -boot_image "any" "cat_hidden=on" @@ -2032,12 +2035,31 @@ Matches files which have any xattr other than ACL. @item -has_md5 : Matches data files which have MD5 checksums. @* +@item -has_hfs_crtp creator type : +Matches files which have the given HFS+ creator and type attached. +These are codes of 4 characters which get stored if -hfsplus is +enabled. Use a single dash '-' as wildcard that matches any such code. +E.g:. +@* + -has_hfs_crtp YYDN TEXT +@* + -has_hfs_crtp - - +@* +@item -has_hfs_bless blessing : +Matches files which bear the given HFS+ blessing. It may be one of : +"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder", +"any". See also action set_hfs_bless. +@* +Note that HFS+ information is not read with loaded images. So above two tests +are useful only for listing effective settings before a new image gets written. +@* @item -has_filter : Matches files which are filtered by -set_filter. @* @item -hidden hide_state : Matches files which are hidden in "iso_rr" tree, in "joliet" tree, -in both trees ("on"), or not hidden in any tree ("off"). +in "hfsplus" tree, in all trees ("on"), or not hidden in any tree ("off"). +@* Those which are hidden in some tree match -not -hidden "off". @* @item -prune : @@ -2241,6 +2263,44 @@ sets or deletes xattr name value pairs. @* E.g.: -find / -has_xattr -exec setfattr @minus{}@minus{}remove-all '' @minus{}@minus{} @* +@item set_hfs_crtp +adds, changes, or removes HFS+ creator and type attributes. +@* +E.g.: -exec set_hfs_crtp YYDN TEXT +@* +E.g.: -find /my/dir -prune -exec set_hfs_crtp --delete - +@* +@item set_hfs_bless +applies or removes HFS+ blessings. They are roles which can be attributed to +up to four directories and a data file: +@* +"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder". +@* +They may be abbreviated as "p", "i", "s", "9", and "x". +@* +Each such role can be attributed to at most one file object. "intel_bootfile" +is the one that would apply to a data file. All others apply to directories. +The -find run will end as soon as the first blessing is issued. The previous +bearer of the blessing will lose it then. +No file object can bear more than one blessing. +@* +E.g.: -find /my/blessed/directory -exec set_hfs_bless p +@* +@item get_hfs_crtp +prints the HFS+ creator and type attributes together with the iso_rr_path, +if the file has such attributes at all. +@* +E.g.: -exec get_hfs_crtp +@* +@item get_hfs_bless +prints the HFS+ blessing role and the iso_rr_path, if the file is blessed +at all. +@* +E.g.: -exec get_hfs_bless +@* +Note that HFS+ information is not read with loaded images. So above two actions +are useful only for listing effective settings before a new image gets written. +@* @item set_filter applies or removes filters. @* @@ -2268,7 +2328,8 @@ E.g.: -exec sort_weight 3 @minus{}@minus{} shows the content stream chain of a data file. @* @item hide -brings the file into one of the hide states "on", "iso_rr", "joliet", "off". +brings the file into one of the hide states "on", "iso_rr", "joliet", +"hfsplus", "off". They may be combined. E.g.: joliet:hfsplus @* E.g.: @* @@ -2645,6 +2706,28 @@ If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge tree. @sp 1 @c man .TP +@item -hfsplus "on"|"off" +@kindex -hfsplus enables production of HFS+ partition +@cindex Write, enable HFS+, -hfsplus +If enabled by "on", generate a HFS+ filesystem inside the ISO 9660 image +and mark it by Apple Partition Map (APM) entries in the System Area, +the first 32 KiB of the image. +@* +This may collide with data submitted by -boot_image system_area=. +The first 8 bytes of the System Area get overwritten by +@{ 0x45, 0x52, 0x08 0x00, 0xeb, 0x02, 0xff, 0xff @} +which can be executed as x86 machine code without negative effects. +So if an MBR gets combined with this feature, then its first 8 bytes +should contain no essential commands. +@* +The next blocks of 2 KiB in the System Area will be occupied by APM entries. +The first one covers the part of the ISO image before the HFS+ filesystem +metadata. The second one marks the range from HFS+ metadata to the end +of file content data. If more ISO image data follow, then a third partition +entry gets produced. Other features of xorriso might cause the need for +more APM entries. +@sp 1 +@c man .TP @item -rockridge "on"|"off" @kindex -rockridge disables production of Rock Ridge info @cindex Write, disable Rock Ridge, -rockridge @@ -3123,7 +3206,7 @@ and their designated fate. @* @sp 1 -A @strong{bootspec} is a word of the form name=valuei. It is used to describe +A @strong{bootspec} is a word of the form name=value. It is used to describe the parameters of a boot image by an El Torito record or a MBR. The names "dir", "bin_path", "efi_path" lead to El Torito bootable images. Name "system_area" activates a given file as MBR. @@ -3157,7 +3240,7 @@ a file with the same name. The catalog lists the boot images and is read by the boot facility to choose one of the boot images. But it is not necessary that it appears in the directory tree at all. One may hide it in all trees by @strong{cat_hidden=on}. -Other possible values are "iso_rr", "joliet", and the default "off". +Other possible values are "iso_rr", "joliet", "hfsplus", and the default "off". @* @strong{bin_path=} depicts a boot image file, a binary program which is to be started by the hardware boot facility (e.g. the BIOS) at boot time. @@ -3299,6 +3382,10 @@ declarations made by mips_path= or mipsel_path=. They also disable production of SUN Disk Label. This removes the ban on production of other boot blocks. @* +@cindex HFS+ serial number +@strong{hfsplus_serial=}hexstring sets a string of 16 digits "0" to "9" +and letters "a" to "f", which will be used as unique serial number of +an emerging HFS+ filesystem. @end table @* @table @asis @@ -3942,8 +4029,9 @@ The output format resembles shell command ls -ln. File type 'e' indicates the El Torito boot catalog. @* If the file has non-trivial ACL, then a '+' is appended to the permission info. -If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", resp. 'H' for -"on" gets appended. Together with ACL it is 'i', 'j', resp. 'h'. +If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' +for "hfsplus", resp. 'H' for multiple hiding gets appended. +Together with ACL it is 'i', 'j', 'a', resp. 'h'. @c man .TP @item -lsdl iso_rr_pattern [***] @kindex -lsdl lists files in ISO image @@ -5872,6 +5960,7 @@ same license. @section Credits @command{xorriso} is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. +Vladimir Serbinenko contributed the HFS+ filesystem code and related knowledge. Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman and Ben Jansens who once founded libburn. @* diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index 1b8d43d0..a7250a20 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.06.05.145849" +#define Xorriso_timestamP "2012.06.06.184910" diff --git a/libisoburn/trunk/xorriso/xorrisofs.1 b/libisoburn/trunk/xorriso/xorrisofs.1 index 19cb1bbf..5fc638b8 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.1 +++ b/libisoburn/trunk/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, May 22, 2012" +.TH XORRISOFS 1 "Version 1.2.3, Jun 06, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -41,7 +41,7 @@ Joerg Schilling. Its implementation is part of program xorriso which shares no source code with cdrtools. .SS -\fBISO 9660, Rock Ridge, Joliet:\fR +\fBISO 9660, Rock Ridge, Joliet, HFS+:\fR .br \fBISO 9660\fR (aka \fBECMA\-119\fR) is a read\-only filesystem that is mainly used for @@ -77,6 +77,16 @@ It might be of use with some older computer system boot facilities which read neither Rock Ridge nor Joliet but need longer filenames nevertheless. Production of this directory tree may be enabled by option \-iso\-level 4. +.br +\fBHFS+\fR +is the name of a filesystem which is normally used for writing and reading +on hard disks and similar devices. It is possible to embed a HFS+ partition +into the emerging ISO 9660 image and to mark it by Apple Partition Map +entries. This interferes with options which copy data into the first 32 KiB +of the ISO image, like \-G or \-isohybrid\-mbr. See option \-hfsplus. +.br +The main purpose for having an embedded HFS+ partition is booting of +certain models of Apple computers. .SS .B Inserting files into the ISO image: .PP @@ -614,6 +624,45 @@ by the specification. Allow Joliet paths longer than the prescribed limit of Oversized names get truncated. Without this option, oversized paths get excluded from the Joliet tree. .TP +\fB\-hfsplus\fR +Enable the production of an additional HFS+ filesystem inside the ISO 9660 +image and mark it by Apple Partition Map (APM) entries in the System Area, +the first 32 KiB of the image. +.br +This may collide with options like \-G or \-isohybrid\-mbr which submit user data +for inclusion in the same address range. +The first 8 bytes of the System Area get overwritten by +{ 0x45, 0x52, 0x08 0x00, 0xeb, 0x02, 0xff, 0xff } +which can be executed as x86 machine code without negative effects. +So if an MBR gets combined with this feature, then its first 8 bytes +should contain no essential commands. +.br +The next blocks of 2 KiB in the System Area will be occupied by APM entries. +The first one covers the part of the ISO image before the HFS+ filesystem +metadata. The second one marks the range from HFS+ metadata to the end +of file content data. If more ISO image data follow, then a third partition +entry gets produced. Other features of xorriso might cause the need for +more APM entries. +.TP +\fB\-hfsplus-file-creator-type\fR creator type iso_rr_path +Set the HFS+ creator and type attributes of a file in the emerging image. +These are two codes of 4 characters each. +.TP +\fB\-hfsplus-bless-by\fR blessing iso_rr_path +Issue a HFS+ blessing. They are roles which can be attributed to +up to four directories and a data file: +.br +"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder". +.br +They may be abbreviated as "p", "i", "s", "9", and "x". +.br +Each such role can be attributed to at most one file object. "intel_bootfile" +is the one that would apply to a data file. All others apply to directories. +No file object can bear more than one blessing. +.TP +\fB\-hfsplus-bless\fR iso_rr_path +Alias for \-hfsplus\-bless\-by "ppc_bootdir" iso_rr_path +.TP .B Settings for file hiding: .TP \fB\-hide\fR disk_path_pattern @@ -637,6 +686,14 @@ if their disk_path matches the given shell parser pattern. Perform \-hide\-joliet using each line out of file disk_path as argument disk_path_pattern. .TP +\fB\-hide-hfsplus\fR disk_path_pattern +Like option \-hide but making files invisible in the directory tree of HFS+, +if their disk_path matches the given shell parser pattern. +.TP +\fB\-hide-hfsplus-list\fR disk_path +Perform \-hide\-hfsplus using each line out of file disk_path as argument +disk_path_pattern. +.TP .B ISO image ID strings: .PP The following strings and file addresses get stored in the Primary Volume @@ -1594,5 +1651,6 @@ to modify this text under that same license. .SH CREDITS \fBxorrisofs\fR is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. +Vladimir Serbinenko contributed the HFS+ filesystem code and related knowledge. .br Compliments towards Joerg Schilling whose cdrtools served me for ten years. diff --git a/libisoburn/trunk/xorriso/xorrisofs.info b/libisoburn/trunk/xorriso/xorrisofs.info index 10fabf4c..7f8e3d12 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.info +++ b/libisoburn/trunk/xorriso/xorrisofs.info @@ -51,8 +51,8 @@ shares no source code with cdrtools.  File: xorrisofs.info, Node: Standards, Next: Insert, Prev: Overview, Up: Top -2 ISO 9660, Rock Ridge, Joliet -****************************** +2 ISO 9660, Rock Ridge, Joliet, HFS+ +************************************ *ISO 9660* (aka *ECMA-119*) is a read-only filesystem that is mainly used for optical media CD, DVD, BD, but may also reside on other @@ -80,6 +80,14 @@ provides longer filenames. It allows single file names to have up to facilities which read neither Rock Ridge nor Joliet but need longer filenames nevertheless. Production of this directory tree may be enabled by option -iso-level 4. +*HFS+* is the name of a filesystem which is normally used for writing +and reading on hard disks and similar devices. It is possible to embed +a HFS+ partition into the emerging ISO 9660 image and to mark it by +Apple Partition Map entries. This interferes with options which copy +data into the first 32 KiB of the ISO image, like -G or -isohybrid-mbr. +See option -hfsplus. +The main purpose for having an embedded HFS+ partition is booting of +certain models of Apple computers.  File: xorrisofs.info, Node: Insert, Next: Xorriso, Prev: Standards, Up: Top @@ -613,6 +621,43 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op Oversized names get truncated. Without this option, oversized paths get excluded from the Joliet tree. +-hfsplus + Enable the production of an additional HFS+ filesystem inside the + ISO 9660 image and mark it by Apple Partition Map (APM) entries in + the System Area, the first 32 KiB of the image. + This may collide with options like -G or -isohybrid-mbr which + submit user data for inclusion in the same address range. The + first 8 bytes of the System Area get overwritten by { 0x45, 0x52, + 0x08 0x00, 0xeb, 0x02, 0xff, 0xff } which can be executed as x86 + machine code without negative effects. So if an MBR gets combined + with this feature, then its first 8 bytes should contain no + essential commands. + The next blocks of 2 KiB in the System Area will be occupied by + APM entries. The first one covers the part of the ISO image + before the HFS+ filesystem metadata. The second one marks the + range from HFS+ metadata to the end of file content data. If more + ISO image data follow, then a third partition entry gets produced. + Other features of xorriso might cause the need for more APM + entries. + +-hfsplus-file-creator-type creator type iso_rr_path + Set the HFS+ creator and type attributes of a file in the emerging + image. These are two codes of 4 characters each. + +-hfsplus-bless-by blessing iso_rr_path + Issue a HFS+ blessing. They are roles which can be attributed to + up to four directories and a data file: + "ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", + "osx_folder". + They may be abbreviated as "p", "i", "s", "9", and "x". + Each such role can be attributed to at most one file object. + "intel_bootfile" is the one that would apply to a data file. All + others apply to directories. No file object can bear more than + one blessing. + +-hfsplus-bless iso_rr_path + Alias for -hfsplus-bless-by "ppc_bootdir" iso_rr_path +  File: xorrisofs.info, Node: SetHide, Next: ImageId, Prev: SetExtras, Up: Options @@ -641,6 +686,14 @@ File: xorrisofs.info, Node: SetHide, Next: ImageId, Prev: SetExtras, Up: Opt Perform -hide-joliet using each line out of file disk_path as argument disk_path_pattern. +-hide-hfsplus disk_path_pattern + Like option -hide but making files invisible in the directory tree + of HFS+, if their disk_path matches the given shell parser pattern. + +-hide-hfsplus-list disk_path + Perform -hide-hfsplus using each line out of file disk_path as + argument disk_path_pattern. +  File: xorrisofs.info, Node: ImageId, Next: Bootable, Prev: SetHide, Up: Options @@ -1542,6 +1595,8 @@ entitled to modify this text under that same license. `xorrisofs' is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. +Vladimir Serbinenko contributed the HFS+ filesystem code and related +knowledge. Compliments towards Joerg Schilling whose cdrtools served me for ten years. @@ -1628,7 +1683,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -graft-points enable target=source pathspecs: SetInsert. (line 31) * -hard-disk-boot El Torito boot image emulation: Bootable. (line 68) * -help list supported options: Miscellaneous. (line 20) +* -hfsplus enable production of HFS+ partition: SetExtras. (line 124) +* -hfsplus-bless HFS+ blessing ppc_bootdir: SetExtras. (line 147) +* -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras. + (line 143) * -hide keep matching files invisible in ISO tree: SetHide. (line 8) +* -hide-hfsplus keep matching files invisible in HFS+ tree: SetHide. + (line 29) +* -hide-hfsplus-list keep matching files invisible in HFS+ tree: SetHide. + (line 33) * -hide-joliet keep matching files invisible in Joliet tree: SetHide. (line 20) * -hide-joliet-list keep matching files invisible in Joliet tree: SetHide. @@ -1783,6 +1846,15 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * El Torito, _definition: Bootable. (line 13) * Examples: Examples. (line 6) * Forced output, control, --stdio_sync: SetProduct. (line 25) +* HFS+, _definition: Standards. (line 32) +* HFS+, enables production: SetExtras. (line 124) +* HFS+, issue blessing ppc_bootdir, -hfsplus-bless: SetExtras. + (line 158) +* HFS+, issue blessing, -hfsplus-bless-by: SetExtras. (line 147) +* HFS+, set creator and type of file, -hfsplus-file-creator-type: SetExtras. + (line 143) +* Hiding, from HFS+, -hide-hfsplus: SetHide. (line 29) +* Hiding, from HFS+, -hide-hfsplus-list: SetHide. (line 33) * Hiding, from ISO and Rock Ridge, -hide: SetHide. (line 8) * Hiding, from ISO and Rock Ridge, -hide-list: SetHide. (line 16) * Hiding, from Joliet, -hide-joliet: SetHide. (line 20) @@ -1889,34 +1961,34 @@ Tag Table: Node: Top397 Node: Overview1103 Node: Standards1541 -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 +Node: Insert3732 +Node: Xorriso5570 +Node: Options6709 +Node: Loading7426 +Node: SetInsert9722 +Node: SetProduct14138 +Node: SetCompl17845 +Node: SetExtras20441 +Node: SetHide27375 +Node: ImageId28683 +Node: Bootable32188 +Node: SystemArea36253 +Node: Charset42587 +Node: Jigdo43613 +Node: Miscellaneous47880 +Node: Examples49253 +Node: ExSimple49739 +Node: ExGraft50218 +Node: ExMkisofs51465 +Node: ExGrowisofs52718 +Node: ExIncBackup53890 +Node: ExIncBckAcc56998 +Node: ExBootable58674 +Node: Files60766 +Node: Seealso61840 +Node: Bugreport62496 +Node: Legal63077 +Node: CommandIdx63972 +Node: ConceptIdx76684  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorrisofs.texi b/libisoburn/trunk/xorriso/xorrisofs.texi index 78495cea..96688f01 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.texi +++ b/libisoburn/trunk/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, May 22, 2012" +@c man .TH XORRISOFS 1 "Version 1.2.3, Jun 06, 2012" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -125,8 +125,8 @@ Its implementation is part of program xorriso which shares no source code with cdrtools. @c man .SS @node Standards, Insert, Overview, Top -@chapter ISO 9660, Rock Ridge, Joliet -@c man \fBISO 9660, Rock Ridge, Joliet:\fR +@chapter ISO 9660, Rock Ridge, Joliet, HFS+ +@c man \fBISO 9660, Rock Ridge, Joliet, HFS+:\fR @c man .br @cindex ISO 9660, _definition @cindex ECMA-119, _definition @@ -167,6 +167,17 @@ It might be of use with some older computer system boot facilities which read neither Rock Ridge nor Joliet but need longer filenames nevertheless. Production of this directory tree may be enabled by option -iso-level 4. +@* +@cindex HFS+, _definition +@strong{HFS+} +is the name of a filesystem which is normally used for writing and reading +on hard disks and similar devices. It is possible to embed a HFS+ partition +into the emerging ISO 9660 image and to mark it by Apple Partition Map +entries. This interferes with options which copy data into the first 32 KiB +of the ISO image, like -G or -isohybrid-mbr. See option -hfsplus. +@* +The main purpose for having an embedded HFS+ partition is booting of +certain models of Apple computers. @c man .SS @sp 1 @c man .B Inserting files into the ISO image: @@ -873,6 +884,53 @@ by the specification. Allow Joliet paths longer than the prescribed limit of @* Oversized names get truncated. Without this option, oversized paths get excluded from the Joliet tree. +@c man .TP +@item -hfsplus +@kindex -hfsplus enable production of HFS+ partition +@cindex HFS+, enables production +Enable the production of an additional HFS+ filesystem inside the ISO 9660 +image and mark it by Apple Partition Map (APM) entries in the System Area, +the first 32 KiB of the image. +@* +This may collide with options like -G or -isohybrid-mbr which submit user data +for inclusion in the same address range. +The first 8 bytes of the System Area get overwritten by +@{ 0x45, 0x52, 0x08 0x00, 0xeb, 0x02, 0xff, 0xff @} +which can be executed as x86 machine code without negative effects. +So if an MBR gets combined with this feature, then its first 8 bytes +should contain no essential commands. +@* +The next blocks of 2 KiB in the System Area will be occupied by APM entries. +The first one covers the part of the ISO image before the HFS+ filesystem +metadata. The second one marks the range from HFS+ metadata to the end +of file content data. If more ISO image data follow, then a third partition +entry gets produced. Other features of xorriso might cause the need for +more APM entries. +@c man .TP +@item -hfsplus-file-creator-type creator type iso_rr_path +@kindex -hfsplus-file-creator-type HFS+ creator-type attribute +@cindex HFS+, set creator and type of file, -hfsplus-file-creator-type +Set the HFS+ creator and type attributes of a file in the emerging image. +These are two codes of 4 characters each. +@c man .TP +@item -hfsplus-bless-by blessing iso_rr_path +@kindex -hfsplus-bless HFS+ blessing ppc_bootdir +@cindex HFS+, issue blessing, -hfsplus-bless-by +Issue a HFS+ blessing. They are roles which can be attributed to +up to four directories and a data file: +@* +"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder". +@* +They may be abbreviated as "p", "i", "s", "9", and "x". +@* +Each such role can be attributed to at most one file object. "intel_bootfile" +is the one that would apply to a data file. All others apply to directories. +No file object can bear more than one blessing. +@c man .TP +@item -hfsplus-bless iso_rr_path +@kindex -hfsplus-bless HFS+ blessing ppc_bootdir +@cindex HFS+, issue blessing ppc_bootdir, -hfsplus-bless +Alias for -hfsplus-bless-by "ppc_bootdir" iso_rr_path @end table @c man .TP @c man .B Settings for file hiding: @@ -909,6 +967,18 @@ if their disk_path matches the given shell parser pattern. @cindex Hiding, from Joliet, -hide-joliet-list Perform -hide-joliet using each line out of file disk_path as argument disk_path_pattern. +@c man .TP +@item -hide-hfsplus disk_path_pattern +@kindex -hide-hfsplus keep matching files invisible in HFS+ tree +@cindex Hiding, from HFS+, -hide-hfsplus +Like option -hide but making files invisible in the directory tree of HFS+, +if their disk_path matches the given shell parser pattern. +@c man .TP +@item -hide-hfsplus-list disk_path +@kindex -hide-hfsplus-list keep matching files invisible in HFS+ tree +@cindex Hiding, from HFS+, -hide-hfsplus-list +Perform -hide-hfsplus using each line out of file disk_path as argument +disk_path_pattern. @end table @c man .TP @c man .B ISO image ID strings: @@ -2154,6 +2224,7 @@ to modify this text under that same license. @section Credits @command{xorrisofs} is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. +Vladimir Serbinenko contributed the HFS+ filesystem code and related knowledge. @* Compliments towards Joerg Schilling whose cdrtools served me for ten years. @c man-ignore-lines begin