New -as mkisofs options -root , -old-root, --old-root-no-md5, --old-root-no-ino, --old-root-dev

This commit is contained in:
Thomas Schmitt 2011-02-07 18:43:06 +00:00
parent 08e439c48d
commit 0431d89738
10 changed files with 284 additions and 84 deletions

View File

@ -534,6 +534,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"--hardlinks", "--acl", "--xattr", "--md5", "--for_backup",
"--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc",
"--emul-toc", "-disallow_dir_id_ext", "--old-empty",
"--old-root-no-md5", "--old-root-devno", "--old-root-no-ino",
""
};
static char arg1_options[][41]= {
@ -624,10 +625,10 @@ int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
""
};
static char ignored_arg1_options[][41]= {
"-check-session", "-hide-hfs", "-hide-hfs-list", "-root",
"-old-root", "-table-name", "-volset-seqno", "-volset-size",
"-check-session", "-hide-hfs", "-hide-hfs-list",
"-table-name", "-volset-seqno", "-volset-size",
""
};
}; /* "-root", "-old-root", */
int k, idx_offset= 0;
char sfe[5*SfileadrL];
@ -776,10 +777,16 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" --old-empty Use old style block addresses for empty files",
" -z, -transparent-compression",
" Enable transparent compression of files",
" -root DIR Set root directory for all new files and directories",
" -old-root DIR Set root directory in previous session that is searched for files",
" --old-root-no-md5 Do not record and use MD5 with -old-root",
" --old-root-no-ino Do not use disk inode numbers with -old-root",
" --old-root-devno Use disk device numbers with -old-root",
" -v, -verbose Verbose",
" -version Print the current version",
"@End_of_helptexT@"
};
char ra_text[80];
int i;
@ -883,15 +890,22 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int do_print_size= 0, fd, idx, iso_level= 1, emul_boot= 2;
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
int dir_mode= -1, file_mode= -1, count, partition_number, allow_dir_id_ext= 1;
int root_seen= 0;
mode_t mode_and, mode_or;
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;
int *weight_list= NULL, weight_count= 0;
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, partno_text[8];
char old_root[SfileadrL];
char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt;
/* >>> This should not be static. Why is it ? */
static char *sort_weight_args[4]= {"", "-exec", "sort_weight", ""};
struct stat stbuf;
strcpy(ra_text, xorriso->report_about_text);
weight_list= TSOB_FELD(int, (argc / 3) + 1);
@ -908,7 +922,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
if(xorriso->boot_image_cat_path[0])
with_cat_path= -1;
adr[0]= indev[0]= msc[0]= 0;
adr[0]= indev[0]= msc[0]= old_root[0]= 0;
for(i= 0; i<argc; i++) {
ret= Xorriso_genisofs_ignore(xorriso, whom, argv, &i, 1);
if(ret == 1)
@ -1022,6 +1036,33 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
if(ret <= 0)
goto problem_handler_1;
} else if(strcmp(argv[i], "-root") == 0) {
if(i+1>=argc)
goto not_enough_args;
i++;
/* Always absolute */
strcpy(eff_path, "/");
if(Sfile_str(eff_path, argv[i], argv[i][0] != '/') <= 0)
{ret= -1; goto ex;}
strcpy(xorriso->wdi, eff_path);
root_seen= 1;
} else if(strcmp(argv[i], "-old-root") == 0) {
if(i+1>=argc)
goto not_enough_args;
i++;
/* Always absolute */
strcpy(old_root, "/");
if(Sfile_str(old_root, argv[i], argv[i][0] != '/') <= 0)
{ret= -1; goto ex;}
} else if(strcmp(argv[i], "--old-root-no-md5")==0) {
old_root_md5= 0;
} else if(strcmp(argv[i], "--old-root-devno")==0) {
old_root_dev= 1;
} else if(strcmp(argv[i], "--old-root-no-ino")==0) {
old_root_ino= 0;
} else if(strcmp(argv[i], "--hardlinks")==0) {
Xorriso_option_hardlinks(xorriso, "on", 0);
} else if(strcmp(argv[i], "--acl")==0) {
@ -1136,6 +1177,28 @@ illegal_c:;
if(!was_other_option)
{ret= 1; goto ex;}
if(old_root[0]) {
Xorriso_option_md5(xorriso, old_root_md5 ? "on" : "off", 0);
Xorriso_option_disk_dev_ino(xorriso,
old_root_dev && old_root_ino ? "on" :
old_root_ino ? "ino_only" : "off", 0);
ret= Xorriso_iso_lstat(xorriso, old_root, &stbuf, 0);
if(ret >= 0) {
if(root_seen) {
ret= Xorriso_mkdir(xorriso, xorriso->wdi, 1 | 2);
if(ret < 0)
{ret= -(ret != -1); goto ex;}
} else {
ret= Xorriso_option_cdi(xorriso, "/", 0);
if(ret <= 0)
goto ex;
}
ret= Xorriso_clone_under(xorriso, old_root, xorriso->wdi, 0);
if(ret <= 0)
goto ex;
}
}
xorriso->padding= 300*1024;
for(i= 0; i<argc; i++) {
@ -1353,6 +1416,16 @@ not_enough_args:;
goto not_enough_args;
i++;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-root") == 0 ||
strcmp(argv[i], "-old-root") == 0) {
if(i+1>=argc)
goto not_enough_args;
i++;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--old-root-no-md5")==0 ||
strcmp(argv[i], "--old-root-devno")==0 ||
strcmp(argv[i], "--old-root-no-ino")==0) {
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-dir-mode") == 0) {
if(i+1>=argc)
goto not_enough_args;
@ -1497,13 +1570,41 @@ is_pathspec_2:;
add_pt= pathspec;
} else
add_pt= argv[i];
mem_graft_points= xorriso->allow_graft_points;
xorriso->allow_graft_points= 1;
zero= 0;
ret= Xorriso_option_add(xorriso, 1, &add_pt, &zero, was_path<<1);
xorriso->allow_graft_points= mem_graft_points;
if(old_root[0]) {
/* Split pathspec */
ret= Fileliste__target_source_limit(pathspec, '=', &ept, 0);
if(ret > 0) {
*ept= 0;
iso_rr_pt= pathspec;
disk_pt= ept + 1;
} else {
iso_rr_pt= "/";
disk_pt= pathspec;
}
if(root_seen) {
strcpy(eff_path, iso_rr_pt);
iso_rr_pt= eff_path;
ret= Sfile_prepend_path(xorriso->wdi, iso_rr_pt, 0);
if(ret<=0) {
Xorriso_msgs_submit(xorriso, 0, "Effective path gets much too long",
0, "FAILURE", 0);
goto problem_handler_2;
}
}
/* update_r */
ret= Xorriso_option_update(xorriso, disk_pt, iso_rr_pt, 1 | 8);
} else {
mem_graft_points= xorriso->allow_graft_points;
xorriso->allow_graft_points= 1;
zero= 0;
ret= Xorriso_option_add(xorriso, 1, &add_pt, &zero,
(was_path << 1) | (root_seen << 2));
xorriso->allow_graft_points= mem_graft_points;
}
if(ret<=0)
goto problem_handler_2;
was_path= 1;
/* Enforce odd mkisofs defaults on first pathspec */
@ -1731,7 +1832,7 @@ problem_handler_boot:;
ret= !was_failure;
ex:;
if(was_path && !do_print_size)
if(was_path && (!do_print_size) && !old_root[0])
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
xorriso->pacifier_total, "", 1);
if(do_print_size && xorriso->volset_change_pending == 1)

View File

@ -611,6 +611,7 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
int target_is_split, hide_attrs;
struct stat stbuf;
hide_attrs= (flag >> 8) & 3;
if (disk_path == NULL && !(flag & 1)) {
Xorriso_msgs_submit(xorriso, 0,
"Program error: Xorriso_graft_in(): disk_path == NULL && !(flag & 1)",
@ -627,7 +628,6 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
return(3*!!(flag&16));
/* Check for mkisofs-style hidings */
hide_attrs= (flag >> 8) & 3;
if(hide_attrs != 3) {
ret= Xorriso_path_is_hidden(xorriso, disk_path, 0);
if(ret<0)
@ -1380,6 +1380,18 @@ int Xorriso_rename(struct XorrisO *xorriso, void *boss_iter,
}
int Xorriso_cannot_clone(struct XorrisO *xorriso, char *eff_origin,
char *eff_dest, int flag)
{
Xorriso_report_iso_error(xorriso, eff_dest, 0, "Cannot clone",
0, "FAILURE", 1);
sprintf(xorriso->info_text, "Failed to clone ");
Text_shellsafe(eff_origin, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter,
char *origin, char *dest, int flag)
{
@ -1454,19 +1466,78 @@ int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter,
ret = iso_tree_clone(origin_node, new_parent, leafname, &new_node, 0);
Xorriso_process_msg_queues(xorriso,0);
if (ret < 0) {
Xorriso_report_iso_error(xorriso, eff_dest, 0, "Cannot clone",
0, "FAILURE", 1);
sprintf(xorriso->info_text, "Failed to clone ");
Text_shellsafe(eff_origin, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
if(ret < 0) {
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, 0);
return(0);
}
Xorriso_set_change_pending(xorriso, 0);
return(1);
}
int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
int flag)
{
int ret, pass;
char eff_dest[SfileadrL], eff_origin[SfileadrL], *namept;
IsoDir *origin_dir, *dest_dir;
IsoDirIter *iter= NULL;
IsoNode *origin_node, *new_node;
IsoImage *volume;
ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret <= 0)
return(ret);
ret= Xorriso_dir_from_path(xorriso, "Copy source", origin, &origin_dir, 0);
if(ret <= 0)
return(ret);
ret= Xorriso_dir_from_path(xorriso, "Copy destination", dest, &dest_dir, 0);
if(ret <= 0)
return(ret);
for(pass= 0; pass < 2; pass++) {
ret= iso_dir_get_children(origin_dir, &iter);
if(ret < 0) {
Xorriso_cannot_create_iter(xorriso, ret, 0);
{ret= -1; goto ex;}
}
Xorriso_process_msg_queues(xorriso,0);
while(iso_dir_iter_next(iter, &origin_node) == 1) {
namept= (char *) iso_node_get_name(origin_node);
sprintf(eff_origin, "%s/%s", origin, namept);
sprintf(eff_dest, "%s%s", dest, namept);
if(pass == 0) {
ret= Xorriso_node_from_path(xorriso, volume, eff_dest, &new_node, 1);
if(ret < 0)
goto ex;
if(ret > 0) {
sprintf(xorriso->info_text, "Cloning: Copy address already exists: ");
Text_shellsafe(eff_dest, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
}
} else {
ret = iso_tree_clone(origin_node, dest_dir, namept, &new_node, 0);
Xorriso_process_msg_queues(xorriso,0);
if(ret < 0) {
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, 0);
ret= 0; goto ex;
}
}
}
iso_dir_iter_free(iter);
iter= NULL;
}
ret= 1;
ex:;
if(iter != NULL)
iso_dir_iter_free(iter);
Xorriso_process_msg_queues(xorriso,0);
return(ret);
}
int Xorriso_set_st_mode(struct XorrisO *xorriso, char *in_path,
mode_t mode_and, mode_t mode_or, int flag)
{

View File

@ -1472,36 +1472,19 @@ int Xorriso_ls_filev(struct XorrisO *xorriso, char *wd,
*/
int Xorriso_ls(struct XorrisO *xorriso, int flag)
{
int ret, is_dir= 0, i, filec= 0, failed_at, no_sort= 0;
int ret, i, filec= 0, failed_at, no_sort= 0;
IsoNode *node, **node_array= NULL;
IsoDir *dir_node;
IsoImage *volume;
IsoDirIter *iter= NULL;
char sfe[5*SfileadrL], sfe2[5*SfileadrL], link_target[SfileadrL], *npt, *rpt;
struct stat stbuf;
rpt= xorriso->result_line;
ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret<=0)
return(ret);
ret= Xorriso_node_from_path(xorriso, volume, xorriso->wdi, &node, 0);
if(ret<=0)
goto wdi_is_not_a_dir;
if(LIBISO_ISDIR(node))
is_dir= 1;
if(!is_dir) {
wdi_is_not_a_dir:;
sprintf(xorriso->info_text,
"Working directory path does not lead to a directory in ISO image");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
}
if(flag&2)
{ret= 1; goto ex;}
dir_node= (IsoDir *) node;
ret= Xorriso_dir_from_path(xorriso, "Working directory", xorriso->wdi,
&dir_node, 0);
if(ret <= 0)
goto ex;
ret= iso_dir_get_children(dir_node, &iter);
if(ret<0) {
cannot_create_iter:;
@ -2153,6 +2136,34 @@ int Xorriso_node_from_path(struct XorrisO *xorriso, IsoImage *volume,
}
int Xorriso_dir_from_path(struct XorrisO *xorriso, char *purpose,
char *path, IsoDir **dir_node, int flag)
{
IsoImage *volume;
IsoNode *node;
int ret, is_dir= 0;
ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret<=0)
return(ret);
ret= Xorriso_node_from_path(xorriso, volume, path, &node, 0);
if(ret<=0)
goto wdi_is_not_a_dir;
if(LIBISO_ISDIR(node))
is_dir= 1;
if(!is_dir) {
wdi_is_not_a_dir:;
sprintf(xorriso->info_text,
"%s path does not lead to a directory in ISO image", purpose);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
*dir_node= (IsoDir *) node;
return(1);
}
/*
@param flag bit0= do not remove leading slash
bit1= append flatly to result_line and put out

View File

@ -35,6 +35,9 @@ int Xorriso_get_node_by_path(struct XorrisO *xorriso,
char *in_path, char *eff_path,
IsoNode **node, int flag);
int Xorriso_dir_from_path(struct XorrisO *xorriso, char *purpose,
char *path, IsoDir **dir_node, int flag);
int Xorriso_node_get_dev(struct XorrisO *xorriso, IsoNode *node,
char *path, dev_t *dev, int flag);

View File

@ -1509,7 +1509,7 @@ int Xorriso_option_update(struct XorrisO *xorriso, char *disk_path,
}
}
xorriso->pacifier_interval= mem_pci;
if(mem_lut!=xorriso->last_update_time && !(flag&2))
if(mem_lut!=xorriso->last_update_time && !(flag & (2 | 4)))
Xorriso_pacifier_callback(xorriso, "content bytes read",
xorriso->pacifier_count, 0, "", 1);
report_outcome:;

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 XORRISO 1 "Feb 04, 2011"
.TH XORRISO 1 "Feb 07, 2011"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -3549,8 +3549,12 @@ directory is added to the image. At the same occasion directory names get
allowed to violate the standard by -compliance option allow_dir_id_ext.
This may be avoided by option -disallow_dir_id_ext.
.br
Currently there is no emulation for -root and -old-root. Incremental backups
can be done by native xorriso command -update_r. See also EXAMPLES section.
Option -root is supported. Option -old-root is implemented by xorriso
commands -mkdir, -cp_clone, and -update_r. It sets command -disk_dev_ino
to "ino_only" and -md5 to "on", by default. -disk_dev_ino can be set
to "off" by --old-root-no-ino
resp. to "on" by --old-root-devno .
-md5 can be set to "off" by --old-root-no-md5 .
.br
Not original mkisofs options are --quoted_path_list ,
--hardlinks , --acl ,

View File

@ -3165,9 +3165,12 @@ programs trigger comparable actions.
directory names get allowed to violate the standard by -compliance
option allow_dir_id_ext. This may be avoided by option
-disallow_dir_id_ext.
Currently there is no emulation for -root and -old-root.
Incremental backups can be done by native xorriso command
-update_r. See also EXAMPLES section.
Option -root is supported. Option -old-root is implemented by
xorriso commands -mkdir, -cp_clone, and -update_r. It sets command
-disk_dev_ino to "ino_only" and -md5 to "on", by default.
-disk_dev_ino can be set to "off" by --old-root-no-ino resp. to
"on" by --old-root-devno . -md5 can be set to "off" by
--old-root-no-md5 .
Not original mkisofs options are --quoted_path_list , --hardlinks
, --acl , --xattr , --md5 , --stdio_sync . They work like the
xorriso options with the same name and hardcoded argument "on",
@ -4136,7 +4139,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -out_charset sets output character set: SetWrite. (line 183)
* -outdev aquires a drive for output: AqDrive. (line 29)
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 146)
* -pacifier controls pacifier text form: Emulation. (line 149)
* -padding sets amount of image padding: SetWrite. (line 266)
* -page set terminal geometry: DialogCtl. (line 19)
* -paste_in copies file into disk file: Restore. (line 117)
@ -4156,7 +4159,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -quoted_not_list sets exclusions: SetInsert. (line 72)
* -quoted_path_list inserts paths from disk file: Insert. (line 80)
* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation.
(line 134)
(line 137)
* -reassure enables confirmation question: DialogCtl. (line 32)
* -report_about controls verbosity: Exception. (line 55)
* -return_with controls exit value: Exception. (line 39)
@ -4166,7 +4169,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 125)
* -rom_toc_scan searches for sessions: Loading. (line 203)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 156)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 159)
* -scsi_log reports SCSI commands: Scripting. (line 113)
* -session_log logs written sessions: Scripting. (line 104)
* -session_string composes session info line: Inquiry. (line 56)
@ -4223,11 +4226,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backslash Interpretation, _definition: Processing. (line 49)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 182)
* Backup, enable features, -for_backup: Loading. (line 177)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 156)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 159)
* Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40)
* Bootability, control, -boot_image: Bootable. (line 26)
* cdrecord, Emulation: Emulation. (line 101)
* cdrecord, Emulation: Emulation. (line 104)
* Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43)
@ -4264,10 +4267,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, write and eject, -commit_eject: Writing. (line 40)
* El Torito, _definiton: Extras. (line 19)
* Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 134)
* Emulation, cdrecord, -as: Emulation. (line 101)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 137)
* Emulation, cdrecord, -as: Emulation. (line 104)
* Emulation, mkisofs, -as: Emulation. (line 16)
* Emulation, pacifier form, -pacifier: Emulation. (line 146)
* Emulation, pacifier form, -pacifier: Emulation. (line 149)
* Examples: Examples. (line 6)
* Filter, _definition: Filter. (line 6)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
@ -4481,29 +4484,29 @@ Node: Navigate133121
Node: Verify141016
Node: Restore149605
Node: Emulation156261
Node: Scripting165304
Node: Frontend170866
Node: Examples172161
Node: ExDevices173330
Node: ExCreate173964
Node: ExDialog175238
Node: ExGrowing176500
Node: ExModifying177302
Node: ExBootable177803
Node: ExCharset178350
Node: ExPseudo179178
Node: ExCdrecord180072
Node: ExMkisofs180387
Node: ExGrowisofs181390
Node: ExException182514
Node: ExTime182968
Node: ExIncBackup183427
Node: ExRestore186995
Node: ExRecovery187964
Node: Files188530
Node: Seealso189758
Node: Legal190282
Node: CommandIdx191204
Node: ConceptIdx205576
Node: Scripting165493
Node: Frontend171055
Node: Examples172350
Node: ExDevices173519
Node: ExCreate174153
Node: ExDialog175427
Node: ExGrowing176689
Node: ExModifying177491
Node: ExBootable177992
Node: ExCharset178539
Node: ExPseudo179367
Node: ExCdrecord180261
Node: ExMkisofs180576
Node: ExGrowisofs181579
Node: ExException182703
Node: ExTime183157
Node: ExIncBackup183616
Node: ExRestore187184
Node: ExRecovery188153
Node: Files188719
Node: Seealso189947
Node: Legal190471
Node: CommandIdx191393
Node: ConceptIdx205765

End Tag Table

View File

@ -44,7 +44,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 XORRISO 1 "Feb 04, 2011"
@c man .TH XORRISO 1 "Feb 07, 2011"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -4204,8 +4204,12 @@ directory is added to the image. At the same occasion directory names get
allowed to violate the standard by -compliance option allow_dir_id_ext.
This may be avoided by option -disallow_dir_id_ext.
@*
Currently there is no emulation for -root and -old-root. Incremental backups
can be done by native xorriso command -update_r. See also EXAMPLES section.
Option -root is supported. Option -old-root is implemented by xorriso
commands -mkdir, -cp_clone, and -update_r. It sets command -disk_dev_ino
to "ino_only" and -md5 to "on", by default. -disk_dev_ino can be set
to "off" by @minus{}@minus{}old-root-no-ino
resp. to "on" by @minus{}@minus{}old-root-devno .
@minus{}md5 can be set to "off" by @minus{}@minus{}old-root-no-md5 .
@*
Not original mkisofs options are @minus{}@minus{}quoted_path_list ,
@minus{}@minus{}hardlinks , @minus{}@minus{}acl ,

View File

@ -1 +1 @@
#define Xorriso_timestamP "2011.02.07.182947"
#define Xorriso_timestamP "2011.02.07.184304"

View File

@ -564,6 +564,9 @@ int Xorriso_estimate_file_size(struct XorrisO *xorriso, struct FindjoB *job,
int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter,
char *origin, char *dest, int flag);
int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
int flag);
#endif /* Xorrisoburn_includeD */