New command -rr_reloc_dir

This commit is contained in:
Thomas Schmitt 2012-03-10 14:59:44 +00:00
parent 5d00144aa6
commit 0498f81865
13 changed files with 232 additions and 124 deletions

View File

@ -240,6 +240,7 @@ Xorriso_option_return_with;
Xorriso_option_rmi;
Xorriso_option_rollback;
Xorriso_option_rom_toc_scan;
Xorriso_option_rr_reloc_dir;
Xorriso_option_scdbackup_tag;
Xorriso_option_scsi_log;
Xorriso_option_session_log;

View File

@ -144,6 +144,8 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->scdbackup_tag_written[0]= 0;
m->scdbackup_tag_listname[0]= 0;
m->relax_compliance= 0;
m->rr_reloc_dir[0]= 0;
m->rr_reloc_flags= 1;
m->untranslated_name_len= 0;
m->do_follow_pattern= 1;
m->do_follow_param= 0;

View File

@ -484,7 +484,7 @@ int Xorriso_option_external_filter(struct XorrisO *xorriso,
(*idx)= end_idx;
if(end_idx - start_idx < 3) {
sprintf(xorriso->info_text,
"-external_filter : Not enough arguments given. Needed: name options path %s",
"-external_filter : Not enough parameters given. Needed: name options path %s",
xorriso->list_delimiter);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
@ -683,7 +683,7 @@ int Xorriso_option_find(struct XorrisO *xorriso, int argc, char **argv,
if(i+1>=end_idx) {
not_enough_arguments:;
sprintf(xorriso->info_text,
"-find[ix]: not enough arguments with test ");
"-find[ix]: not enough parameters with test ");
Text_shellsafe(argv[i], xorriso->info_text, 1);
goto sorry_ex;
}
@ -815,7 +815,7 @@ not_enough_arguments:;
if(i+1>=end_idx) {
not_enough_exec_arguments:;
sprintf(xorriso->info_text,
"-find[ix]: not enough arguments with -exec ");
"-find[ix]: not enough parameters with -exec ");
Text_shellsafe(argv[i], xorriso->info_text, 1);
goto sorry_ex;
}
@ -1422,14 +1422,18 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
"This program creates, loads, manipulates and writes ISO 9660 filesystem",
"images with Rock Ridge extensions. Write targets can be drives with optical",
"media or local filesystem objects.",
"The program operations are controlled by a sequence of commands, of which",
"the initial ones are given as program arguments or as lines in startup",
"files. Further commands may get read from files in batch mode or from",
"standard input in dialog mode.",
"",
" -x Only in effect if given as program argument:",
" Execute commands given as program arguments in a sequence",
" that most likely makes some sense. Default is to execute",
" program arguments exactly in the sequence as given.",
"",
"Preparation options:",
"Drive addresses are either /dev/... as listed with option -devices or",
"Preparation commands:",
"Drive addresses are either /dev/... as listed with command -devices or",
"disk files, eventually with prefix \"stdio:\" if non-CD-drive in /dev tree.",
"E.g. /dev/sr0 , /tmp/pseudo_drive , stdio:/dev/sdc",
" -dev address Set input and output drive and load eventual ISO image.",
@ -1525,6 +1529,10 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -compliance rule[:rule...]",
" Allow more or less harmless deviations from strict standards",
" compliance.",
" -rr_reloc_dir name",
" Specifies name of relocation directory in root directory,",
" to which deep subtrees will get relocated if -compliance",
" is set to \"deep_paths_off\".",
" -boot_image \"any\"|\"isolinux\"|\"grub\"",
" |\"discard\"|\"keep\"|\"patch\"|\"dir=\"|\"bin_path=\"",
" |\"cat_path=\"|\"cat_hidden=on|iso_rr|joliet|off\"",
@ -1577,23 +1585,23 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Print foreseeable available space on output medium",
" -pvd_info Print various id strings of the loaded ISO image."
"",
"Options with variable length path list [...] need the list delimiter text",
"as end mark if they are followed by another option. By default this delimiter",
"is \"--\". In dialog and with options read from files, the line end serves",
"as such a mark. With program arguments this mark can be omitted only with",
"the last option in the list of arguments.",
"Commands with variable length path list [...] need the list delimiter text",
"as end mark if they are followed by another command. By default this",
"delimiter is \"--\". In dialog and with commands read from files, the line",
"end serves as such a mark. With program arguments this mark can be omitted",
"only with the last command in the list of program arguments.",
"For brevity the list delimiter is referred as \"--\" throughout this text.",
"",
" -list_delimiter text Set the list delimiter to be used instead of \"--\"",
" It has to be a single word, must not be empty, not longer",
" than 80 characters, may mot contain quotation marks.",
"",
"Manipulation options:",
"Manipulation commands:",
"disk_path is a path to an object in the local filesystem tree.",
"iso_rr_path is the Rock Ridge name of a file object in the ISO image.",
"pathspec is either a disk_path or (if allowed) a pair: iso_rr_path=disk_path",
"Options marked by [***] have variable argument length and perform pattern",
"expansion if enabled by -iso_rr_pattern resp. -disk_pattern.",
"Commands marked by [***] have variable length parameter lists and perform",
"pattern expansion if enabled by -iso_rr_pattern resp. -disk_pattern.",
"",
" -pathspecs \"on\"|\"off\" Allow or disallow pathspecs of form ",
" iso_rr_path=disk_path . Only \"off\" allows eventual",
@ -1634,8 +1642,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -rm_r iso_rr_path [***]",
" Delete the given directory trees from ISO image.",
" -mv iso_rr_path [***] iso_rr_path",
" Rename the given file objects in the ISO tree to the last",
" argument in the list.",
" Rename the given file objects in the ISO tree to iso_rr_path.",
" -chown uid iso_rr_path [***]",
" Equivalent to chown in the ISO image.",
" -chown_r uid iso_rr_path [***]",
@ -1690,7 +1697,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" getfacl, setfacl, getfattr, setfattr, get_any_xattr,",
" list_extattr, get_md5, check_md5, make_md5,",
" set_filter, show_stream, mkisofs_r, hide, find.",
" params are their arguments except iso_rr_path.",
" params are their parameters except iso_rr_path.",
" -mkdir iso_rr_path [...]",
" Create empty directories if they do not exist yet.",
" -rmdir iso_rr_path [***]",
@ -1700,8 +1707,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -cp_clone iso_rr_path_original [***] iso_rr_path_dest",
" Create ISO to ISO copies according to the rules of cp -r.",
"",
" -- Default list delimiter marking the end of action argument",
" list. It may be changed by option -list_delimiter.",
" -- Default list delimiter marking the end of command parameter",
" lists. It may be changed by command -list_delimiter.",
"",
" -not_paths disk_path [***]",
" Add the given paths to the list of excluded absolute paths.",
@ -1724,7 +1731,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" If \"on\" then ask the user for \"y\" or \"n\" with any",
" file before deleting or overwriting it in the ISO image.",
"",
"Filter options:",
"Filter commands:",
"External filter processes may produce synthetic file content by reading the",
"original content from stdin and writing to stdout whatever they want.",
@ -1760,7 +1767,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Set global zisofs parameters:",
" level=0|...|9 , block_size=32k|64k|128k , by_magic=on|off",
"",
"Write-to-media options:",
"Write-to-media commands:",
" -rollback Discard the manipulated ISO image and reload it.",
"",
" -changes_pending \"no\"|\"yes\"|\"mkisofs_printed\"|\"show_status\"",
@ -1769,7 +1776,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -commit Perform the write operation if changes are pending.",
" Then perform -dev outdrive.",
" Hint: To perform a final write operation with no new -dev",
" and no new loading of image, execute option -end.",
" and no new loading of image, execute command -end.",
" -commit_eject \"in\"|\"out\"|\"all\"|\"none\"",
" Like -commit but rather eject than load image from outdrive.",
" Give up any unejected drive afterwards.",
@ -1794,7 +1801,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Immediately eject the medium in -indev, resp. -outdev,",
" resp. both.",
"",
"Navigation options:",
"Navigation commands:",
"",
" -cd iso_rr_path Change working directory in the ISO image. iso_rr_paths",
" which do not begin with '/' will be inserted beginning at",
@ -1862,7 +1869,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -show_stream_r iso_rr_path [***]",
" Like -show_stream but affecting all files below directories.",
"",
"Restore options which copy file objects from ISO image to disk filesystem:",
"Restore commands which copy file objects from ISO image to disk filesystem:",
" -osirrox \"on\"|\"device_files\"|\"off\"|\"banned\"",
" [:\"concat_split_on\"|\"concat_split_off\"]",
" [:\"auto_chmod_on\"|\"auto_chmod_off\"]",
@ -1911,7 +1918,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -check_media_defaults [options] --",
" Preset options for runs of -check_media and -extract_cut.",
"",
"Compatibility emulation (argument list may be ended by list delimiter --):",
"Compatibility emulation (option list may be ended by list delimiter --):",
" -as mkisofs [-help|-version|-o|-R|-r|-J|-V|-P|-f|-m|-exclude-list|",
" -no-pad|-M|-C|-graft-points|-path-list|pathspecs|-z|",
" -no-emul-boot|-b|-c|-boot-info-table|-boot-load-size|-G|...]",
@ -1927,7 +1934,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -pacifier \"xorriso\"|\"cdrecord\"|\"mkisofs\"",
" Choose format of UPDATE pacifier during write operations.",
"",
"General options:",
"General commands:",
" -help Print this text",
" -abort_on severity Set the threshhold for events to abort the program.",
" Useful severities: NEVER, ABORT, FATAL, FAILURE, SORRY, WARNING",
@ -1942,7 +1949,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Behavior \"best_effort\" is most endurant but may produce",
" results which are correct only on the first glimpse.",
" -dialog \"on\"|\"off\"|\"single_line\"",
" After all arguments are processed, enter dialog mode.",
" After all program arguments are processed, enter dialog mode.",
" \"single_line\" does not support newline characters within",
" open quotation marks and no line continuation by trailing \\.",
" -page len width Prompt user after len output lines (0=no prompt).",
@ -1971,16 +1978,16 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -logfile channel fileaddress Copy output of a channel to the given file.",
" channel may be 'R','I','M' as with -pkt_output or '.'",
" for the consolidated -pkt_output stream.",
" -mark text If text is not empty it will get put out each time an",
" option is completed.",
" -mark text If text is not empty it will get put out each time a command",
" is completed.",
" -temp_mem_limit number[\"k\"|\"m\"]",
" Set the maximum size for pattern expansion. (Default is 16m)",
" -prog text Use text as this program's name in subsequent messages",
" -prog_help text Use text as this program's name and perform -help",
" -status mode|filter Report the current settings of persistent options.",
" -status mode|filter Report the current settings of persistent commands.",
" Modes:",
" short... print only important or altered options",
" long ... print options even if they have default settings",
" short... print only important or altered settings",
" long ... print settings even if they have default values",
" long_history like long plus -history: lines",
" Filters begin with '-' and are compared literally against the",
" output lines of -status long_history. A line is put out only",
@ -1988,10 +1995,11 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -status_history_max number Maximum number of history lines to be reported",
" with -status:long_history",
" -options_from_file fileaddress",
" Reads lines from the given file and executes them as program",
" options.",
" -no_rc Only if used as first command line argument this option",
" prevents reading and interpretation of startup files.",
" Reads lines from the given file and executes them as commands.",
" -no_rc Only if used as first program argument, this command",
" prevents reading and interpretation of these startup files:",
" /etc/default/xorriso , /etc/opt/xorriso/rc",
" /etc/xorriso/xorriso.conf , $HOME/.xorrisorc",
" -print text",
" Print a text to result channel.",
" -print_info text",
@ -2023,13 +2031,12 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" End program. Discard pending changes.",
"",
"",
"Option -page causes a user prompt after the given number of result lines.",
"Command -page causes a user prompt after the given number of result lines.",
"Empty input resumes output until the next prompt. Other input may be:",
" @ suppresses paging until the current action is done",
" @@ suppresses further result output but continues the action",
" @@@ aborts the current action",
" other aborts the current action and executes input as new",
" option",
" other aborts the current action and executes input as new command",
"",
#endif /* ! Xorriso_no_helP */

View File

@ -636,6 +636,26 @@ unknown_mode:;
}
/* Command -rr_reloc_dir */
int Xorriso_option_rr_reloc_dir(struct XorrisO *xorriso, char *name, int flag)
{
if(strlen(name) > 255) {
sprintf(xorriso->info_text,
"Name too long with -rr_reloc_dir. Max. 255 bytes allowed.");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
if(strchr(name, '/') != NULL) {
sprintf(xorriso->info_text,
"Name given with -rr_reloc_dir contains '/' character");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
strcpy(xorriso->rr_reloc_dir, name);
return(1);
}
/* Option -scdbackup_tag list_path record_name */
int Xorriso_option_scdbackup_tag(struct XorrisO *xorriso, char *listname,
char *recname, int flag)

View File

@ -473,7 +473,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"pacifier","padding","path_list","pathspecs","pkt_output",
"preparer_id","print","print_info","print_mark","prompt",
"prog","prog_help","publisher","quoted_not_list","quoted_path_list",
"reassure","report_about","rom_toc_scan","scsi_log",
"reassure","report_about","rom_toc_scan","rr_reloc_dir","scsi_log",
"session_log","signal_handling","sleep",
"speed","split_size","status","status_history_max",
"stdio_sync","stream_recording","system_id","temp_mem_limit",
@ -658,7 +658,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"mount",
"* Settings for result writing:",
"joliet", "compliance", "volid", "volset_id", "publisher",
"joliet", "compliance", "rr_reloc_dir", "volid", "volset_id", "publisher",
"application_id", "system_id", "volume_date", "copyright_file",
"abstract_file", "biblio_file", "preparer_id", "out_charset",
"read_mkisofsrc",
@ -1559,6 +1559,10 @@ next_command:;
(*idx)++;
Xorriso_option_rom_toc_scan(xorriso, arg1, 0);
} else if(strcmp(cmd,"rr_reloc_dir")==0) {
(*idx)++;
Xorriso_option_rr_reloc_dir(xorriso, arg1, 0);
} else if(strcmp(cmd,"scdbackup_tag")==0) {
(*idx)+= 2;
ret= Xorriso_option_scdbackup_tag(xorriso, arg1, arg2, 0);

View File

@ -1881,6 +1881,13 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->rr_reloc_dir[0] == 0);
sprintf(line, "-rr_reloc_dir ");
Text_shellsafe(xorriso->rr_reloc_dir, line, 1);
strcat(line, "\n");
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->assert_volid[0] == 0);
sprintf(line, "-assert_volid ");
Text_shellsafe(xorriso->assert_volid, line, 1);

View File

@ -825,6 +825,10 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
ext|= isoburn_igopt_no_emul_toc;
isoburn_igopt_set_extensions(sopts, ext);
isoburn_igopt_set_relaxed(sopts, relax);
ret = isoburn_igopt_set_rr_reloc(sopts, xorriso->rr_reloc_dir,
xorriso->rr_reloc_flags);
if(ret <= 0)
{ret= 0; goto ex;}
ret= isoburn_igopt_set_untranslated_name_len(sopts,
xorriso->untranslated_name_len);
if(ret <= 0)

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 "Version 1.2.1, Feb 05, 2012"
.TH XORRISO 1 "Version 1.2.1, Mar 10, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -2280,6 +2280,24 @@ Default setting is
Note: The term "ISO file" means the plain ISO 9660 names and attributes
which get visible if the reader ignores Rock Ridge.
.TP
\fB\-rr_reloc_dir\fR name
Specify the name of the relocation directory in which deep directory subtrees
shall be placed if \-compliance is set to "deep_paths_off". A deep directory
is one that has a chain of 8 parent directories (including root) above itself.
.br
The overall directory tree will appear originally deep when interpreted
as Rock Ridge tree. It will appear as re\-arranged if only ECMA\-119
information is considered.
.br
The default relocation directory is the root directory. By giving a non\-empty
name with \-rr_reloc_dir, a directory in the root directory may get this role.
If that directory does not already exist at \-commit time, then it will get
created and marked for Rock Ridge as relocation artefact. At least on
GNU/Linux it will not be displayed in mounted Rock Ridge images.
.br
The name must not contain a '/' character and must not be longer than
255 bytes.
.TP
\fB\-volid\fR text
Specify the volume ID. \fBxorriso\fR accepts any text up to 32 characters,
but according to rarely obeyed specs stricter rules apply:

View File

@ -1167,8 +1167,11 @@ int Xorriso_option_rmi(struct XorrisO *xorriso, int argc, char **argv,
int Xorriso_option_rollback(struct XorrisO *xorriso, int flag);
/* Command -rom_toc_scan */
int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode,
int flag);
int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode, int flag);
/* Command -rr_reloc_dir */
/* @since 1.2.2 */
int Xorriso_option_rr_reloc_dir(struct XorrisO *xorriso, char *name, int flag);
/* Command -scdbackup_tag */
int Xorriso_option_scdbackup_tag(struct XorrisO *xorriso, char *list_path,

View File

@ -2035,6 +2035,23 @@ will be written according to the setting of command -acl.
Note: The term "ISO file" means the plain ISO 9660 names and
attributes which get visible if the reader ignores Rock Ridge.
-rr_reloc_dir name
Specify the name of the relocation directory in which deep
directory subtrees shall be placed if -compliance is set to
"deep_paths_off". A deep directory is one that has a chain of 8
parent directories (including root) above itself.
The overall directory tree will appear originally deep when
interpreted as Rock Ridge tree. It will appear as re-arranged if
only ECMA-119 information is considered.
The default relocation directory is the root directory. By giving
a non-empty name with -rr_reloc_dir, a directory in the root
directory may get this role. If that directory does not already
exist at -commit time, then it will get created and marked for
Rock Ridge as relocation artefact. At least on GNU/Linux it will
not be displayed in mounted Rock Ridge images.
The name must not contain a '/' character and must not be longer
than 255 bytes.
-volid text
Specify the volume ID. `xorriso' accepts any text up to 32
characters, but according to rarely obeyed specs stricter rules
@ -4322,7 +4339,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* # starts a comment line: Scripting. (line 162)
* -abort_on controls abort on error: Exception. (line 27)
* -abstract_file sets abstract file name: SetWrite. (line 165)
* -abstract_file sets abstract file name: SetWrite. (line 182)
* -acl controls handling of ACLs: Loading. (line 143)
* -add inserts one or more paths: Insert. (line 42)
* -add_plainly inserts one or more paths: Insert. (line 61)
@ -4330,13 +4347,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date_r sets timestamps in ISO image: Manip. (line 167)
* -append_partition adds arbitrary file after image end: Bootable.
(line 199)
* -application_id sets application id: SetWrite. (line 124)
* -application_id sets application id: SetWrite. (line 141)
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
* -assert_volid rejects undesired images: Loading. (line 84)
* -auto_charset learns character set from image: Loading. (line 98)
* -backslash_codes enables backslash conversion: Scripting. (line 67)
* -ban_stdio_write demands real drive: Loading. (line 247)
* -biblio_file sets biblio file name: SetWrite. (line 172)
* -biblio_file sets biblio file name: SetWrite. (line 189)
* -blank erases media: Writing. (line 61)
* -boot_image controls bootability: Bootable. (line 26)
* -calm_drive reduces drive activity: Loading. (line 236)
@ -4355,7 +4372,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chown sets ownership in ISO image: Manip. (line 42)
* -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 171)
* -close controls media closing: SetWrite. (line 267)
* -close controls media closing: SetWrite. (line 284)
* -close_damaged closes damaged track and session: Writing. (line 152)
* -close_filter_list bans filter registration: Filter. (line 52)
* -commit writes pending ISO image: Writing. (line 29)
@ -4364,7 +4381,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -compare_l reports ISO/disk differences: Navigate. (line 164)
* -compare_r reports ISO/disk differences: Navigate. (line 159)
* -compliance controls standard compliance: SetWrite. (line 14)
* -copyright_file sets copyright file name: SetWrite. (line 159)
* -copyright_file sets copyright file name: SetWrite. (line 176)
* -cp_clone copies ISO directory tree: Insert. (line 183)
* -cp_rx copies file trees to disk: Restore. (line 108)
* -cpax copies files to disk: Restore. (line 104)
@ -4381,11 +4398,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
(line 36)
* -drive_class controls drive accessability: Loading. (line 54)
* -du show directory size in ISO image: Navigate. (line 89)
* -dummy controls write simulation: SetWrite. (line 256)
* -dummy controls write simulation: SetWrite. (line 273)
* -dus show directory size in ISO image: Navigate. (line 93)
* -dusx show directory size on disk: Navigate. (line 102)
* -dux show directory size on disk: Navigate. (line 97)
* -dvd_obs set write block size: SetWrite. (line 243)
* -dvd_obs set write block size: SetWrite. (line 260)
* -early_stdio_test classifies stdio drives: Loading. (line 252)
* -eject ejects drive tray: Writing. (line 52)
* -end writes pending session and ends program: Scripting. (line 156)
@ -4403,12 +4420,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -follow softlinks and mount points: SetInsert. (line 76)
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 185)
* -format formats media: Writing. (line 88)
* -fs sets size of fifo: SetWrite. (line 260)
* -fs sets size of fifo: SetWrite. (line 277)
* -getfacl shows ACL in ISO image: Navigate. (line 70)
* -getfacl_r shows ACL in ISO image: Navigate. (line 77)
* -getfattr shows xattr in ISO image: Navigate. (line 81)
* -getfattr_r shows xattr in ISO image: Navigate. (line 85)
* -gid sets global ownership: SetWrite. (line 200)
* -gid sets global ownership: SetWrite. (line 217)
* -grow_blindly overides next writeable address: AqDrive. (line 46)
* -hardlinks controls handling of hard links: Loading. (line 110)
* -help prints help text: Scripting. (line 20)
@ -4454,17 +4471,17 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -not_paths sets absolute exclusion paths: SetInsert. (line 55)
* -options_from_file reads commands from file: Scripting. (line 12)
* -osirrox enables ISO-to-disk copying: Restore. (line 18)
* -out_charset sets output character set: SetWrite. (line 190)
* -out_charset sets output character set: SetWrite. (line 207)
* -outdev acquires a drive for output: AqDrive. (line 31)
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 158)
* -padding sets amount or mode of image padding: SetWrite. (line 273)
* -padding sets amount or mode of image padding: SetWrite. (line 290)
* -page set terminal geometry: DialogCtl. (line 19)
* -paste_in copies file into disk file: Restore. (line 121)
* -path_list inserts paths from disk file: Insert. (line 75)
* -pathspecs sets meaning of = with -add: SetInsert. (line 118)
* -pkt_output consolidates text output: Frontend. (line 7)
* -preparer_id sets preparer id: SetWrite. (line 178)
* -preparer_id sets preparer id: SetWrite. (line 195)
* -print prints result text line: Scripting. (line 99)
* -print_info prints message text line: Scripting. (line 102)
* -print_mark prints synchronizing text line: Scripting. (line 105)
@ -4472,7 +4489,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -prog sets program name: Frontend. (line 30)
* -prog_help prints help text: Frontend. (line 33)
* -prompt prompts for enter key: Scripting. (line 110)
* -publisher sets publisher id: SetWrite. (line 118)
* -publisher sets publisher id: SetWrite. (line 135)
* -pvd_info shows image id strings: Inquiry. (line 93)
* -pwd tells working directory in ISO: Navigate. (line 20)
* -pwdx tells working directory on disk: Navigate. (line 23)
@ -4489,6 +4506,8 @@ 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 159)
* -rom_toc_scan searches for sessions: Loading. (line 211)
* -rr_reloc_dir sets name of relocation directory: SetWrite.
(line 94)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168)
* -scsi_log reports SCSI commands: Scripting. (line 147)
* -session_log logs written sessions: Scripting. (line 138)
@ -4506,29 +4525,29 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -signal_handling controls handling of system signals: Exception.
(line 69)
* -sleep waits for a given time span: Scripting. (line 114)
* -speed set write speed: SetWrite. (line 216)
* -speed set write speed: SetWrite. (line 233)
* -split_size enables large file splitting: SetInsert. (line 140)
* -status shows current settings: Scripting. (line 47)
* -status_history_max curbs -status history: Scripting. (line 56)
* -stdio_sync controls stdio buffer: SetWrite. (line 250)
* -stream_recording controls defect management: SetWrite. (line 231)
* -system_id sets system id: SetWrite. (line 133)
* -stdio_sync controls stdio buffer: SetWrite. (line 267)
* -stream_recording controls defect management: SetWrite. (line 248)
* -system_id sets system id: SetWrite. (line 150)
* -tell_media_space reports free space: Inquiry. (line 89)
* -temp_mem_limit curbs memory consumption: Scripting. (line 92)
* -toc shows list of sessions: Inquiry. (line 28)
* -uid sets global ownership: SetWrite. (line 196)
* -uid sets global ownership: SetWrite. (line 213)
* -update inserts path if different: Insert. (line 99)
* -update_l inserts paths if different: Insert. (line 121)
* -update_r inserts paths if different: Insert. (line 110)
* -use_readline enables readline for dialog: DialogCtl. (line 28)
* -version prints help text: Scripting. (line 23)
* -volid sets volume id: SetWrite. (line 94)
* -volset_id sets volume set id: SetWrite. (line 113)
* -volume_date sets volume timestamp: SetWrite. (line 140)
* -volid sets volume id: SetWrite. (line 111)
* -volset_id sets volume set id: SetWrite. (line 130)
* -volume_date sets volume timestamp: SetWrite. (line 157)
* -x enables automatic execution order of arguments: ArgSort.
(line 16)
* -xattr controls handling of xattr (EA): Loading. (line 151)
* -zisofs controls zisofs production: SetWrite. (line 204)
* -zisofs controls zisofs production: SetWrite. (line 221)

File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -4561,7 +4580,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43)
* Character Set, for output, -out_charset: SetWrite. (line 190)
* Character Set, for output, -out_charset: SetWrite. (line 207)
* Character set, learn from image, -auto_charset: Loading. (line 98)
* Character Set, of terminal, -local_charset: Charset. (line 47)
* Closed media, _definition: Media. (line 43)
@ -4615,8 +4634,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Filter, show chain, -show_stream: Navigate. (line 169)
* Filter, show chains of tree, -show_stream_r: Navigate. (line 183)
* Filter, unregister, -unregister_filter: Filter. (line 48)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 204)
* Group, global in ISO image, -gid: SetWrite. (line 200)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 221)
* Group, global in ISO image, -gid: SetWrite. (line 217)
* Group, in ISO image, -chgrp: Manip. (line 50)
* Group, in ISO image, -chgrp_r: Manip. (line 55)
* Growing, _definition: Methods. (line 19)
@ -4626,16 +4645,16 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, demand volume id, -assert_volid: Loading. (line 84)
* Image, discard pending changes, -rollback: Writing. (line 9)
* Image, override change status, -changes_pending: Writing. (line 13)
* Image, set abstract file name, -abstract_file: SetWrite. (line 165)
* Image, set application id, -application_id: SetWrite. (line 124)
* Image, set biblio file name, -biblio_file: SetWrite. (line 172)
* Image, set copyright file name, -copyright_file: SetWrite. (line 159)
* Image, set preparer id, -preparer_id: SetWrite. (line 178)
* Image, set publisher id, -publisher: SetWrite. (line 118)
* Image, set system id, -system_id: SetWrite. (line 133)
* Image, set volume id, -volid: SetWrite. (line 94)
* Image, set volume set id, -volset_id: SetWrite. (line 113)
* Image, set volume timestamp, -volume_date: SetWrite. (line 140)
* Image, set abstract file name, -abstract_file: SetWrite. (line 182)
* Image, set application id, -application_id: SetWrite. (line 141)
* Image, set biblio file name, -biblio_file: SetWrite. (line 189)
* Image, set copyright file name, -copyright_file: SetWrite. (line 176)
* Image, set preparer id, -preparer_id: SetWrite. (line 195)
* Image, set publisher id, -publisher: SetWrite. (line 135)
* Image, set system id, -system_id: SetWrite. (line 150)
* Image, set volume id, -volid: SetWrite. (line 111)
* Image, set volume set id, -volset_id: SetWrite. (line 130)
* Image, set volume timestamp, -volume_date: SetWrite. (line 157)
* Image, show id strings, -pvd_info: Inquiry. (line 93)
* Insert, enable overwriting, -overwrite: SetInsert. (line 127)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
@ -4693,7 +4712,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Navigate, tell ISO working directory, -pwd: Navigate. (line 20)
* Next writeable address, -grow_blindly: AqDrive. (line 46)
* Overwriteable media, _definition: Media. (line 14)
* Ownership, global in ISO image, -uid: SetWrite. (line 196)
* Ownership, global in ISO image, -uid: SetWrite. (line 213)
* Ownership, in ISO image, -chown: Manip. (line 42)
* Ownership, in ISO image, -chown_r: Manip. (line 47)
* Partition offset, _definiton: Bootable. (line 146)
@ -4736,6 +4755,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Program, wait a time span, -sleep: Scripting. (line 114)
* Quoted input, _definiton: Processing. (line 46)
* Recovery, retrieve blocks, -check_media: Verify. (line 21)
* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 94)
* Rename, in ISO image, -mv: Manip. (line 35)
* Restore, copy file into disk file, -paste_in: Restore. (line 121)
* Restore, copy file piece to disk, -extract_cut: Restore. (line 81)
@ -4772,22 +4792,22 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Verify, file checksum, -check_md5: Verify. (line 148)
* Verify, file tree checksums, -check_md5_r: Verify. (line 164)
* Verify, preset -check_media, -check_media_defaults: Verify. (line 41)
* Write, block size, -dvd_obs: SetWrite. (line 243)
* Write, block size, -dvd_obs: SetWrite. (line 260)
* Write, bootability, -boot_image: Bootable. (line 26)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 250)
* Write, close media, -close: SetWrite. (line 267)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 267)
* Write, close media, -close: SetWrite. (line 284)
* Write, compliance to specs, -compliance: SetWrite. (line 14)
* Write, defect management, -stream_recording: SetWrite. (line 231)
* Write, defect management, -stream_recording: SetWrite. (line 248)
* Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 260)
* Write, fifo size, -fs: SetWrite. (line 277)
* Write, free space, -tell_media_space: Inquiry. (line 89)
* Write, log problematic disk files, -errfile_log: Scripting. (line 118)
* Write, log written sessions, -session_log: Scripting. (line 138)
* Write, padding image, -padding: SetWrite. (line 273)
* Write, padding image, -padding: SetWrite. (line 290)
* Write, pending ISO image, -commit: Writing. (line 29)
* Write, predict image size, -print_size: Inquiry. (line 80)
* Write, set speed, -speed: SetWrite. (line 216)
* Write, simulation, -dummy: SetWrite. (line 256)
* Write, set speed, -speed: SetWrite. (line 233)
* Write, simulation, -dummy: SetWrite. (line 273)
* xattr, _definiton: Extras. (line 54)
* xattr, control handling, -xattr: Loading. (line 151)
* xattr, set in ISO image, -setfattr: Manip. (line 111)
@ -4819,40 +4839,40 @@ Node: CmdFind71249
Node: Filter83358
Node: Writing87913
Node: SetWrite96877
Node: Bootable111210
Node: Jigdo124432
Node: Charset128678
Node: Exception131439
Node: DialogCtl137558
Node: Inquiry140155
Node: Navigate145021
Node: Verify153282
Node: Restore161971
Node: Emulation168880
Node: Scripting178691
Node: Frontend185851
Node: Examples187151
Node: ExDevices188328
Node: ExCreate188987
Node: ExDialog190272
Node: ExGrowing191537
Node: ExModifying192342
Node: ExBootable192846
Node: ExCharset193398
Node: ExPseudo194219
Node: ExCdrecord195117
Node: ExMkisofs195434
Node: ExGrowisofs196774
Node: ExException197909
Node: ExTime198363
Node: ExIncBackup198822
Node: ExRestore202813
Node: ExRecovery203773
Node: Files204343
Node: Seealso205642
Node: Bugreport206365
Node: Legal206946
Node: CommandIdx207876
Node: ConceptIdx223255
Node: Bootable112152
Node: Jigdo125374
Node: Charset129620
Node: Exception132381
Node: DialogCtl138500
Node: Inquiry141097
Node: Navigate145963
Node: Verify154224
Node: Restore162913
Node: Emulation169822
Node: Scripting179633
Node: Frontend186793
Node: Examples188093
Node: ExDevices189270
Node: ExCreate189929
Node: ExDialog191214
Node: ExGrowing192479
Node: ExModifying193284
Node: ExBootable193788
Node: ExCharset194340
Node: ExPseudo195161
Node: ExCdrecord196059
Node: ExMkisofs196376
Node: ExGrowisofs197716
Node: ExException198851
Node: ExTime199305
Node: ExIncBackup199764
Node: ExRestore203755
Node: ExRecovery204715
Node: Files205285
Node: Seealso206584
Node: Bugreport207307
Node: Legal207888
Node: CommandIdx208818
Node: ConceptIdx224333

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 XORRISO 1 "Version 1.2.1, Feb 05, 2012"
@c man .TH XORRISO 1 "Version 1.2.1, Mar 10, 2012"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -2719,6 +2719,26 @@ Default setting is
Note: The term "ISO file" means the plain ISO 9660 names and attributes
which get visible if the reader ignores Rock Ridge.
@c man .TP
@item -rr_reloc_dir name
@kindex -rr_reloc_dir sets name of relocation directory
@cindex Relocation directory, set name, -rr_reloc_dir
Specify the name of the relocation directory in which deep directory subtrees
shall be placed if -compliance is set to "deep_paths_off". A deep directory
is one that has a chain of 8 parent directories (including root) above itself.
@*
The overall directory tree will appear originally deep when interpreted
as Rock Ridge tree. It will appear as re-arranged if only ECMA-119
information is considered.
@*
The default relocation directory is the root directory. By giving a non-empty
name with -rr_reloc_dir, a directory in the root directory may get this role.
If that directory does not already exist at -commit time, then it will get
created and marked for Rock Ridge as relocation artefact. At least on
GNU/Linux it will not be displayed in mounted Rock Ridge images.
@*
The name must not contain a '/' character and must not be longer than
255 bytes.
@c man .TP
@item -volid text
@kindex -volid sets volume id
@cindex Image, set volume id, -volid

View File

@ -170,6 +170,8 @@ struct XorrisO { /* the global context of xorriso */
char scdbackup_tag_listname[SfileadrL];
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
char rr_reloc_dir[256];
int rr_reloc_flags;
int untranslated_name_len;
int do_follow_pattern;
int do_follow_param;

View File

@ -1 +1 @@
#define Xorriso_timestamP "2012.03.10.145124"
#define Xorriso_timestamP "2012.03.10.150003"