Now expecting disk_path with -as mkisofs -hfs-bless

This commit is contained in:
Thomas Schmitt 2012-06-21 20:43:02 +00:00
parent 2edce33c2e
commit 32ffc7c3d1
5 changed files with 71 additions and 39 deletions

View File

@ -1097,9 +1097,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
char *old_root= NULL, *argpt, *hargv[1]; char *old_root= NULL, *argpt, *hargv[1];
char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt, *rpt, *wpt; char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt, *rpt, *wpt;
char *rm_merge_args[3], *rr_reloc_dir_pt= NULL; char *rm_merge_args[3], *rr_reloc_dir_pt= NULL;
char *sort_weight_args[4], *bless_args[6];
/* >>> This should not be static. Why is it ? */
static char *sort_weight_args[4]= {"", "-exec", "sort_weight", ""};
struct stat stbuf; struct stat stbuf;
@ -2119,6 +2117,8 @@ problem_handler_2:;
/* find argv[i+2] -exec sort_weight argv[i+1] */ /* find argv[i+2] -exec sort_weight argv[i+1] */
zero= 0; zero= 0;
sort_weight_args[0]= argv[i + 2]; 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]; sort_weight_args[3]= argv[i + 1];
ret= Xorriso_option_find(xorriso, 4, sort_weight_args, &zero, 2); ret= Xorriso_option_find(xorriso, 4, sort_weight_args, &zero, 2);
if(ret > 0) if(ret > 0)
@ -2274,9 +2274,25 @@ problem_handler_2:;
goto problem_handler_boot; goto problem_handler_boot;
} else if(strcmp(argpt, "-hfs-bless") == 0) { } else if(strcmp(argpt, "-hfs-bless") == 0) {
ret= Xorriso_hfsplus_bless(xorriso, argv[i + 1], NULL, "ppc_bootdir", 0); static char *bless_arg_data[6]= {
if(ret <= 0) "/", "-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; goto problem_handler_boot;
}
} else if(strcmp(argpt, "-hfs-bless-by") == 0) { } else if(strcmp(argpt, "-hfs-bless-by") == 0) {
ret= Xorriso_hfsplus_bless(xorriso, argv[i + 2], NULL, argv[i + 1], 0); ret= Xorriso_hfsplus_bless(xorriso, argv[i + 2], NULL, argv[i + 1], 0);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2012.06.21.203531" #define Xorriso_timestamP "2012.06.21.204359"

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" 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. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" 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. is the one that would apply to a data file. All others apply to directories.
No file object can bear more than one blessing. No file object can bear more than one blessing.
.TP .TP
\fB\-hfs-bless\fR iso_rr_path \fB\-hfs-bless\fR disk_path
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.
.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 .TP
.B Settings for file hiding: .B Settings for file hiding:
.TP .TP
@ -952,7 +958,6 @@ Mark the current El Torito boot image (see options \-b and \-e) in GPT as
partition of type HFS+. partition of type HFS+.
Impact and restrictions are like with \-isohybrid\-gpt\-basdat. Impact and restrictions are like with \-isohybrid\-gpt\-basdat.
.TP .TP
.TP
\fB\-isohybrid-apm-hfsplus\fR \fB\-isohybrid-apm-hfsplus\fR
Mark the current El Torito boot image (see options \-b and \-e) in Apple 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 Partition Map as partition of type HFS+. This works only with \-isohybrid\-mbr

View File

@ -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 others apply to directories. No file object can bear more than
one blessing. one blessing.
-hfs-bless iso_rr_path -hfs-bless disk_path
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.
 
File: xorrisofs.info, Node: SetHide, Next: ImageId, Prev: SetExtras, Up: Options 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) * -hard-disk-boot El Torito boot image emulation: Bootable. (line 68)
* -help list supported options: Miscellaneous. (line 20) * -help list supported options: Miscellaneous. (line 20)
* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 158) * -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 enable production of HFS+ partition: SetExtras. (line 124)
* -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras. * -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras.
(line 143) (line 143)
@ -2040,26 +2046,26 @@ Node: SetInsert9732
Node: SetProduct14148 Node: SetProduct14148
Node: SetCompl17855 Node: SetCompl17855
Node: SetExtras20451 Node: SetExtras20451
Node: SetHide27373 Node: SetHide27759
Node: ImageId28681 Node: ImageId29067
Node: Bootable32186 Node: Bootable32572
Node: SystemArea36251 Node: SystemArea36637
Node: Charset45290 Node: Charset45676
Node: Jigdo46316 Node: Jigdo46702
Node: Miscellaneous50583 Node: Miscellaneous50969
Node: Examples51956 Node: Examples52342
Node: ExSimple52442 Node: ExSimple52828
Node: ExGraft52921 Node: ExGraft53307
Node: ExMkisofs54168 Node: ExMkisofs54554
Node: ExGrowisofs55421 Node: ExGrowisofs55807
Node: ExIncBackup56593 Node: ExIncBackup56979
Node: ExIncBckAcc59701 Node: ExIncBckAcc60087
Node: ExBootable61377 Node: ExBootable61763
Node: Files63469 Node: Files63855
Node: Seealso64543 Node: Seealso64929
Node: Bugreport65199 Node: Bugreport65585
Node: Legal65780 Node: Legal66166
Node: CommandIdx66675 Node: CommandIdx67061
Node: ConceptIdx80024 Node: ConceptIdx80410
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @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 .\" 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 .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @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. These are two codes of 4 characters each.
@c man .TP @c man .TP
@item -hfs-bless-by blessing iso_rr_path @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 @cindex HFS+, issue blessing, -hfs-bless-by
Issue a HFS+ blessing. They are roles which can be attributed to Issue a HFS+ blessing. They are roles which can be attributed to
up to four directories and a data file: 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. is the one that would apply to a data file. All others apply to directories.
No file object can bear more than one blessing. No file object can bear more than one blessing.
@c man .TP @c man .TP
@item -hfs-bless iso_rr_path @item -hfs-bless disk_path
@kindex -hfs-bless HFS+ blessing ppc_bootdir @kindex -hfs-bless HFS+ blessing ppc_bootdir
@cindex HFS+, issue blessing ppc_bootdir, -hfs-bless @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 @end table
@c man .TP @c man .TP
@c man .B Settings for file hiding: @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+. partition of type HFS+.
Impact and restrictions are like with -isohybrid-gpt-basdat. Impact and restrictions are like with -isohybrid-gpt-basdat.
@c man .TP @c man .TP
@c man .TP
@item -isohybrid-apm-hfsplus @item -isohybrid-apm-hfsplus
@kindex -isohybrid-apm-hfsplus Mark boot image in APM @kindex -isohybrid-apm-hfsplus Mark boot image in APM
@cindex Bootability, mark boot image in APM, -isohybrid-apm-hfsplus @cindex Bootability, mark boot image in APM, -isohybrid-apm-hfsplus