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 *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);

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
.\" 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

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
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

View File

@ -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