diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 920f29bf..4fcfebe6 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -1097,9 +1097,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, char *old_root= NULL, *argpt, *hargv[1]; char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt, *rpt, *wpt; char *rm_merge_args[3], *rr_reloc_dir_pt= NULL; - - /* >>> This should not be static. Why is it ? */ - static char *sort_weight_args[4]= {"", "-exec", "sort_weight", ""}; + char *sort_weight_args[4], *bless_args[6]; struct stat stbuf; @@ -2119,6 +2117,8 @@ problem_handler_2:; /* find argv[i+2] -exec sort_weight argv[i+1] */ zero= 0; sort_weight_args[0]= argv[i + 2]; + sort_weight_args[1]= "-exec"; + sort_weight_args[2]= "sort_weight"; sort_weight_args[3]= argv[i + 1]; ret= Xorriso_option_find(xorriso, 4, sort_weight_args, &zero, 2); if(ret > 0) @@ -2274,9 +2274,25 @@ problem_handler_2:; goto problem_handler_boot; } else if(strcmp(argpt, "-hfs-bless") == 0) { - ret= Xorriso_hfsplus_bless(xorriso, argv[i + 1], NULL, "ppc_bootdir", 0); - if(ret <= 0) + static char *bless_arg_data[6]= { + "/", "-disk_path", "", "-exec", "set_hfs_bless", "p"}; + + for(j= 0; j < 6; j++) + bless_args[j]= bless_arg_data[j]; + bless_args[2]= argv[i + 1]; + zero= 0; + ret= Xorriso_option_find(xorriso, 6, bless_args, &zero, 2 | 16); + if(ret<=0) + goto ex; + if(ret < 2) { + sprintf(xorriso->info_text, + "-hfs-bless: Could not find a data file which stems from underneath disk directory "); + Text_shellsafe(argv[i + 1], xorriso->info_text, 1); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + Xorriso_msgs_submit(xorriso, 0, + "Consider to use: -hfs-bless-by p ISO_RR_PATH", 0, "HINT", 0); goto problem_handler_boot; + } } else if(strcmp(argpt, "-hfs-bless-by") == 0) { ret= Xorriso_hfsplus_bless(xorriso, argv[i + 2], NULL, argv[i + 1], 0); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 0734660b..7b1d727a 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.06.21.203531" +#define Xorriso_timestamP "2012.06.21.204359" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index 696fedb7..865915db 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, Jun 20, 2012" +.TH XORRISOFS 1 "Version 1.2.3, Jun 21, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -660,8 +660,14 @@ 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\-hfs-bless\fR iso_rr_path -Alias for \-hfs\-bless\-by "ppc_bootdir" iso_rr_path +\fB\-hfs-bless\fR disk_path +Issue HFS+ blessing "ppc_bootdir" to the directory which stems from the +directory disk_path in the local filesystem tree. +.br +This works only if there is at least one data file underneath the directory. +disk_path can become ambigous if files from different local filesystem +sub\-trees are put into the same sub\-tree of the ISO image. +Consider to use \-hfs\-bless\-by "p" for unambigous addressing via iso_rr_path. .TP .B Settings for file hiding: .TP @@ -952,7 +958,6 @@ Mark the current El Torito boot image (see options \-b and \-e) in GPT as partition of type HFS+. Impact and restrictions are like with \-isohybrid\-gpt\-basdat. .TP -.TP \fB\-isohybrid-apm-hfsplus\fR Mark the current El Torito boot image (see options \-b and \-e) in Apple Partition Map as partition of type HFS+. This works only with \-isohybrid\-mbr diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index 84c4cfbe..bbc57110 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -655,8 +655,14 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op others apply to directories. No file object can bear more than one blessing. --hfs-bless iso_rr_path - Alias for -hfs-bless-by "ppc_bootdir" iso_rr_path +-hfs-bless disk_path + Issue HFS+ blessing "ppc_bootdir" to the directory which stems + from the directory disk_path in the local filesystem tree. + This works only if there is at least one data file underneath the + directory. disk_path can become ambigous if files from different + local filesystem sub-trees are put into the same sub-tree of the + ISO image. Consider to use -hfs-bless-by "p" for unambigous + addressing via iso_rr_path.  File: xorrisofs.info, Node: SetHide, Next: ImageId, Prev: SetExtras, Up: Options @@ -1738,7 +1744,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -hard-disk-boot El Torito boot image emulation: Bootable. (line 68) * -help list supported options: Miscellaneous. (line 20) * -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 158) -* -hfs-bless-by HFS+ blessing ppc_bootdir: SetExtras. (line 147) +* -hfs-bless-by HFS+ blessing: SetExtras. (line 147) * -hfsplus enable production of HFS+ partition: SetExtras. (line 124) * -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras. (line 143) @@ -2040,26 +2046,26 @@ Node: SetInsert9732 Node: SetProduct14148 Node: SetCompl17855 Node: SetExtras20451 -Node: SetHide27373 -Node: ImageId28681 -Node: Bootable32186 -Node: SystemArea36251 -Node: Charset45290 -Node: Jigdo46316 -Node: Miscellaneous50583 -Node: Examples51956 -Node: ExSimple52442 -Node: ExGraft52921 -Node: ExMkisofs54168 -Node: ExGrowisofs55421 -Node: ExIncBackup56593 -Node: ExIncBckAcc59701 -Node: ExBootable61377 -Node: Files63469 -Node: Seealso64543 -Node: Bugreport65199 -Node: Legal65780 -Node: CommandIdx66675 -Node: ConceptIdx80024 +Node: SetHide27759 +Node: ImageId29067 +Node: Bootable32572 +Node: SystemArea36637 +Node: Charset45676 +Node: Jigdo46702 +Node: Miscellaneous50969 +Node: Examples52342 +Node: ExSimple52828 +Node: ExGraft53307 +Node: ExMkisofs54554 +Node: ExGrowisofs55807 +Node: ExIncBackup56979 +Node: ExIncBckAcc60087 +Node: ExBootable61763 +Node: Files63855 +Node: Seealso64929 +Node: Bugreport65585 +Node: Legal66166 +Node: CommandIdx67061 +Node: ConceptIdx80410  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index a763271a..19658f92 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, Jun 20, 2012" +@c man .TH XORRISOFS 1 "Version 1.2.3, Jun 21, 2012" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -914,7 +914,7 @@ 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 -hfs-bless-by blessing iso_rr_path -@kindex -hfs-bless-by HFS+ blessing ppc_bootdir +@kindex -hfs-bless-by HFS+ blessing @cindex HFS+, issue blessing, -hfs-bless-by Issue a HFS+ blessing. They are roles which can be attributed to up to four directories and a data file: @@ -927,10 +927,16 @@ 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 -hfs-bless iso_rr_path +@item -hfs-bless disk_path @kindex -hfs-bless HFS+ blessing ppc_bootdir @cindex HFS+, issue blessing ppc_bootdir, -hfs-bless -Alias for -hfs-bless-by "ppc_bootdir" iso_rr_path +Issue HFS+ blessing "ppc_bootdir" to the directory which stems from the +directory disk_path in the local filesystem tree. +@* +This works only if there is at least one data file underneath the directory. +disk_path can become ambigous if files from different local filesystem +sub-trees are put into the same sub-tree of the ISO image. +Consider to use -hfs-bless-by "p" for unambigous addressing via iso_rr_path. @end table @c man .TP @c man .B Settings for file hiding: @@ -1316,7 +1322,6 @@ Mark the current El Torito boot image (see options -b and -e) in GPT as partition of type HFS+. Impact and restrictions are like with -isohybrid-gpt-basdat. @c man .TP -@c man .TP @item -isohybrid-apm-hfsplus @kindex -isohybrid-apm-hfsplus Mark boot image in APM @cindex Bootability, mark boot image in APM, -isohybrid-apm-hfsplus