Bug fix: -as mkisofs did not unescape "\=" in the source part of pathspecs

This commit is contained in:
2015-12-09 13:28:06 +00:00
parent 4b4bf14b05
commit bafcf288f9
10 changed files with 300 additions and 169 deletions

View File

@ -1033,13 +1033,19 @@ filesystem.
-add pathspec [...] | disk_path [***]
Insert the given files or directory trees from filesystem into the
ISO image.
If -pathspecs is set to "on" then pattern expansion is always
disabled and character '=' has a special meaning. It separates the
ISO image path from the disk path:
If -pathspecs is set to "on" or "as_mkisofs" then pattern expansion
is always disabled and character '=' has a special meaning. It
separates the ISO image path from the disk path:
iso_rr_path=disk_path
The separator '=' can be escaped by '\'. If iso_rr_path does not
begin with '/' then -cd is prepended. If disk_path does not begin
with '/' then -cdx is prepended.
Character '=' in the iso_rr_path must be escaped by '\' (i.e. as
"\=").
With -pathspecs "on", the character '\' must not be escaped. The
character '=' in the disk_path must not be escaped.
With -pathspecs "as_mkisofs", all characters '\' must be escaped in
both, iso_rr_path and disk_path. The character '=' may or may not
be escaped in the disk_path.
If iso_rr_path does not begin with '/' then -cd is prepended. If
disk_path does not begin with '/' then -cdx is prepended.
If no '=' is given then the word is used as both, iso_rr_path and
disk path. If in this case the word does not begin with '/' then
-cdx is prepended to the disk_path and -cd is prepended to the
@ -1286,14 +1292,22 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands
their loops get detected. The number given with "limit=" can curb
this workload at the risk of truncating an intentional sequence of
link hops.
-pathspecs "on"|"off"
-pathspecs "on"|"off"|"as_mkisofs"
Control parameter interpretation with 'xorriso' actions -add and
-path_list.
"on" enables pathspecs of the form *target=source* like with
program mkisofs -graft-points. It also disables -disk_pattern
expansion for command -add.
"off" disables pathspecs of the form target=source and re-enables
-disk_pattern expansion.
Mode "as_mkisofs" enables pathspecs of the form
*iso_rr_path=disk_path*
like with program mkisofs -graft-points.
All characters '\' must be escaped in both, iso_rr_path and
disk_path. The character '=' must be escaped in the iso_rr_path
and may or may not be escaped in the disk_path. This mode
temporarily disables -disk_pattern expansion for command -add.
Mode "on" does nearly the same. But '=' must only be escaped in
the iso_rr_path and '\' must not be escaped at all. This has the
disadvantage that one cannot express an iso_rr_path which ends by
'\'.
Mode "off" disables pathspecs of the form target=source and
re-enables -disk_pattern expansion.
-overwrite "on"|"nondir"|"off"
Allow or disallow overwriting of existing files in the ISO image by
files with the same name.
@ -5030,7 +5044,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -abstract_file sets abstract file name: SetWrite. (line 228)
* -acl controls handling of ACLs: Loading. (line 171)
* -add inserts one or more paths: Insert. (line 44)
* -add_plainly inserts one or more paths: Insert. (line 62)
* -add_plainly inserts one or more paths: Insert. (line 68)
* -alter_date sets timestamps in ISO image: Manip. (line 136)
* -alter_date_r sets timestamps in ISO image: Manip. (line 168)
* -append_partition adds arbitrary file after image end: Bootable.
@ -5060,7 +5074,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chmod_r sets permissions in ISO image: Manip. (line 66)
* -chown sets ownership in ISO image: Manip. (line 43)
* -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 164)
* -clone copies ISO directory tree: Insert. (line 170)
* -close controls media closing: SetWrite. (line 371)
* -close_damaged closes damaged track and session: Writing. (line 164)
* -close_filter_list bans filter registration: Filter. (line 50)
@ -5073,12 +5087,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -concat copies ISO file content: Restore. (line 118)
* -copyright_file sets copyright file name: SetWrite. (line 223)
* -cpax copies files to disk: Restore. (line 100)
* -cpr inserts like with cp -r: Insert. (line 143)
* -cpr inserts like with cp -r: Insert. (line 149)
* -cpx copies files to disk: Restore. (line 89)
* -cp_clone copies ISO directory tree: Insert. (line 175)
* -cp_clone copies ISO directory tree: Insert. (line 181)
* -cp_rx copies file trees to disk: Restore. (line 103)
* -cp_rx copies file trees to disk <1>: Restore. (line 111)
* -cut_out inserts piece of data file: Insert. (line 118)
* -cut_out inserts piece of data file: Insert. (line 124)
* -data_cache_size adjusts read cache size: Loading. (line 332)
* -dev acquires one drive for input and output: AqDrive. (line 12)
* -devices gets list of drives: Inquiry. (line 7)
@ -5139,7 +5153,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -list_formats lists available formats: Writing. (line 129)
* -list_profiles lists supported media: Writing. (line 177)
* -list_speeds lists available write speeds: Writing. (line 140)
* -lns creates ISO symbolic link: Insert. (line 160)
* -lns creates ISO symbolic link: Insert. (line 166)
* -load addresses a particular session as input: Loading. (line 33)
* -local_charset sets terminal character set: Charset. (line 57)
* -logfile logs output channels to file: Frontend. (line 19)
@ -5151,12 +5165,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -lsl lists files in ISO image: Navigate. (line 34)
* -lslx lists files on disk: Navigate. (line 54)
* -lsx lists files on disk: Navigate. (line 45)
* -map inserts path: Insert. (line 83)
* -map_l inserts paths from disk file: Insert. (line 90)
* -map_single inserts path: Insert. (line 87)
* -map inserts path: Insert. (line 89)
* -map_l inserts paths from disk file: Insert. (line 96)
* -map_single inserts path: Insert. (line 93)
* -mark sets synchronizing message: Frontend. (line 23)
* -md5 controls handling of MD5 sums: Loading. (line 182)
* -mkdir creates ISO directory: Insert. (line 156)
* -mkdir creates ISO directory: Insert. (line 162)
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 320)
* -mount issues mount command for ISO session: Restore. (line 146)
* -mount_cmd composes mount command line: Inquiry. (line 49)
@ -5174,13 +5188,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -osirrox enables ISO-to-disk copying: Restore. (line 18)
* -outdev acquires a drive for output: AqDrive. (line 29)
* -out_charset sets output character set: SetWrite. (line 263)
* -overwrite enables overwriting in ISO: SetInsert. (line 123)
* -overwrite enables overwriting in ISO: SetInsert. (line 131)
* -pacifier controls pacifier text form: Emulation. (line 166)
* -padding sets amount or mode of image padding: SetWrite. (line 394)
* -page set terminal geometry: DialogCtl. (line 18)
* -paste_in copies file into disk file: Restore. (line 114)
* -pathspecs sets meaning of = with -add: SetInsert. (line 115)
* -path_list inserts paths from disk file: Insert. (line 75)
* -path_list inserts paths from disk file: Insert. (line 81)
* -pkt_output consolidates text output: Frontend. (line 7)
* -preparer_id sets preparer id: SetWrite. (line 239)
* -print prints result text line: Scripting. (line 102)
@ -5195,7 +5209,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -pwd tells working directory in ISO: Navigate. (line 19)
* -pwdx tells working directory on disk: Navigate. (line 21)
* -quoted_not_list sets exclusions: SetInsert. (line 66)
* -quoted_path_list inserts paths from disk file: Insert. (line 79)
* -quoted_path_list inserts paths from disk file: Insert. (line 85)
* -read_fs filesystem type for image loading: Loading. (line 102)
* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation.
(line 155)
@ -5234,7 +5248,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
(line 66)
* -sleep waits for a given time span: Scripting. (line 113)
* -speed set write speed: SetWrite. (line 285)
* -split_size enables large file splitting: SetInsert. (line 135)
* -split_size enables large file splitting: SetInsert. (line 143)
* -status shows current settings: Scripting. (line 44)
* -status_history_max curbs -status history: Scripting. (line 52)
* -stdio_sync controls stdio buffer: SetWrite. (line 356)
@ -5245,9 +5259,9 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -toc shows list of sessions: Inquiry. (line 27)
* -toc_of shows list of sessions: Inquiry. (line 41)
* -uid sets global ownership: SetWrite. (line 268)
* -update inserts path if different: Insert. (line 94)
* -update_l inserts paths if different: Insert. (line 114)
* -update_r inserts paths if different: Insert. (line 104)
* -update inserts path if different: Insert. (line 100)
* -update_l inserts paths if different: Insert. (line 120)
* -update_r inserts paths if different: Insert. (line 110)
* -use_readline enables readline for dialog: DialogCtl. (line 26)
* -version prints help text: Scripting. (line 22)
* -volid sets volume id: SetWrite. (line 162)
@ -5313,9 +5327,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 120)
* Dialog, line editing, -use_readline: DialogCtl. (line 26)
* Dialog, terminal geometry, -page: DialogCtl. (line 18)
* Directories, copy, -cp_clone: Insert. (line 175)
* Directory, copy, -clone: Insert. (line 164)
* Directory, create, -mkdir: Insert. (line 156)
* Directories, copy, -cp_clone: Insert. (line 181)
* Directory, copy, -clone: Insert. (line 170)
* Directory, create, -mkdir: Insert. (line 162)
* Directory, delete, -rmdir: Manip. (line 29)
* disk_path, _definition: Insert. (line 6)
* Drive, accessability, -drive_class: Loading. (line 73)
@ -5389,28 +5403,28 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 137)
* Image, _definition: Model. (line 9)
* Input Character Set, _definition: Charset. (line 25)
* Insert, enable overwriting, -overwrite: SetInsert. (line 123)
* Insert, enable overwriting, -overwrite: SetInsert. (line 131)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 53)
* Insert, file exclusion from file, -not_list: SetInsert. (line 63)
* Insert, file exclusion pattern, -not_leaf: SetInsert. (line 59)
* Insert, file exclusion, -not_mgt: SetInsert. (line 22)
* Insert, file exclusion, -quoted_not_list: SetInsert. (line 66)
* Insert, if different, -update: Insert. (line 94)
* Insert, if different, -update_l: Insert. (line 114)
* Insert, if different, -update_r: Insert. (line 104)
* Insert, large file splitting, -split_size: SetInsert. (line 135)
* Insert, if different, -update: Insert. (line 100)
* Insert, if different, -update_l: Insert. (line 120)
* Insert, if different, -update_r: Insert. (line 110)
* Insert, large file splitting, -split_size: SetInsert. (line 143)
* Insert, limit data file size, -file_size_limit: SetInsert. (line 7)
* Insert, links or mount points, -follow: SetInsert. (line 69)
* Insert, meaning of = with -add, -pathspecs: SetInsert. (line 115)
* Insert, non-dashed arguments, -add_plainly: Insert. (line 62)
* Insert, path, -map: Insert. (line 83)
* Insert, path, -map_single: Insert. (line 87)
* Insert, paths from disk file, -map_l: Insert. (line 90)
* Insert, paths from disk file, -path_list: Insert. (line 75)
* Insert, paths from disk file, -quoted_path_list: Insert. (line 79)
* Insert, paths, -cpr: Insert. (line 143)
* Insert, non-dashed arguments, -add_plainly: Insert. (line 68)
* Insert, path, -map: Insert. (line 89)
* Insert, path, -map_single: Insert. (line 93)
* Insert, paths from disk file, -map_l: Insert. (line 96)
* Insert, paths from disk file, -path_list: Insert. (line 81)
* Insert, paths from disk file, -quoted_path_list: Insert. (line 85)
* Insert, paths, -cpr: Insert. (line 149)
* Insert, pathspecs, -add: Insert. (line 44)
* Insert, piece of data file, -cut_out: Insert. (line 118)
* Insert, piece of data file, -cut_out: Insert. (line 124)
* Interval reader for system area and partitions: Bootable. (line 26)
* ISO 9660, _definition: Model. (line 6)
* iso_rr_path, _definition: Insert. (line 7)
@ -5523,7 +5537,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
* SUN Disk Label, production: Bootable. (line 304)
* SUN SPARC boot images, activation: Bootable. (line 377)
* Symbolic link, create, -lns: Insert. (line 160)
* Symbolic link, create, -lns: Insert. (line 166)
* System area, _definition: Bootable. (line 184)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 278)
* Table-of-content, show, -toc: Inquiry. (line 27)
@ -5584,46 +5598,46 @@ Node: ArgSort26629
Node: AqDrive28123
Node: Loading31178
Node: Insert51283
Node: SetInsert61508
Node: Manip70359
Node: CmdFind80142
Node: Filter98445
Node: Writing103067
Node: SetWrite113222
Node: Bootable136167
Node: Jigdo158695
Node: Charset162954
Node: Exception166281
Node: DialogCtl172410
Node: Inquiry175012
Node: Navigate183462
Node: Verify191757
Node: Restore201634
Node: Emulation210247
Node: Scripting220657
Node: Frontend228439
Node: Examples238074
Node: ExDevices239252
Node: ExCreate239913
Node: ExDialog241213
Node: ExGrowing242484
Node: ExModifying243293
Node: ExBootable243803
Node: ExCharset244358
Node: ExPseudo245254
Node: ExCdrecord246181
Node: ExMkisofs246501
Node: ExGrowisofs247858
Node: ExException249012
Node: ExTime249470
Node: ExIncBackup249928
Node: ExRestore253954
Node: ExRecovery254900
Node: Files255472
Node: Seealso256806
Node: Bugreport257521
Node: Legal258112
Node: CommandIdx259124
Node: ConceptIdx276166
Node: SetInsert61867
Node: Manip71186
Node: CmdFind80969
Node: Filter99272
Node: Writing103894
Node: SetWrite114049
Node: Bootable136994
Node: Jigdo159522
Node: Charset163781
Node: Exception167108
Node: DialogCtl173237
Node: Inquiry175839
Node: Navigate184289
Node: Verify192584
Node: Restore202461
Node: Emulation211074
Node: Scripting221484
Node: Frontend229266
Node: Examples238901
Node: ExDevices240079
Node: ExCreate240740
Node: ExDialog242040
Node: ExGrowing243311
Node: ExModifying244120
Node: ExBootable244630
Node: ExCharset245185
Node: ExPseudo246081
Node: ExCdrecord247008
Node: ExMkisofs247328
Node: ExGrowisofs248685
Node: ExException249839
Node: ExTime250297
Node: ExIncBackup250755
Node: ExRestore254781
Node: ExRecovery255727
Node: Files256299
Node: Seealso257633
Node: Bugreport258348
Node: Legal258939
Node: CommandIdx259951
Node: ConceptIdx276993

End Tag Table