New command and -as mkisofs option -genisoimage_completion

This commit is contained in:
Thomas Schmitt 2024-09-02 15:04:06 +02:00
parent 5583a1c7f0
commit 1dd5dca5eb
15 changed files with 549 additions and 149 deletions

View File

@ -377,6 +377,7 @@ isoburn_toc_disc_get_sectors_v2;
isoburn_toc_session_get_sectors_v2; isoburn_toc_session_get_sectors_v2;
isoburn_toc_track_get_emul_v2; isoburn_toc_track_get_emul_v2;
Xorriso_option_chattri; Xorriso_option_chattri;
Xorriso_option_genisoimage_completion;
Xorriso_option_lfa_flags; Xorriso_option_lfa_flags;
} LIBISOBURN1; } LIBISOBURN1;

View File

@ -121,6 +121,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->initial_wdx[0]= 0; m->initial_wdx[0]= 0;
m->no_rc= 0; m->no_rc= 0;
m->argument_emulation= 0; m->argument_emulation= 0;
m->genisoimage_completion= 0;
m->current_interpreter= 0; m->current_interpreter= 0;
m->rc_filename_count= Xorriso_rc_nuM; m->rc_filename_count= Xorriso_rc_nuM;

View File

@ -651,7 +651,9 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-appended_part_as_gpt", "-appended_part_as_apm", "--mbr-force-bootable", "-appended_part_as_gpt", "-appended_part_as_apm", "--mbr-force-bootable",
"--gpt-iso-bootable", "--gpt-iso-not-ro", "--gpt-iso-bootable", "--gpt-iso-not-ro",
"-part_like_isohybrid", "--zisofs-version-2", "--zisofs2-susp-z2", "-part_like_isohybrid", "--zisofs-version-2", "--zisofs2-susp-z2",
"--zisofs2-susp-zf", "--zisofs2-susp-zf", "-dvd-audio", "-dvd-hybrid", "-long-rr-time",
"-no-long-rr-time", "-short-rr-time", "-ignore-error", "-data-change-warn",
"-genisoimage_completion",
"" ""
}; };
static char arg1_options[][41]= { static char arg1_options[][41]= {
@ -693,6 +695,8 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"--grub2-sparc-core", "--sort-weight-list", "--sort-weight-patterns", "--grub2-sparc-core", "--sort-weight-list", "--sort-weight-patterns",
"-hppa-hdrversion", "-file_name_limit", "--set_all_file_dates", "-hppa-hdrversion", "-file_name_limit", "--set_all_file_dates",
"--gpt_disk_guid", "-iso_mbr_part_type", "-eltorito-platform", "--gpt_disk_guid", "-iso_mbr_part_type", "-eltorito-platform",
"-modification-date", "-N", "-omit-version-number", "-new-dir-mode",
"-nobak", "-no-bak", "-no-limit-pathtables", "", "",
"" ""
}; };
static char arg2_options[][41]= { static char arg2_options[][41]= {
@ -785,16 +789,132 @@ no_volunteer:;
} }
int Xorriso_genisofs_add_boot(struct XorrisO *xorriso, int flag) /* Try to match unrecognized options as start piece of original
genisoimage options. But not the cdrecord or xorrisofs options which are
not supported by genisoimage. (cdrecord does no option completion.)
@param flag bit0= do not issue error messages
*/
int Xorriso_genisomage_opt_completion(struct XorrisO *xorriso, char *option,
const char **found, int flag)
{ {
int ret; static char genisoimage_options[][41]= {
"-abstract", "-A", "-appid", "-allow-leading-dots", "-ldots",
"-allow-lowercase", "-allow-multidot", "-biblio", "-cache-inodes",
"-no-cache-inodes", "-b", "-eltorito-boot", "-eltorito-alt-boot",
"-B", "-sparc-boot", "-G",
"-hard-disk-boot", "-no-emul-boot", "-no-boot",
"-boot-load-seg", "-boot-load-size", "-boot-info-table", "-C",
"-cdrecord-params", "-c", "-eltorito-catalog", "-check-oldnames",
"-check-session", "-copyright", "-d", "-omit-period", "-D",
"-disable-deep-relocation", "-data-change-warn", "-debug",
"-dir-mode", "-dvd-video", "-f",
"-follow-links", "-file-mode", "-gid", "-gui", "-graft-points",
"-hide", "-hide-list", "-hidden", "-hidden-list", "-hide-joliet",
"-hide-joliet-list", "-hide-joliet-trans-tbl", "-hide-rr-moved",
"-input-charset", "-output-charset",
"-iso-level", "-J", "-joliet-long", "-jcharset", "-l",
"-full-iso9660-filenames", "-L", "-log-file", "-m",
"-exclude-list", "-max-iso9660-filenames", "-M", "-dev",
"-N", "-omit-version-number", "-new-dir-mode",
"-nobak", "-no-bak",
"-force-rr", "-no-rr", "-no-split-symlink-components",
"-no-split-symlink-fields", "-o", "-pad", "-no-pad", "-path-list", "-P",
"-publisher", "-p", "-preparer",
"-print-size", "-quiet", "-R", "-rock",
"-r", "-rational-rock", "-relaxed-filenames", "-root",
"-old-root", "-s", "-sectype", "-sort",
"-sparc-label", "-split-output", "-stream-media-size", "-stream-file-name",
"-sunx86-boot", "-sunx86-label", "-sysid", "-T", "-translation-table",
"-transparent-compression", "-table-name", "-ucs-level", "-udf",
"-uid", "-use-fileversion", "-U",
"-untranslated-filenames", "-no-iso-translate", "-V", "-volset",
"-volset-size", "-volset-seqno", "-v", "-verbose", "-x", "-XA", "-xa",
"-z", "-hfs", "-apple", "-map", "-magic",
"-hfs-creator", "-hfs-type", "-probe", "-no-desktop", "-mac-name",
"-boot-hfs-file", "-part", "-auto", "-cluster-size", "-hide-hfs",
"-hide-hfs-list", "-hfs-volid", "-icon-position", "-root-info",
"-prep-boot", "-chrp-t", "-input-hfs-charset", "-output-hfs-charset",
"-hfs-unlock", "-hfs-bless", "-hfs-parms", "--cap", "--netatalk",
"--double", "--ethershare", "--ushare", "--exchange", "--sgi", "--xinet",
"--macbin", "--single", "--dave", "--sfm", "--osx-double", "--osx-hfs",
"-alpha-boot", "-hppa-bootloader", "-hppa-cmdline", "-hppa-kernel-32",
"-hppa-kernel-64", "-hppa-ramdisk", "-mips-boot", "-mipsel-boot",
"-jigdo-jigdo", "-jigdo-template", "-jigdo-min-file-size",
"-jigdo-force-md5", "-jigdo-exclude", "-jigdo-map", "-md5-list",
"-jigdo-template-compress", "-chrp-boot", "-checksum_algorithm_template",
"-checksum_algorithm_iso",
""
};
int i, j, l, count= 0;
char *opt, *orig_opt;
if(xorriso->boot_img_size_default && xorriso->boot_image_emul == 0) /* search in genisoimage_options, ignoring leading dashes,
xorriso->boot_img_full_size= 1; count and memorize matches */;
ret= Xorriso_attach_boot_image(xorriso, 0);
if(ret <= 0) *found= "";
xorriso->boot_image_bin_path[0]= 0; for(j= 0; option[j] != 0; j++)
return(ret); if(option[j] != '-')
break;
opt= option + j;
l= strlen(opt);
if(l == 0)
goto failure;
for(i= 0; genisoimage_options[i][0] != 0; i++) {
for(j= 0; genisoimage_options[i][j] != 0; j++)
if(genisoimage_options[i][j] != '-')
break;
orig_opt= genisoimage_options[i] + j;
if(strncmp(opt, orig_opt, l) == 0) {
count++;
*found= genisoimage_options[i];
}
}
if(count == 1) {
return(1);
} else if(count == 0) {
*found= option;
if(flag & 1)
goto failure;
sprintf(xorriso->info_text,
"No completion candidate for unrecognized option: %s", option);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
} else {
*found= option;
if(flag & 1)
goto failure;
sprintf(xorriso->info_text,
"Too many candidates for unrecognized option: %s", option);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
sprintf(xorriso->info_text, "List of genisoimage completion candidates:\n");
Xorriso_info(xorriso, 1 | 2);
/* List all candidates */
strcpy(xorriso->info_text, " ");
for(i= 0; genisoimage_options[i][0] != 0; i++) {
for(j= 0; genisoimage_options[i][j] != 0; j++)
if(genisoimage_options[i][j] != '-')
break;
orig_opt= genisoimage_options[i] + j;
if(strncmp(opt, orig_opt, l) == 0) {
if(strlen(xorriso->info_text) + strlen(genisoimage_options[i] + 3)
> 72) {
strcat(xorriso->info_text, "\n");
Xorriso_info(xorriso, 1 | 2);
strcpy(xorriso->info_text, " ");
strcat(xorriso->info_text, genisoimage_options[i]);
} else {
if(strlen(xorriso->info_text) > 4)
strcat(xorriso->info_text, " , ");
strcat(xorriso->info_text, genisoimage_options[i]);
}
}
}
strcat(xorriso->info_text, "\n");
Xorriso_info(xorriso, 1 | 2);
}
failure:;
*found= option;
return(0);
} }
@ -862,6 +982,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" --quoted_path_list FILE File with list of quoted pathnames to process", " --quoted_path_list FILE File with list of quoted pathnames to process",
" -print-size Print estimated filesystem size and exit", " -print-size Print estimated filesystem size and exit",
" -quiet Run quietly", " -quiet Run quietly",
" -genisoimage_completion Enable completion of genisoimage options",
" -gui Switch behaviour for GUI", " -gui Switch behaviour for GUI",
" -R, -rock Generate Rock Ridge directory information", " -R, -rock Generate Rock Ridge directory information",
" -r, -rational-rock Generate rationalized Rock Ridge directory information", " -r, -rational-rock Generate rationalized Rock Ridge directory information",
@ -1125,8 +1246,9 @@ int Xorriso_genisofs_strip_dash(struct XorrisO *xorriso, char *arg_in,
/* Interprets a string of single-char options which have no parameters /* Interprets a string of single-char options which have no parameters
@param flag bit0=check whether string is ok @param flag bit0= check whether string is ok
bit1=this is pass 1 bit1= this is pass 1
bit2= do not issue error messages
@return with flag bit0: 0=no , 1=yes, 2= with bit1: non-pass-1 options seen @return with flag bit0: 0=no , 1=yes, 2= with bit1: non-pass-1 options seen
else : 1 = ok , <= 0 indicates error else : 1 = ok , <= 0 indicates error
*/ */
@ -1207,6 +1329,8 @@ int Xorriso_genisofs_fused_options(struct XorrisO *xorriso, char *whom,
continue; continue;
Xorriso_option_zisofs(xorriso, "by_magic=on", 0); Xorriso_option_zisofs(xorriso, "by_magic=on", 0);
} else { } else {
if(flag & 4)
{ret= 0; goto ex;}
sprintf(xorriso->info_text, "-as %s: Unsupported option -%c", whom, *cpt); sprintf(xorriso->info_text, "-as %s: Unsupported option -%c", whom, *cpt);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex; ret= 0; goto ex;
@ -1218,6 +1342,72 @@ ex:;
} }
/*
@param flag bit0= do not issue error messages
@return <=0= error ,
1= known option , 2= fused options , 3= completed option
4= completion is not enabled
*/
int Xorriso_genisofs_eff_opt(struct XorrisO *xorriso, char *whom, char *option,
const char **found, int flag)
{
int ret, count,dummy;
char *argv[1], ra_text[80];
*found= option;
if(!xorriso->genisoimage_completion)
return(4);
/* Check whether option is known */
argv[0]= option;
ret= Xorriso_genisofs_count_args(xorriso, 1, argv, &count, 0);
if(ret > 0) {
*found= option;
return(1);
}
/* Xorriso_genisofs_fused_options() shall take over if all letters in the
unknown option are single-letter options without parameter.
genisoimage interprets known single letter options as fused,
eats further arguments if these options expect parameters,
and then tries completion with the rest.
cdrecord interprets known single letter options as fused only
if they do not expect parameters (like -m or -o). No options completion
happens.
*/
ret= Xorriso_genisofs_fused_options(xorriso, whom, option,
&dummy, &dummy, &dummy, ra_text,
((flag & 1) << 2) | 1);
if(ret > 0) {
*found= option;
return(2);
}
/* If not known: try to get it by completion of original mkisofs and
genisoimage options
*/
ret= Xorriso_genisomage_opt_completion(xorriso, option, found, flag & 1);
if(ret > 0)
return(3);
return(0);
}
int Xorriso_genisofs_add_boot(struct XorrisO *xorriso, int flag)
{
int ret;
if(xorriso->boot_img_size_default && xorriso->boot_image_emul == 0)
xorriso->boot_img_full_size= 1;
ret= Xorriso_attach_boot_image(xorriso, 0);
if(ret <= 0)
xorriso->boot_image_bin_path[0]= 0;
return(ret);
}
/* Implementing mkisofs tendency to map single-path pathspecs to / */ /* Implementing mkisofs tendency to map single-path pathspecs to / */
int Xorriso_graftable_pathspec(struct XorrisO *xorriso, char *in_pathspec, int Xorriso_graftable_pathspec(struct XorrisO *xorriso, char *in_pathspec,
char *pathspec, int flag) char *pathspec, int flag)
@ -1372,7 +1562,7 @@ wrong_id:;
} }
/* micro emulation of mkisofs */ /* mini emulation of mkisofs */
int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int argc, char **argv, int flag) int argc, char **argv, int flag)
{ {
@ -1381,7 +1571,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int was_failure= 0, fret, lower_r= 0, zero= 0; int was_failure= 0, fret, lower_r= 0, zero= 0;
int dir_mode= -1, file_mode= -1, count, partition_number; int dir_mode= -1, file_mode= -1, count, partition_number;
int allow_dir_id_ext= -1, mem_current_interpreter; int allow_dir_id_ext= -1, mem_current_interpreter;
int root_seen= 0, do_md5_mem, option_d= 0, arg_count; int root_seen= 0, do_md5_mem, option_d= 0, arg_count, dummy;
mode_t mode_and, mode_or; mode_t mode_and, mode_or;
int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0; int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0;
int old_root_md5= 1, old_root_dev= 0, old_root_ino= 1, sort_file_pattern= 0; int old_root_md5= 1, old_root_dev= 0, old_root_ino= 1, sort_file_pattern= 0;
@ -1393,7 +1583,8 @@ 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[24], *iso_rr_pt, *disk_pt, *rpt, *wpt; char *boot_path, partno_text[24], *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], *sa_path; char *sort_weight_args[4], *bless_args[6], *sa_path, dummy_text[80];
const char *eff_option;
struct stat stbuf; struct stat stbuf;
@ -1409,8 +1600,27 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
Xorriso_alloc_meM(sort_file, char, SfileadrL); Xorriso_alloc_meM(sort_file, char, SfileadrL);
for(i= 0; i<argc; i++) { for(i= 0; i<argc; i++) {
if(strcmp(argv[i], "-log-file") == 0 || if(argv[i][0] != '-')
strcmp(argv[i], "--log-file") == 0 ) { continue;
ret= Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 0);
if(ret <= 0) {
was_failure= 1;
fret= Xorriso_eval_problem_status(xorriso, ret, 1 | 2);
if(fret < 0)
{ret= 0; goto ex;}
continue;
} else if(strcmp(argv[i], eff_option) != 0) {
sprintf(xorriso->info_text,
"-as %s option %s completed to: %s", whom, argv[i], eff_option);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
}
argpt= (char *) eff_option;
if(strcmp(eff_option, "-genisoimage_completion") == 0 ||
strcmp(eff_option, "--genisoimage_completion") == 0) {
xorriso->genisoimage_completion= 1;
} else if(strcmp(eff_option, "-log-file") == 0 ||
strcmp(eff_option, "--log-file") == 0) {
if(i + 1 >= argc) if(i + 1 >= argc)
goto not_enough_args; goto not_enough_args;
i+= 1; i+= 1;
@ -1434,6 +1644,21 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
sprintf(xorriso->info_text, "Revoked stderr message redirection"); sprintf(xorriso->info_text, "Revoked stderr message redirection");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
} }
} else {
if(argv[i][0] == '-') {
if(strcmp(argpt, argv[i]) == 0) {
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
&dummy, &dummy, &dummy, dummy_text, 1);
} else {
ret= 0;
}
if(ret <= 0) {
hargv[0]= argv[i];
ret= Xorriso_genisofs_count_args(xorriso, 1, hargv, &count, 1);
if(ret > 0)
i+= count; /* skip eventual arguments of known option */
}
}
} }
} }
@ -1455,7 +1680,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
with_cat_path= -1; with_cat_path= -1;
adr[0]= indev[0]= msc[0]= old_root[0]= sort_file[0]= 0; adr[0]= indev[0]= msc[0]= old_root[0]= sort_file[0]= 0;
for(i= 0; i<argc; i++) { for(i= 0; i<argc; i++) {
ret= Xorriso_genisofs_strip_dash(xorriso, argv[i], &argpt, 0); Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 1);
ret= Xorriso_genisofs_strip_dash(xorriso, (char *) eff_option, &argpt, 0);
if(ret <= 0) if(ret <= 0)
goto ex; goto ex;
ret= Xorriso_genisofs_ignore(xorriso, whom, argpt, &i, 1); ret= Xorriso_genisofs_ignore(xorriso, whom, argpt, &i, 1);
@ -1463,7 +1689,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
continue; continue;
if(strcmp(argpt, "-version")==0) { if(strcmp(argpt, "-version")==0) {
sprintf(xorriso->result_line, sprintf(xorriso->result_line,
"mkisofs 2.01-Emulation Copyright (C) 2019 see libburnia-project.org xorriso\n" "mkisofs 2.01-Emulation Copyright (C) 2024 see libburnia-project.org xorriso\n"
); );
fd= xorriso->dev_fd_1; fd= xorriso->dev_fd_1;
if(fd<0) if(fd<0)
@ -1673,7 +1899,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
i++; i++;
Xorriso_option_file_name_limit(xorriso, argv[i], 0); Xorriso_option_file_name_limit(xorriso, argv[i], 0);
} else { } else {
if(argv[i][0] == '-') { if(argv[i][0] == '-' && strcmp(argv[i], argpt) == 0) {
/* Was not an incomplete genisoimage option */
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1, ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
&option_d, &iso_level, &lower_r, ra_text, 1 | 2); &option_d, &iso_level, &lower_r, ra_text, 1 | 2);
if(ret != 1) if(ret != 1)
@ -1805,7 +2032,8 @@ illegal_c:;
sprintf(xorriso->info_text, "-as %s: %s", sprintf(xorriso->info_text, "-as %s: %s",
whom, Text_shellsafe(argv[i], sfe, 0)); whom, Text_shellsafe(argv[i], sfe, 0));
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
ret= Xorriso_genisofs_strip_dash(xorriso, argv[i], &argpt, 0); Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 1);
ret= Xorriso_genisofs_strip_dash(xorriso, (char *) eff_option, &argpt, 0);
if(ret <= 0) if(ret <= 0)
goto ex; goto ex;
ret= Xorriso_genisofs_ignore(xorriso, whom, argpt, &i, 0); ret= Xorriso_genisofs_ignore(xorriso, whom, argpt, &i, 0);
@ -1850,8 +2078,6 @@ illegal_c:;
goto not_enough_args; goto not_enough_args;
/* Memorize command until all pathspecs are processed */ /* Memorize command until all pathspecs are processed */
delay_opt_list[delay_opt_count++]= i; delay_opt_list[delay_opt_count++]= i;
if(argv[i] != argpt)
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
i+= arg_count; i+= arg_count;
} else if(strcmp(argpt, "-hfsplus") == 0) { } else if(strcmp(argpt, "-hfsplus") == 0) {
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
@ -1885,7 +2111,7 @@ illegal_c:;
if(i+1>=argc) { if(i+1>=argc) {
not_enough_args:; not_enough_args:;
sprintf(xorriso->info_text, "-as %s: Not enough arguments to option %s", sprintf(xorriso->info_text, "-as %s: Not enough arguments to option %s",
whom, argv[i]); whom, argpt);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex; ret= 0; goto ex;
} }
@ -2006,8 +2232,6 @@ not_enough_args:;
strcmp(argpt, "-isohybrid-apm-hfsplus")==0 || strcmp(argpt, "-isohybrid-apm-hfsplus")==0 ||
strcmp(argpt, "-part_like_isohybrid")==0) { strcmp(argpt, "-part_like_isohybrid")==0) {
delay_opt_list[delay_opt_count++]= i; delay_opt_list[delay_opt_count++]= i;
if(argv[i] != argpt)
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
} else if(strcmp(argpt, "-b") == 0 || } else if(strcmp(argpt, "-b") == 0 ||
strcmp(argpt, "-eltorito-boot") == 0 || strcmp(argpt, "-eltorito-boot") == 0 ||
strcmp(argpt, "-eltorito-platform") == 0 || strcmp(argpt, "-eltorito-platform") == 0 ||
@ -2036,16 +2260,12 @@ not_enough_args:;
if(i+1>=argc) if(i+1>=argc)
goto not_enough_args; goto not_enough_args;
delay_opt_list[delay_opt_count++]= i; delay_opt_list[delay_opt_count++]= i;
if(argv[i] != argpt)
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
i++; i++;
} else if(strcmp(argpt, "-hide_iso_path") == 0) { } else if(strcmp(argpt, "-hide_iso_path") == 0) {
if(i + 2 >= argc) if(i + 2 >= argc)
goto not_enough_args; goto not_enough_args;
delay_opt_list[delay_opt_count++]= i; delay_opt_list[delay_opt_count++]= i;
if(argv[i] != argpt)
delay_opt_list[delay_opt_count - 1]|= 1u<<31;
i+= 2; i+= 2;
} else if(strncmp(argpt, "--modification-date=", 20)==0) { } else if(strncmp(argpt, "--modification-date=", 20)==0) {
@ -2375,9 +2595,17 @@ rr_reloc_dir:;
if(ret <= 0) if(ret <= 0)
goto problem_handler_2; goto problem_handler_2;
} else if(argpt[0]=='-' && argpt[1]!=0) { } else if(strcmp(eff_option, "-genisoimage_completion") == 0) {
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1, /* was already handled before this loop */;
} else if(argpt[0]=='-') {
if(strcmp(argpt, argv[i]) == 0) {
/* Was not an incomplete genisoimage option */
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
&option_d, &iso_level, &lower_r, ra_text, 1); &option_d, &iso_level, &lower_r, ra_text, 1);
} else {
ret= 0;
}
if(ret == 1) { if(ret == 1) {
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1, ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
&option_d, &iso_level, &lower_r, ra_text, 0); &option_d, &iso_level, &lower_r, ra_text, 0);
@ -2538,11 +2766,11 @@ problem_handler_2:;
/* After all pathspecs are added: perform delayed options, mostly boot related /* After all pathspecs are added: perform delayed options, mostly boot related
*/ */
for(j= 0; j < delay_opt_count; j++) { for(j= 0; j < delay_opt_count; j++) {
i= delay_opt_list[j] & ~(1u << 31); i= delay_opt_list[j];
if(delay_opt_list[j] & (1u << 31)) Xorriso_genisofs_eff_opt(xorriso, whom, argv[i], &eff_option, 1);
argpt= argv[i] + 1; ret= Xorriso_genisofs_strip_dash(xorriso, (char *) eff_option, &argpt, 0);
else if(ret <= 0)
argpt= argv[i]; goto ex;
if(strcmp(argpt, "-no-emul-boot")==0) { if(strcmp(argpt, "-no-emul-boot")==0) {
xorriso->boot_image_emul= 0; xorriso->boot_image_emul= 0;
xorriso->boot_emul_default= 0; xorriso->boot_emul_default= 0;

View File

@ -1680,6 +1680,25 @@ int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag)
} }
/* Command -genisoimage_completion */
int Xorriso_option_genisoimage_completion(struct XorrisO *xorriso,
char *mode, int flag)
{
if(strcmp(mode, "on") == 0) {
xorriso->genisoimage_completion= 1;
} else if(strcmp(mode, "off") == 0) {
xorriso->genisoimage_completion= 0;
} else {
sprintf(xorriso->info_text, "-genisoimage_completion: unknown mode '%s'",
mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
return(0);
}
return(1);
}
/* Commands -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri /* Commands -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri
-getfattr alias getfattri -getfattr alias getfattri
*/ */
@ -2516,6 +2535,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" For a list of options see -as mkisofs -help.", " For a list of options see -as mkisofs -help.",
" -read_mkisofsrc", " -read_mkisofsrc",
" Read and interpret the .mkisofsrc configuration file.", " Read and interpret the .mkisofsrc configuration file.",
" -genisoimage_completion \"on\"|\"off\"",
" Enable completion of genisoimage options during -as mkisofs.",
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|-multi]", " -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|-multi]",
" path|-", " path|-",
" Perform some cdrecord gestures, eventually write at most one", " Perform some cdrecord gestures, eventually write at most one",

View File

@ -590,7 +590,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"drive_access","dummy","dvd_obs","early_stdio_test","ecma119_map","eject", "drive_access","dummy","dvd_obs","early_stdio_test","ecma119_map","eject",
"extract_boot_images", "extract_boot_images",
"iso_nowtime","iso_rr_pattern","file_name_limit","follow","format","fs", "iso_nowtime","iso_rr_pattern","file_name_limit","follow","format","fs",
"gid","grow_blindly","hardlinks", "genisoimage_completion", "gid", "grow_blindly", "hardlinks",
"hfsplus","history","indev","in_charset","joliet","joliet_map", "hfsplus","history","indev","in_charset","joliet","joliet_map",
"lfa_flags", "lfa_flags",
"list_delimiter","list_extras","list_profiles","local_charset", "list_delimiter","list_extras","list_profiles","local_charset",
@ -1449,6 +1449,10 @@ next_command:;
(*idx)++; (*idx)++;
ret= Xorriso_option_fs(xorriso, arg1, 0); ret= Xorriso_option_fs(xorriso, arg1, 0);
} else if(strcmp(cmd, "genisoimage_completion")==0) {
(*idx)++;
ret= Xorriso_option_genisoimage_completion(xorriso, arg1, 0);
} else if(strcmp(cmd,"getfacl")==0 || strcmp(cmd,"getfacli")==0) { } else if(strcmp(cmd,"getfacl")==0 || strcmp(cmd,"getfacli")==0) {
ret= Xorriso_option_getfacli(xorriso, argc, argv, idx, 0); ret= Xorriso_option_getfacli(xorriso, argc, argv, idx, 0);

View File

@ -3930,6 +3930,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
strcat(line, "\n"); strcat(line, "\n");
if(!(is_default && no_defaults)) if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2); Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->genisoimage_completion == 0);
sprintf(line, "-genisoimage_completion %s\n",
xorriso->genisoimage_completion ? "on" : "off");
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso, filter, fp, flag & 2);
is_default= 1; is_default= 1;
if(xorriso->drive_blacklist != NULL || xorriso->drive_whitelist != NULL || if(xorriso->drive_blacklist != NULL || xorriso->drive_whitelist != NULL ||

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 XORRISO 1 "Version 1.5.7, Aug 28, 2024" .TH XORRISO 1 "Version 1.5.7, Aug 31, 2024"
.\" 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:
@ -5936,6 +5936,26 @@ VOLI (\-volid) , VOLS (\-volset_id)
.br .br
Any other lines will be silently ignored. Any other lines will be silently ignored.
.TP .TP
\fB\-genisoimage_completion\fR "on"|"off"
Enable or disable the completion of genisoimage options during \-as mkisofs
emulation.
.br
If enabled by "on", then unrecognized option arguments which begin by
a dash '\-' get compared against the known genisoimage options, like program
genisoimage does unconditionally (and undocumentedly). If the given argument
matches the beginning of exactly one genisoimage option, then it gets replaced
by that option.
Option arguments which consist entirely of a leading dash and letters out of
"dDfJlNRrTUvz" are not matched but rather interpreted as usual, i.e. as
multiple options with leading dash and each single letter.
If no genisoimage option is found or more than one are found, then a SORRY
message is issued and the argument stays as is.
.br
If disabled by "off", no completion of options happens. Like with enabled
completion, option arguments which consist entirely of letters out of
"dDfJlNRrTUvz" are not matched but rather interpreted as multiple
arguments with leading dash and each single letter.
.TP
\fB\-pacifier\fR behavior_code \fB\-pacifier\fR behavior_code
Control behavior of UPDATE pacifiers during write operations. Control behavior of UPDATE pacifiers during write operations.
The following behavior codes are defined: The following behavior codes are defined:

View File

@ -1643,6 +1643,11 @@ int Xorriso_option_follow(struct XorrisO *xorriso, char *mode, int flag);
/* @since 0.1.0 */ /* @since 0.1.0 */
int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag); int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag);
/* Command -genisoimage_completion */
/* @since 1.5.8 */
int Xorriso_option_genisoimage_completion(struct XorrisO *xorriso,
char *mode, int flag);
/* Commands -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri /* Commands -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri
-getfattr alias getfattri -getfattr alias getfattri
*/ */

View File

@ -4991,6 +4991,24 @@ said programs trigger comparable actions.
APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) , APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) ,
VOLI (-volid) , VOLS (-volset_id) VOLI (-volid) , VOLS (-volset_id)
Any other lines will be silently ignored. Any other lines will be silently ignored.
-genisoimage_completion "on"|"off"
Enable or disable the completion of genisoimage options during -as
mkisofs emulation.
If enabled by "on", then unrecognized option arguments which begin
by a dash '-' get compared against the known genisoimage options,
like program genisoimage does unconditionally (and undocumentedly).
If the given argument matches the beginning of exactly one
genisoimage option, then it gets replaced by that option. Option
arguments which consist entirely of a leading dash and letters out
of "dDfJlNRrTUvz" are not matched but rather interpreted as usual,
i.e. as multiple options with leading dash and each single letter.
If no genisoimage option is found or more than one are found, then
a SORRY message is issued and the argument stays as is.
If disabled by "off", no completion of options happens. Like with
enabled completion, option arguments which consist entirely of
letters out of "dDfJlNRrTUvz" are not matched but rather
interpreted as multiple arguments with leading dash and each single
letter.
-pacifier behavior_code -pacifier behavior_code
Control behavior of UPDATE pacifiers during write operations. The Control behavior of UPDATE pacifiers during write operations. The
following behavior codes are defined: following behavior codes are defined:
@ -6086,6 +6104,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -format formats media: Writing. (line 87) * -format formats media: Writing. (line 87)
* -for_backup acl,xattr,hardlinks,md5,lfa_flags: Loading. (line 304) * -for_backup acl,xattr,hardlinks,md5,lfa_flags: Loading. (line 304)
* -fs sets size of fifo: SetWrite. (line 500) * -fs sets size of fifo: SetWrite. (line 500)
* -genisoimage_completion completion of genisoimage options: Emulation.
(line 166)
* -getfacl shows ACL in ISO image: Navigate. (line 60) * -getfacl shows ACL in ISO image: Navigate. (line 60)
* -getfacl_r shows ACL in ISO image: Navigate. (line 66) * -getfacl_r shows ACL in ISO image: Navigate. (line 66)
* -getfattr shows xattr in ISO image: Navigate. (line 69) * -getfattr shows xattr in ISO image: Navigate. (line 69)
@ -6152,7 +6172,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -outdev acquires a drive for output: AqDrive. (line 29) * -outdev acquires a drive for output: AqDrive. (line 29)
* -out_charset sets output character set: SetWrite. (line 306) * -out_charset sets output character set: SetWrite. (line 306)
* -overwrite enables overwriting in ISO: SetInsert. (line 140) * -overwrite enables overwriting in ISO: SetInsert. (line 140)
* -pacifier controls pacifier text form: Emulation. (line 166) * -pacifier controls pacifier text form: Emulation. (line 184)
* -padding sets amount or mode of image padding: SetWrite. (line 528) * -padding sets amount or mode of image padding: SetWrite. (line 528)
* -page set terminal geometry: DialogCtl. (line 18) * -page set terminal geometry: DialogCtl. (line 18)
* -paste_in copies file into disk file: Restore. (line 142) * -paste_in copies file into disk file: Restore. (line 142)
@ -6191,7 +6211,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rollback_end ends program without writing: Scripting. (line 156) * -rollback_end ends program without writing: Scripting. (line 156)
* -rom_toc_scan searches for sessions: Loading. (line 408) * -rom_toc_scan searches for sessions: Loading. (line 408)
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 171) * -rr_reloc_dir sets name of relocation directory: SetWrite. (line 171)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 197)
* -scsi_dev_family choose Linux device file type: AqDrive. (line 95) * -scsi_dev_family choose Linux device file type: AqDrive. (line 95)
* -scsi_log reports SCSI commands: Scripting. (line 145) * -scsi_log reports SCSI commands: Scripting. (line 145)
* -session_log logs written sessions: Scripting. (line 136) * -session_log logs written sessions: Scripting. (line 136)
@ -6269,7 +6289,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backslash Interpretation, _definition: Processing. (line 57) * Backslash Interpretation, _definition: Processing. (line 57)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 356) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 356)
* Backup, enable features, -for_backup: Loading. (line 304) * Backup, enable features, -for_backup: Loading. (line 304)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 197)
* Blank media, _definition: Media. (line 34) * Blank media, _definition: Media. (line 34)
* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 478) * Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 478)
* Blind growing, _definition: Methods. (line 41) * Blind growing, _definition: Methods. (line 41)
@ -6328,7 +6348,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155) * Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155)
* Emulation, cdrecord, -as: Emulation. (line 120) * Emulation, cdrecord, -as: Emulation. (line 120)
* Emulation, mkisofs, -as: Emulation. (line 17) * Emulation, mkisofs, -as: Emulation. (line 17)
* Emulation, pacifier form, -pacifier: Emulation. (line 166) * Emulation, options completion, -genisoimage_completion: Emulation.
(line 166)
* Emulation, pacifier form, -pacifier: Emulation. (line 184)
* Examples: Examples. (line 6) * Examples: Examples. (line 6)
* extattr, _definition: Extras. (line 66) * extattr, _definition: Extras. (line 66)
* File content, copy, -concat: Restore. (line 148) * File content, copy, -concat: Restore. (line 148)
@ -6612,31 +6634,31 @@ Node: Navigate230200
Node: Verify241417 Node: Verify241417
Node: Restore252566 Node: Restore252566
Node: Emulation264773 Node: Emulation264773
Node: Scripting275229 Node: Scripting276349
Node: Frontend283123 Node: Frontend284243
Node: Examples292749 Node: Examples293869
Node: ExDevices293927 Node: ExDevices295047
Node: ExCreate294588 Node: ExCreate295708
Node: ExDialog295888 Node: ExDialog297008
Node: ExGrowing297159 Node: ExGrowing298279
Node: ExModifying297968 Node: ExModifying299088
Node: ExBootable298478 Node: ExBootable299598
Node: ExCharset299033 Node: ExCharset300153
Node: ExPseudo299929 Node: ExPseudo301049
Node: ExCdrecord300856 Node: ExCdrecord301976
Node: ExMkisofs301176 Node: ExMkisofs302296
Node: ExGrowisofs303073 Node: ExGrowisofs304193
Node: ExException304226 Node: ExException305346
Node: ExTime304684 Node: ExTime305804
Node: ExIncBackup305142 Node: ExIncBackup306262
Node: ExRestore309168 Node: ExRestore310288
Node: ExRecovery310114 Node: ExRecovery311234
Node: Files310686 Node: Files311806
Node: Environ312020 Node: Environ313140
Node: Seealso312768 Node: Seealso313888
Node: Bugreport313532 Node: Bugreport314652
Node: Legal314123 Node: Legal315243
Node: CommandIdx315135 Node: CommandIdx316255
Node: ConceptIdx333464 Node: ConceptIdx334729
 
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 XORRISO 1 "Version 1.5.7, Aug 28, 2024" @c man .TH XORRISO 1 "Version 1.5.7, Aug 31, 2024"
@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:
@ -6738,6 +6738,28 @@ VOLI (-volid) , VOLS (-volset_id)
@* @*
Any other lines will be silently ignored. Any other lines will be silently ignored.
@c man .TP @c man .TP
@item -genisoimage_completion "on"|"off"
@kindex -genisoimage_completion completion of genisoimage options
@cindex Emulation, options completion, -genisoimage_completion
Enable or disable the completion of genisoimage options during -as mkisofs
emulation.
@*
If enabled by "on", then unrecognized option arguments which begin by
a dash '-' get compared against the known genisoimage options, like program
genisoimage does unconditionally (and undocumentedly). If the given argument
matches the beginning of exactly one genisoimage option, then it gets replaced
by that option.
Option arguments which consist entirely of a leading dash and letters out of
"dDfJlNRrTUvz" are not matched but rather interpreted as usual, i.e. as
multiple options with leading dash and each single letter.
If no genisoimage option is found or more than one are found, then a SORRY
message is issued and the argument stays as is.
@*
If disabled by "off", no completion of options happens. Like with enabled
completion, option arguments which consist entirely of letters out of
"dDfJlNRrTUvz" are not matched but rather interpreted as multiple
arguments with leading dash and each single letter.
@c man .TP
@item -pacifier behavior_code @item -pacifier behavior_code
@kindex -pacifier controls pacifier text form @kindex -pacifier controls pacifier text form
@cindex Emulation, pacifier form, -pacifier @cindex Emulation, pacifier form, -pacifier

View File

@ -107,6 +107,11 @@ struct XorrisO { /* the global context of xorriso */
*/ */
int argument_emulation; int argument_emulation;
/* Whether to try completion of unrecognized options to known genisoimage
options. 0=no, 1=yes.
*/
int genisoimage_completion;
/* Under which interpreter the current activities are running: /* Under which interpreter the current activities are running:
0=xorriso mode : Xorriso_interpreter() 0=xorriso mode : Xorriso_interpreter()
1=mkisofs mode : Xorriso_genisofs() 1=mkisofs mode : Xorriso_genisofs()

View File

@ -1 +1 @@
#define Xorriso_timestamP "2024.09.01.071910" #define Xorriso_timestamP "2024.09.02.130343"

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.5.7, Jul 21, 2024" .TH XORRISOFS 1 "Version 1.5.7, Aug 30, 2024"
.\" 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:
@ -677,7 +677,7 @@ Alias of \-rr_reloc_dir "/.rr_moved"
Enable all options which improve backup fidelity: Enable all options which improve backup fidelity:
.br .br
\-\-acl, \-\-xattr\-any, \-\-md5, \-\-acl, \-\-xattr\-any, \-\-md5,
\-\-hardlinks, \-\-lfa_flags. \-\-hardlinks, and possibly \-\-lfa_flags.
.br .br
If you later restore a backup with xattr from non\-user namespaces, then make If you later restore a backup with xattr from non\-user namespaces, then make
sure that the target operating system and filesystem know what these attributes sure that the target operating system and filesystem know what these attributes
@ -687,6 +687,10 @@ privileges and just record what is readable.
.br .br
Option \-\-xattr after option \-\-for_backup excludes Option \-\-xattr after option \-\-for_backup excludes
non\-user attributes from being recorded. non\-user attributes from being recorded.
.br
Option \-\-for_backup enables \-\-lfa_flags only if
the underlying libisofs was compiled with support for Linux file attributes,
which is typically not the case on non\-Linux systems.
.TP .TP
\fB--acl\fR \fB--acl\fR
.br .br
@ -1717,6 +1721,25 @@ The rules for list_of_names are the same as with \-checksum_algorithm_iso.
.TP .TP
.B Miscellaneous options: .B Miscellaneous options:
.TP .TP
\fB\-genisoimage_completion\fR
Match unrecognized option arguments which begin by a dash '\-' against the
known genisoimage options, like program
genisoimage does unconditionally (and undocumentedly). If the given argument
matches the beginning of exactly one genisoimage option, then it gets replaced
by that option. Options which are genuine to mkisofs or xorriso's mkisofs
emulation are not matched that way.
Option arguments which consist entirely of a leading dash and letters out of
"dDfJlNRrTUvz" are not matched but rather interpreted as usual, i.e. as
multiple options with leading dash and each single letter.
If no genisoimage option is found or more than one are found, then a SORRY
message is issued and the argument stays as is.
.br
To enable this mode by default, write the xorriso command
.br
\-genisoimage_completion on
.br
into one of the xorriso start files. See section FILES.
.TP
\fB\-print-size\fR \fB\-print-size\fR
Print to stdandard output the foreseeable number of 2048 byte blocks in Print to stdandard output the foreseeable number of 2048 byte blocks in
the emerging ISO image. Do not produce this image. the emerging ISO image. Do not produce this image.

View File

@ -3,7 +3,7 @@ xorrisofs.texi.
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
Copyright (C) 2011 - 2023 Thomas Schmitt Copyright (C) 2011 - 2024 Thomas Schmitt
Permission is granted to distribute this text freely. Permission is granted to distribute this text freely.
INFO-DIR-SECTION Archiving INFO-DIR-SECTION Archiving
@ -614,7 +614,7 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op
Alias of -rr_reloc_dir "/.rr_moved" Alias of -rr_reloc_dir "/.rr_moved"
--for_backup --for_backup
Enable all options which improve backup fidelity: Enable all options which improve backup fidelity:
--acl, --xattr-any, --md5, --hardlinks, --lfa_flags. --acl, --xattr-any, --md5, --hardlinks, and possibly --lfa_flags.
If you later restore a backup with xattr from non-user namespaces, If you later restore a backup with xattr from non-user namespaces,
then make sure that the target operating system and filesystem know then make sure that the target operating system and filesystem know
what these attributes mean. Possibly you will need administrator what these attributes mean. Possibly you will need administrator
@ -623,6 +623,9 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op
record what is readable. record what is readable.
Option --xattr after option --for_backup excludes non-user Option --xattr after option --for_backup excludes non-user
attributes from being recorded. attributes from being recorded.
Option --for_backup enables --lfa_flags only if the underlying
libisofs was compiled with support for Linux file attributes, which
is typically not the case on non-Linux systems.
--acl --acl
Enable recording and loading of ACLs from GNU/Linux or FreeBSD (see Enable recording and loading of ACLs from GNU/Linux or FreeBSD (see
@ -1497,6 +1500,21 @@ File: xorrisofs.info, Node: Miscellaneous, Next: ExSimple, Prev: Jigdo, Up:
========================== ==========================
-genisoimage_completion
Match unrecognized option arguments which begin by a dash '-'
against the known genisoimage options, like program genisoimage
does unconditionally (and undocumentedly). If the given argument
matches the beginning of exactly one genisoimage option, then it
gets replaced by that option. Options which are genuine to mkisofs
or xorriso's mkisofs emulation are not matched that way. Option
arguments which consist entirely of a leading dash and letters out
of "dDfJlNRrTUvz" are not matched but rather interpreted as usual,
i.e. as multiple options with leading dash and each single letter.
If no genisoimage option is found or more than one are found, then
a SORRY message is issued and the argument stays as is.
To enable this mode by default, write the xorriso command
-genisoimage_completion on
into one of the xorriso start files. See section FILES.
-print-size -print-size
Print to stdandard output the foreseeable number of 2048 byte Print to stdandard output the foreseeable number of 2048 byte
blocks in the emerging ISO image. Do not produce this image. blocks in the emerging ISO image. Do not produce this image.
@ -2047,7 +2065,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
[index] [index]
* Menu: * Menu:
* --acl Recording of ACLs: SetExtras. (line 103) * --acl Recording of ACLs: SetExtras. (line 106)
* --application_use set Application Use field: ImageId. (line 79) * --application_use set Application Use field: ImageId. (line 79)
* --boot-catalog-hide Hide El Torito boot catalog: Bootable. (line 121) * --boot-catalog-hide Hide El Torito boot catalog: Bootable. (line 121)
* --efi-boot El Torito EFI boot image: Bootable. (line 59) * --efi-boot El Torito EFI boot image: Bootable. (line 59)
@ -2061,15 +2079,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 109) * --grub2-boot-info Patch El Torito boot image: Bootable. (line 109)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81) * --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 325) * --grub2-sparc-core SUN SPARC core file: SystemArea. (line 325)
* --hardlinks Recording of hardlink relations: SetExtras. (line 139) * --hardlinks Recording of hardlink relations: SetExtras. (line 142)
* --lfa_flags Recording of Linux file attributes: SetExtras. (line 122) * --lfa_flags Recording of Linux file attributes: SetExtras. (line 125)
* --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea. * --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea.
(line 148) (line 148)
* --md5 Recording of MD5 checksums: SetExtras. (line 131) * --md5 Recording of MD5 checksums: SetExtras. (line 134)
* --modification-date set ISO image timestamps: ImageId. (line 70) * --modification-date set ISO image timestamps: ImageId. (line 70)
* --no-emul-toc no table-of-content emulation: SetProduct. (line 41) * --no-emul-toc no table-of-content emulation: SetProduct. (line 41)
* --norock disable Rock Ridge production: SetExtras. (line 28) * --norock disable Rock Ridge production: SetExtras. (line 28)
* --no_rc do not execute startup files: Miscellaneous. (line 18) * --no_rc do not execute startup files: Miscellaneous. (line 33)
* --old-empty old block addresses for empty files: SetProduct. * --old-empty old block addresses for empty files: SetProduct.
(line 105) (line 105)
* --old-root-devno enable disk idevno with -old-root: SetInsert. * --old-root-devno enable disk idevno with -old-root: SetInsert.
@ -2081,7 +2099,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 143) (line 143)
* --quoted_path_list read pathspecs from disk file: SetInsert. * --quoted_path_list read pathspecs from disk file: SetInsert.
(line 12) (line 12)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 147) * --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 150)
* --set_all_file_dates set all file timestamps: SetExtras. (line 35) * --set_all_file_dates set all file timestamps: SetExtras. (line 35)
* --sort-weight set block address sorting weight: SetProduct. (line 45) * --sort-weight set block address sorting weight: SetProduct. (line 45)
* --sort-weight-list set block address sorting weight: SetProduct. * --sort-weight-list set block address sorting weight: SetProduct.
@ -2090,8 +2108,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 76) (line 76)
* --stdio_sync control forced output to disk files: SetProduct. * --stdio_sync control forced output to disk files: SetProduct.
(line 23) (line 23)
* --xattr Recording of any xattr: SetExtras. (line 116) * --xattr Recording of any xattr: SetExtras. (line 119)
* --xattr Recording of user xattr: SetExtras. (line 109) * --xattr Recording of user xattr: SetExtras. (line 112)
* --zisofs-version-2 enable recognition of zisofs2 files: SetInsert. * --zisofs-version-2 enable recognition of zisofs2 files: SetInsert.
(line 65) (line 65)
* --zisofs2-susp-z2 produce Z2 for version 2 instead of ZF: SetInsert. * --zisofs2-susp-z2 produce Z2 for version 2 instead of ZF: SetInsert.
@ -2153,21 +2171,23 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 59) (line 59)
* -G Fill System Area e.g. by MBR: SystemArea. (line 68) * -G Fill System Area e.g. by MBR: SystemArea. (line 68)
* -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 77) * -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 77)
* -genisoimage_completion completion of genisoimage options: Miscellaneous.
(line 8)
* -gid group assignment for all files: SetProduct. (line 83) * -gid group assignment for all files: SetProduct. (line 83)
* -graft-points enable target=source pathspecs: SetInsert. (line 38) * -graft-points enable target=source pathspecs: SetInsert. (line 38)
* -gui increase frequency of pacifier messages: Miscellaneous. * -gui increase frequency of pacifier messages: Miscellaneous.
(line 29) (line 44)
* -hard-disk-boot El Torito boot image emulation: Bootable. (line 83) * -hard-disk-boot El Torito boot image emulation: Bootable. (line 83)
* -help list supported options: Miscellaneous. (line 21) * -help list supported options: Miscellaneous. (line 36)
* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 230) * -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 233)
* -hfs-bless-by HFS+ blessing: SetExtras. (line 220) * -hfs-bless-by HFS+ blessing: SetExtras. (line 223)
* -hfsplus enable production of HFS+ partition: SetExtras. (line 173) * -hfsplus enable production of HFS+ partition: SetExtras. (line 176)
* -hfsplus-block-size set APM block size: SetExtras. (line 210) * -hfsplus-block-size set APM block size: SetExtras. (line 213)
* -hfsplus-block-size set HFS+ allocation block size: SetExtras. * -hfsplus-block-size set HFS+ allocation block size: SetExtras.
(line 206) (line 209)
* -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras. * -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras.
(line 217) (line 220)
* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 202) * -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 205)
* -hide keep matching files invisible in ISO tree: SetHide. (line 8) * -hide keep matching files invisible in ISO tree: SetHide. (line 8)
* -hide-hfsplus keep matching files invisible in HFS+ tree: SetHide. * -hide-hfsplus keep matching files invisible in HFS+ tree: SetHide.
(line 25) (line 25)
@ -2198,7 +2218,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea. (line 87) * -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea. (line 87)
* -iso_mbr_part_type Set type of ISO MBR partition: SystemArea. * -iso_mbr_part_type Set type of ISO MBR partition: SystemArea.
(line 129) (line 129)
* -J enable production of Joliet directory tree: SetExtras. (line 156) * -J enable production of Joliet directory tree: SetExtras. (line 159)
* -jigdo-checksum-algorithm set data file checksum algorithm: Jigdo. * -jigdo-checksum-algorithm set data file checksum algorithm: Jigdo.
(line 42) (line 42)
* -jigdo-exclude add exclusion pattern for checksum file: Jigdo. * -jigdo-exclude add exclusion pattern for checksum file: Jigdo.
@ -2214,11 +2234,11 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -jigdo-template-compress choose compression algorithm: Jigdo. * -jigdo-template-compress choose compression algorithm: Jigdo.
(line 83) (line 83)
* -joliet enable production of Joliet directory tree: SetExtras. * -joliet enable production of Joliet directory tree: SetExtras.
(line 160) (line 163)
* -joliet-long allow longer Joliet names: SetExtras. (line 162) * -joliet-long allow longer Joliet names: SetExtras. (line 165)
* -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 168) * -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 171)
* -l allow 31 characters in ISO file names: SetCompl. (line 56) * -l allow 31 characters in ISO file names: SetCompl. (line 56)
* -log-file redirect stderr messages: Miscellaneous. (line 33) * -log-file redirect stderr messages: Miscellaneous. (line 48)
* -m exclude disk files from inserting: SetInsert. (line 41) * -m exclude disk files from inserting: SetInsert. (line 41)
* -M set path for loading existing ISO image: Loading. (line 11) * -M set path for loading existing ISO image: Loading. (line 11)
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl. * -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
@ -2253,9 +2273,9 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -preparer set Preparer Id: ImageId. (line 55) * -preparer set Preparer Id: ImageId. (line 55)
* -prev-session set path for loading existing ISO image: Loading. * -prev-session set path for loading existing ISO image: Loading.
(line 21) (line 21)
* -print-size predict ISO image size: Miscellaneous. (line 8) * -print-size predict ISO image size: Miscellaneous. (line 23)
* -publisher set Publisher Id: ImageId. (line 32) * -publisher set Publisher Id: ImageId. (line 32)
* -quiet suppress most messages: Miscellaneous. (line 25) * -quiet suppress most messages: Miscellaneous. (line 40)
* -R Rock Ridge (is enabled by default): SetExtras. (line 8) * -R Rock Ridge (is enabled by default): SetExtras. (line 8)
* -r Rock Ridge with altered owner and permission: SetExtras. (line 16) * -r Rock Ridge with altered owner and permission: SetExtras. (line 16)
* -rational-rock Rock Ridge with altered owner and permission: SetExtras. * -rational-rock Rock Ridge with altered owner and permission: SetExtras.
@ -2276,10 +2296,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -untranslated-filenames very relaxed filename rules: SetCompl. * -untranslated-filenames very relaxed filename rules: SetCompl.
(line 34) (line 34)
* -untranslated_name_len untranslated file names: SetCompl. (line 36) * -untranslated_name_len untranslated file names: SetCompl. (line 36)
* -v enable verbose messages: Miscellaneous. (line 38) * -v enable verbose messages: Miscellaneous. (line 53)
* -V set Volume Id: ImageId. (line 13) * -V set Volume Id: ImageId. (line 13)
* -verbose enable verbose messages: Miscellaneous. (line 41) * -verbose enable verbose messages: Miscellaneous. (line 56)
* -version report program version: Miscellaneous. (line 43) * -version report program version: Miscellaneous. (line 58)
* -volid set Volume Id: ImageId. (line 23) * -volid set Volume Id: ImageId. (line 23)
* -volset set Volume Set Id: ImageId. (line 25) * -volset set Volume Set Id: ImageId. (line 25)
* -x exclude disk files from inserting: SetInsert. (line 49) * -x exclude disk files from inserting: SetInsert. (line 49)
@ -2295,7 +2315,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Menu: * Menu:
* Abstract File, set path, -abstract: ImageId. (line 57) * Abstract File, set path, -abstract: ImageId. (line 57)
* ACL, record and load, --acl: SetExtras. (line 103) * ACL, record and load, --acl: SetExtras. (line 106)
* APM, mark appended partitions, -appended_part_as_apm: SystemArea. * APM, mark appended partitions, -appended_part_as_apm: SystemArea.
(line 253) (line 253)
* APM, _definition: SystemArea. (line 16) * APM, _definition: SystemArea. (line 16)
@ -2398,14 +2418,14 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 238) (line 238)
* GPT, _definition: SystemArea. (line 13) * GPT, _definition: SystemArea. (line 13)
* Group, for all files, -gid: SetProduct. (line 83) * Group, for all files, -gid: SetProduct. (line 83)
* HFS+, enables production: SetExtras. (line 173) * HFS+, enables production: SetExtras. (line 176)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 230) * HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 233)
* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 220) * HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 223)
* HFS+, set allocation block size: SetExtras. (line 206) * HFS+, set allocation block size: SetExtras. (line 209)
* HFS+, set APM block size: SetExtras. (line 210) * HFS+, set APM block size: SetExtras. (line 213)
* HFS+, set creator and type of file, -hfsplus-file-creator-type: SetExtras. * HFS+, set creator and type of file, -hfsplus-file-creator-type: SetExtras.
(line 217) (line 220)
* HFS+, set serial number: SetExtras. (line 202) * HFS+, set serial number: SetExtras. (line 205)
* HFS+, _definition: Standards. (line 32) * HFS+, _definition: Standards. (line 32)
* Hiding, by ISO RR path, -hide_iso_path: SetHide. (line 31) * Hiding, by ISO RR path, -hide_iso_path: SetHide. (line 31)
* Hiding, from HFS+, -hide-hfsplus: SetHide. (line 25) * Hiding, from HFS+, -hide-hfsplus: SetHide. (line 25)
@ -2442,7 +2462,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 36) (line 36)
* ISO file names, very relaxed rules, -U, -untranslated-filenames: SetCompl. * ISO file names, very relaxed rules, -U, -untranslated-filenames: SetCompl.
(line 27) (line 27)
* ISO image size, predict, -print-size: Miscellaneous. (line 8) * ISO image size, predict, -print-size: Miscellaneous. (line 23)
* ISO image, set Application Use field, --application_use: ImageId. * ISO image, set Application Use field, --application_use: ImageId.
(line 79) (line 79)
* ISO image, set timestamps, --modification-date=: ImageId. (line 70) * ISO image, set timestamps, --modification-date=: ImageId. (line 70)
@ -2468,24 +2488,25 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 83) * Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 83)
* Jigdo Template Extraction, -md5-list: Jigdo. (line 81) * Jigdo Template Extraction, -md5-list: Jigdo. (line 81)
* Jigdo Template Extraction, _definition: Jigdo. (line 6) * Jigdo Template Extraction, _definition: Jigdo. (line 6)
* Joliet, allows longer names, -joliet-long: SetExtras. (line 162) * Joliet, allows longer names, -joliet-long: SetExtras. (line 165)
* Joliet, enable, -J, -joliet: SetExtras. (line 156) * Joliet, enable, -J, -joliet: SetExtras. (line 159)
* Joliet, _definition: Standards. (line 21) * Joliet, _definition: Standards. (line 21)
* Links, follow on disk, -f, -follow-links: SetInsert. (line 32) * Links, follow on disk, -f, -follow-links: SetInsert. (line 32)
* Links, record and load hard links, --hardlinks: SetExtras. (line 139) * Links, record and load hard links, --hardlinks: SetExtras. (line 142)
* Linux file attributes, record and load, --lfa_flags: SetExtras. * Linux file attributes, record and load, --lfa_flags: SetExtras.
(line 122) (line 125)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 208) * MBR, GPT, append partition, -append_partition: SystemArea. (line 208)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 180) * MBR, sectors per head, -partition_sec_hd: SystemArea. (line 180)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 183) * MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 183)
* MBR, _definition: SystemArea. (line 9) * MBR, _definition: SystemArea. (line 9)
* MD5, record and load, --md5: SetExtras. (line 131) * MD5, record and load, --md5: SetExtras. (line 134)
* Message output, increase frequency, -gui: Miscellaneous. (line 29) * Message output, increase frequency, -gui: Miscellaneous. (line 44)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 33) * Message output, redirect stderr, -log-file: Miscellaneous. (line 48)
* Message output, suppress, -quiet: Miscellaneous. (line 25) * Message output, suppress, -quiet: Miscellaneous. (line 40)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea. * Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 169) (line 169)
* Options, list, -help: Miscellaneous. (line 21) * Options completion, -genisoimage_completion: Miscellaneous. (line 8)
* Options, list, -help: Miscellaneous. (line 36)
* Output file, set address, -o, -output: SetProduct. (line 8) * Output file, set address, -o, -output: SetProduct. (line 8)
* Ownership, for all files, -uid: SetProduct. (line 79) * Ownership, for all files, -uid: SetProduct. (line 79)
* Padding, 300 KiB, -pad: SetProduct. (line 94) * Padding, 300 KiB, -pad: SetProduct. (line 94)
@ -2499,28 +2520,28 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Permissions, for all directories, -dir-mode: SetProduct. (line 87) * Permissions, for all directories, -dir-mode: SetProduct. (line 87)
* Preparer Id, set, -p: ImageId. (line 47) * Preparer Id, set, -p: ImageId. (line 47)
* Problems, reporting: Bugreport. (line 6) * Problems, reporting: Bugreport. (line 6)
* Program version, report, -version: Miscellaneous. (line 43) * Program version, report, -version: Miscellaneous. (line 58)
* Publisher Id, set, -P, -publisher: ImageId. (line 28) * Publisher Id, set, -P, -publisher: ImageId. (line 28)
* Rock Ridge, (enabled by default), -R, -rock: SetExtras. (line 8) * Rock Ridge, (enabled by default), -R, -rock: SetExtras. (line 8)
* Rock Ridge, altered owner and permission, -r, -rational-rock: SetExtras. * Rock Ridge, altered owner and permission, -r, -rational-rock: SetExtras.
(line 16) (line 16)
* Rock Ridge, disable production, --norock: SetExtras. (line 28) * Rock Ridge, disable production, --norock: SetExtras. (line 28)
* Rock Ridge, _definition: Standards. (line 14) * Rock Ridge, _definition: Standards. (line 14)
* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 147) * scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 150)
* Session, select path, -M, -prev-session, -dev: Loading. (line 11) * Session, select path, -M, -prev-session, -dev: Loading. (line 11)
* Session, set load and write address, -C, -cdrecord-params: Loading. * Session, set load and write address, -C, -cdrecord-params: Loading.
(line 25) (line 25)
* Startup files, suppress, --no_rc: Miscellaneous. (line 18) * Startup files, suppress, --no_rc: Miscellaneous. (line 33)
* System Area, _definition: SystemArea. (line 6) * System Area, _definition: SystemArea. (line 6)
* System Id, set, -sysid: ImageId. (line 43) * System Id, set, -sysid: ImageId. (line 43)
* Table-of-content, emulation off, --no-emul-toc: SetProduct. (line 41) * Table-of-content, emulation off, --no-emul-toc: SetProduct. (line 41)
* Table-of-content, emulation, --emul-toc: SetProduct. (line 33) * Table-of-content, emulation, --emul-toc: SetProduct. (line 33)
* UTF-16, for Joliet paths, -joliet-utf16: SetExtras. (line 168) * UTF-16, for Joliet paths, -joliet-utf16: SetExtras. (line 171)
* Verbosity, high, -v, -verbose: Miscellaneous. (line 38) * Verbosity, high, -v, -verbose: Miscellaneous. (line 53)
* Volume Id, set, -V, -volid: ImageId. (line 13) * Volume Id, set, -V, -volid: ImageId. (line 13)
* Volume Set Id, set, -volset: ImageId. (line 25) * Volume Set Id, set, -volset: ImageId. (line 25)
* xattr, record and load, --xattr: SetExtras. (line 109) * xattr, record and load, --xattr: SetExtras. (line 112)
* xattr, record and load, --xattr-any: SetExtras. (line 116) * xattr, record and load, --xattr-any: SetExtras. (line 119)
* xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, mkisofs emulation: Xorriso. (line 6)
* xorriso, options: Options. (line 6) * xorriso, options: Options. (line 6)
* Z2 instead of ZF for version 2, -zisofs2-susp-z2: SetInsert. * Z2 instead of ZF for version 2, -zisofs2-susp-z2: SetInsert.
@ -2546,27 +2567,27 @@ Node: SetInsert9530
Node: SetProduct15465 Node: SetProduct15465
Node: SetCompl21037 Node: SetCompl21037
Node: SetExtras23629 Node: SetExtras23629
Node: SetHide35680 Node: SetHide35887
Node: ImageId37679 Node: ImageId37886
Node: Bootable41961 Node: Bootable42168
Node: SystemArea48247 Node: SystemArea48454
Node: Charset67975 Node: Charset68182
Node: Jigdo69000 Node: Jigdo69207
Node: Miscellaneous73970 Node: Miscellaneous74177
Node: Examples75615 Node: Examples76773
Node: ExSimple76109 Node: ExSimple77267
Node: ExGraft76592 Node: ExGraft77750
Node: ExMkisofs77892 Node: ExMkisofs79050
Node: ExGrowisofs79700 Node: ExGrowisofs80858
Node: ExIncBackup80890 Node: ExIncBackup82048
Node: ExIncBckAcc84066 Node: ExIncBckAcc85224
Node: ExBootable85771 Node: ExBootable86929
Node: Files89953 Node: Files91111
Node: Environ91048 Node: Environ92206
Node: Seealso91921 Node: Seealso93079
Node: Bugreport92598 Node: Bugreport93756
Node: Legal93191 Node: Legal94349
Node: CommandIdx94088 Node: CommandIdx95246
Node: ConceptIdx111299 Node: ConceptIdx112606
 
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.5.7, Jul 23, 2024" @c man .TH XORRISOFS 1 "Version 1.5.7, Aug 30, 2024"
@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:
@ -2245,6 +2245,27 @@ The rules for list_of_names are the same as with -checksum_algorithm_iso.
@table @asis @table @asis
@sp 1 @sp 1
@c man .TP @c man .TP
@item -genisoimage_completion
@kindex -genisoimage_completion completion of genisoimage options
@cindex Options completion, -genisoimage_completion
Match unrecognized option arguments which begin by a dash '-' against the
known genisoimage options, like program
genisoimage does unconditionally (and undocumentedly). If the given argument
matches the beginning of exactly one genisoimage option, then it gets replaced
by that option. Options which are genuine to mkisofs or xorriso's mkisofs
emulation are not matched that way.
Option arguments which consist entirely of a leading dash and letters out of
"dDfJlNRrTUvz" are not matched but rather interpreted as usual, i.e. as
multiple options with leading dash and each single letter.
If no genisoimage option is found or more than one are found, then a SORRY
message is issued and the argument stays as is.
@*
To enable this mode by default, write the xorriso command
@*
-genisoimage_completion on
@*
into one of the xorriso start files. See section FILES.
@c man .TP
@item -print-size @item -print-size
@kindex -print-size predict ISO image size @kindex -print-size predict ISO image size
@cindex ISO image size, predict, -print-size @cindex ISO image size, predict, -print-size