New -as mkisofs options -jigdo-* and -md5-list as of genisoimage

This commit is contained in:
2010-09-29 09:24:20 +00:00
parent ea0b38d44c
commit c35834e0c1
13 changed files with 239 additions and 5 deletions

View File

@ -712,6 +712,14 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -biblio FILE Set Bibliographic filename",
" -copyright FILE Set Copyright filename",
" -p PREP, -preparer PREP Set Volume preparer",
" -jigdo-jigdo FILE Produce a jigdo .jigdo file as well as the .iso",
" -jigdo-template FILE Produce a jigdo .template file as well as the .iso",
" -jigdo-min-file-size SIZE Minimum size for a file to be listed in the jigdo file",
" -jigdo-force-md5 PATTERN Pattern(s) where files MUST match an externally-supplied MD5sum",
" -jigdo-exclude PATTERN Pattern(s) to exclude from the jigdo file",
" -jigdo-map PATTERN1=PATTERN2",
" Pattern(s) to map paths (e.g. Debian=/mirror/debian)",
" -md5-list FILE File containing MD5 sums of the files that should be checked",
" -b FILE, -eltorito-boot FILE",
" Set El Torito boot image name",
" -eltorito-alt-boot Start specifying alternative El Torito boot parameters",
@ -853,7 +861,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int *delay_opt_list= NULL, delay_opt_count= 0;
char sfe[5*SfileadrL], adr[SfileadrL+8], ra_text[80], pathspec[2*SfileadrL];
char *ept, *add_pt, eff_path[SfileadrL], indev[SfileadrL+8], msc[80], *cpt;
char *boot_path;
char *boot_path, *jkey;
static char *sort_weight_args[4]= {"", "-exec", "sort_weight", ""};
strcpy(ra_text, xorriso->report_about_text);
@ -1310,7 +1318,40 @@ not_enough_args:;
if(ret<=0)
goto problem_handler_2;
file_mode= mode_or;
} else if(strncmp(argv[i], "-jigdo-", 7) == 0) {
if(i+1>=argc)
goto not_enough_args;
i++;
cpt= argv[i - 1] + 7;
if(strcmp(cpt, "jigdo") == 0)
jkey= "jigdo_path";
else if(strcmp(cpt, "template") == 0)
jkey= "template_path";
else if(strcmp(cpt, "min-file-size") == 0)
jkey= "min_size";
else if(strcmp(cpt, "force-md5") == 0)
jkey= "demand_md5";
else if(strcmp(cpt, "exclude") == 0)
jkey= "exclude";
else if(strcmp(cpt, "map") == 0)
jkey= "mapping";
else {
i--;
goto is_unknown_option_2;
}
ret= Xorriso_jigdo_interpreter(xorriso, jkey, argv[i], 0);
if(ret <= 0)
goto problem_handler_2;
} else if(strncmp(argv[i], "-md5-list", 7) == 0) {
if(i+1>=argc)
goto not_enough_args;
i++;
ret= Xorriso_jigdo_interpreter(xorriso, "md5_path", argv[i], 0);
if(ret <= 0)
goto problem_handler_2;
} else if(argv[i][0]=='-' && argv[i][1]!=0) {
is_unknown_option_2:;
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1);
if(ret > 0) {
sprintf(xorriso->info_text, "-as %s: Unsupported option %s",