From e3bb4c098f628fab4f05fb9c68bab1e86dd28aa8 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 20 Aug 2016 10:28:57 +0000 Subject: [PATCH] New -volume_date "all_file_dates" pseudo-timestamp "set_to_mtime" --- libisoburn/trunk/xorriso/emulators.c | 10 +- libisoburn/trunk/xorriso/opts_p_z.c | 4 +- libisoburn/trunk/xorriso/write_run.c | 35 +++-- libisoburn/trunk/xorriso/xorriso.1 | 10 +- libisoburn/trunk/xorriso/xorriso.info | 161 +++++++++++---------- libisoburn/trunk/xorriso/xorriso.texi | 10 +- libisoburn/trunk/xorriso/xorriso_private.h | 4 +- libisoburn/trunk/xorriso/xorrisofs.1 | 12 +- libisoburn/trunk/xorriso/xorrisofs.info | 136 ++++++++--------- libisoburn/trunk/xorriso/xorrisofs.texi | 12 +- 10 files changed, 213 insertions(+), 181 deletions(-) diff --git a/libisoburn/trunk/xorriso/emulators.c b/libisoburn/trunk/xorriso/emulators.c index e434e125..d0ab1e2a 100644 --- a/libisoburn/trunk/xorriso/emulators.c +++ b/libisoburn/trunk/xorriso/emulators.c @@ -1924,13 +1924,9 @@ not_enough_args:; if(i+1>=argc) goto not_enough_args; i++; - if(strlen(argv[i]) >= sizeof(xorriso->all_file_dates)) { - sprintf(xorriso->info_text, "--set_all_file_dates: time text too long"); - Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0); - ret= 0; goto problem_handler_2; - } - strcpy(xorriso->all_file_dates, argv[i]); - + ret= Xorriso_option_volume_date(xorriso, "all_file_dates", argv[i], 0); + if(ret <= 0) + goto problem_handler_2; } else if(strcmp(argpt, "-input-charset")==0) { i++; /* was already handled in first argument scan */; diff --git a/libisoburn/trunk/xorriso/opts_p_z.c b/libisoburn/trunk/xorriso/opts_p_z.c index 1ee6bd33..60c76ba5 100644 --- a/libisoburn/trunk/xorriso/opts_p_z.c +++ b/libisoburn/trunk/xorriso/opts_p_z.c @@ -2106,7 +2106,9 @@ int Xorriso_option_volume_date(struct XorrisO *xorriso, if(timestring[0] == 0 || strcmp(timestring, "default") == 0 || strcmp(timestring, "overridden") == 0 ){ t= 0; - } else if(strcmp(time_type, "uuid") == 0) { + } else if(strcmp(time_type, "uuid") == 0 || + (strcmp(time_type, "all_file_dates") == 0 && + strcmp(timestring, "set_to_mtime") == 0)) { t= time(NULL); /* Just to have some that is not 0 */ } else { ret= Xorriso_convert_datestring(xorriso, "-volume_date", diff --git a/libisoburn/trunk/xorriso/write_run.c b/libisoburn/trunk/xorriso/write_run.c index 9ed86a87..0e45f80d 100644 --- a/libisoburn/trunk/xorriso/write_run.c +++ b/libisoburn/trunk/xorriso/write_run.c @@ -1031,21 +1031,32 @@ ex:; int Xorriso_set_all_file_dates(struct XorrisO *xorriso, int flag) { int idx, ret, was_failure= 0; - char *hargv[1]; + char *hargv[4]; if(xorriso->all_file_dates[0] == 0) return(2); - hargv[0]= "/"; - idx= 0; - ret= Xorriso_option_alter_date(xorriso, "b", xorriso->all_file_dates, - 1, hargv, &idx, 1); - if(ret <= 0) - was_failure= 1; - idx= 0; - ret= Xorriso_option_alter_date(xorriso, "c", xorriso->all_file_dates, - 1, hargv, &idx, 1); - if(ret <= 0) - was_failure= 1; + if(strcmp(xorriso->all_file_dates, "set_to_mtime") == 0) { + hargv[0]= "/"; + hargv[1]= "-exec"; + hargv[2]= "set_to_mtime"; + hargv[3]= "--"; + idx= 0; + ret= Xorriso_option_find(xorriso, 4, hargv, &idx, 0); + if(ret <= 0) + was_failure= 1; + } else { + hargv[0]= "/"; + idx= 0; + ret= Xorriso_option_alter_date(xorriso, "b", xorriso->all_file_dates, + 1, hargv, &idx, 1); + if(ret <= 0) + was_failure= 1; + idx= 0; + ret= Xorriso_option_alter_date(xorriso, "c", xorriso->all_file_dates, + 1, hargv, &idx, 1); + if(ret <= 0) + was_failure= 1; + } Xorriso_relax_compliance(xorriso, "always_gmt", 0); return(!was_failure); } diff --git a/libisoburn/trunk/xorriso/xorriso.1 b/libisoburn/trunk/xorriso/xorriso.1 index 4f0c2367..aaf81048 100644 --- a/libisoburn/trunk/xorriso/xorriso.1 +++ b/libisoburn/trunk/xorriso/xorriso.1 @@ -2826,9 +2826,13 @@ Available types are: "f" time since when the volume is effectively valid. .br "all_file_dates" sets mtime, atime, and ctime of all files and -directories to the given time. -This action stays delayed until actual ISO production begins. -Up to then it can be revoked by "all_file_dates" with empty timestring. +directories to the given time. If the timestring is "set_to_mtime", then the +atime and ctime of each file and directory get set to the value found in their +mtime. +.br +These actions stay delayed until actual ISO production begins. +Up to then they can be revoked by "all_file_dates" with empty timestring +or timestring "default". .br The timestamps of the El Torito boot catalog file get refreshed when the ISO is produced. They can be influenced by "uuid". diff --git a/libisoburn/trunk/xorriso/xorriso.info b/libisoburn/trunk/xorriso/xorriso.info index 3dd553a0..4df2c588 100644 --- a/libisoburn/trunk/xorriso/xorriso.info +++ b/libisoburn/trunk/xorriso/xorriso.info @@ -2403,9 +2403,12 @@ according to the setting of command -acl. "x" time when the information in the volume expires. "f" time since when the volume is effectively valid. "all_file_dates" sets mtime, atime, and ctime of all files and - directories to the given time. This action stays delayed until - actual ISO production begins. Up to then it can be revoked by - "all_file_dates" with empty timestring. + directories to the given time. If the timestring is + "set_to_mtime", then the atime and ctime of each file and directory + get set to the value found in their mtime. + These actions stay delayed until actual ISO production begins. Up + to then they can be revoked by "all_file_dates" with empty + timestring or timestring "default". The timestamps of the El Torito boot catalog file get refreshed when the ISO is produced. They can be influenced by "uuid". "uuid" sets a timestring that overrides "c" and "m" times literally @@ -5156,7 +5159,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * # starts a comment line: Scripting. (line 156) * -abort_on controls abort on error: Exception. (line 27) -* -abstract_file sets abstract file name: SetWrite. (line 241) +* -abstract_file sets abstract file name: SetWrite. (line 244) * -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 68) @@ -5165,13 +5168,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -append_partition adds arbitrary file after image end: Bootable. (line 391) * -application_id sets application id: SetWrite. (line 191) -* -application_use sets application use field: SetWrite. (line 263) +* -application_use sets application use field: SetWrite. (line 266) * -as emulates mkisofs or cdrecord: Emulation. (line 13) * -assert_volid rejects undesired images: Loading. (line 111) * -auto_charset learns character set from image: Loading. (line 123) * -backslash_codes enables backslash conversion: Scripting. (line 71) * -ban_stdio_write demands real drive: Loading. (line 316) -* -biblio_file sets biblio file name: SetWrite. (line 247) +* -biblio_file sets biblio file name: SetWrite. (line 250) * -blank erases media: Writing. (line 57) * -boot_image controls bootability: Bootable. (line 65) * -calm_drive reduces drive activity: Loading. (line 306) @@ -5190,7 +5193,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -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 170) -* -close controls media closing: SetWrite. (line 398) +* -close controls media closing: SetWrite. (line 401) * -close_damaged closes damaged track and session: Writing. (line 164) * -close_filter_list bans filter registration: Filter. (line 50) * -commit writes pending ISO image: Writing. (line 27) @@ -5200,7 +5203,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -compare_r reports ISO/disk differences: Navigate. (line 140) * -compliance controls standard compliance: SetWrite. (line 56) * -concat copies ISO file content: Restore. (line 118) -* -copyright_file sets copyright file name: SetWrite. (line 236) +* -copyright_file sets copyright file name: SetWrite. (line 239) * -cpax copies files to disk: Restore. (line 100) * -cpr inserts like with cp -r: Insert. (line 149) * -cpx copies files to disk: Restore. (line 89) @@ -5219,11 +5222,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top (line 57) * -drive_class controls drive accessability: Loading. (line 73) * -du show directory size in ISO image: Navigate. (line 75) -* -dummy controls write simulation: SetWrite. (line 390) +* -dummy controls write simulation: SetWrite. (line 393) * -dus show directory size in ISO image: Navigate. (line 78) * -dusx show directory size on disk: Navigate. (line 85) * -dux show directory size on disk: Navigate. (line 81) -* -dvd_obs set write block size: SetWrite. (line 327) +* -dvd_obs set write block size: SetWrite. (line 330) * -early_stdio_test classifies stdio drives: Loading. (line 320) * -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 214) * -eject ejects drive tray: Writing. (line 50) @@ -5243,12 +5246,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -follow softlinks and mount points: SetInsert. (line 69) * -format formats media: Writing. (line 87) * -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 210) -* -fs sets size of fifo: SetWrite. (line 393) +* -fs sets size of fifo: SetWrite. (line 396) * -getfacl shows ACL in ISO image: Navigate. (line 60) * -getfacl_r shows ACL in ISO image: Navigate. (line 66) * -getfattr shows xattr in ISO image: Navigate. (line 69) * -getfattr_r shows xattr in ISO image: Navigate. (line 72) -* -gid sets global ownership: SetWrite. (line 284) +* -gid sets global ownership: SetWrite. (line 287) * -grow_blindly overides next writeable address: AqDrive. (line 60) * -hardlinks controls handling of hard links: Loading. (line 134) * -help prints help text: Scripting. (line 19) @@ -5286,7 +5289,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -mark sets synchronizing message: Frontend. (line 23) * -md5 controls handling of MD5 sums: Loading. (line 182) * -mkdir creates ISO directory: Insert. (line 162) -* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 333) +* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 336) * -mount issues mount command for ISO session: Restore. (line 146) * -mount_cmd composes mount command line: Inquiry. (line 49) * -mount_cmd controls mount command: Inquiry. (line 64) @@ -5302,16 +5305,16 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -options_from_file reads commands from file: Scripting. (line 12) * -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 276) +* -out_charset sets output character set: SetWrite. (line 279) * -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 421) +* -padding sets amount or mode of image padding: SetWrite. (line 424) * -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 81) * -pkt_output consolidates text output: Frontend. (line 7) -* -preparer_id sets preparer id: SetWrite. (line 252) +* -preparer_id sets preparer id: SetWrite. (line 255) * -print prints result text line: Scripting. (line 102) * -print_info prints message text line: Scripting. (line 104) * -print_mark prints synchronizing text line: Scripting. (line 106) @@ -5363,31 +5366,31 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -signal_handling controls handling of system signals: Exception. (line 66) * -sleep waits for a given time span: Scripting. (line 113) -* -speed set write speed: SetWrite. (line 298) +* -speed set write speed: SetWrite. (line 301) * -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 383) -* -stream_recording controls defect management: SetWrite. (line 316) +* -stdio_sync controls stdio buffer: SetWrite. (line 386) +* -stream_recording controls defect management: SetWrite. (line 319) * -system_id sets system id: SetWrite. (line 199) * -tell_media_space reports free space: Inquiry. (line 97) * -temp_mem_limit curbs memory consumption: Scripting. (line 96) * -toc shows list of sessions: Inquiry. (line 27) * -toc_of shows list of sessions: Inquiry. (line 41) -* -uid sets global ownership: SetWrite. (line 281) +* -uid sets global ownership: SetWrite. (line 284) * -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_immed_bit controls use of Immed bit: SetWrite. (line 371) +* -use_immed_bit controls use of Immed bit: SetWrite. (line 374) * -use_readline enables readline for dialog: DialogCtl. (line 26) * -version prints help text: Scripting. (line 22) * -volid sets volume id: SetWrite. (line 162) * -volset_id sets volume set id: SetWrite. (line 182) * -volume_date sets volume timestamp: SetWrite. (line 205) -* -write_type chooses TAO or SAO/DAO: SetWrite. (line 414) +* -write_type chooses TAO or SAO/DAO: SetWrite. (line 417) * -x enables automatic execution order of arguments: ArgSort. (line 16) * -xattr controls handling of xattr (EA): Loading. (line 178) -* -zisofs controls zisofs production: SetWrite. (line 287) +* -zisofs controls zisofs production: SetWrite. (line 290)  File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -5417,14 +5420,14 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Backup, enable features, -for_backup: Loading. (line 210) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179) * Blank media, _definition: Media. (line 29) -* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 371) +* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 374) * Blind growing, _definition: Methods. (line 41) * Bootability, control, -boot_image: Bootable. (line 65) * Bugs, reporting: Bugreport. (line 6) * cdrecord, Emulation: Emulation. (line 120) * Character Set, for input, -in_charset: Loading. (line 118) * Character Set, for input/output, -charset: Charset. (line 54) -* Character Set, for output, -out_charset: SetWrite. (line 276) +* Character Set, for output, -out_charset: SetWrite. (line 279) * Character set, learn from image, -auto_charset: Loading. (line 123) * Character Set, of terminal, -local_charset: Charset. (line 57) * Character Set, _definition: Charset. (line 6) @@ -5486,13 +5489,13 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Filter, show chain, -show_stream: Navigate. (line 148) * Filter, show chains of tree, -show_stream_r: Navigate. (line 161) * Filter, unregister, -unregister_filter: Filter. (line 47) -* Filter, zisofs parameters, -zisofs: SetWrite. (line 287) +* Filter, zisofs parameters, -zisofs: SetWrite. (line 290) * Filter, _definition: Filter. (line 6) * Frontend program, start at pipes, -launch_frontend: Frontend. (line 141) * GPT, control GUID, -boot_image gpt_disk_guid=: Bootable. (line 210) * GPT, _definition: Extras. (line 39) -* Group, global in ISO image, -gid: SetWrite. (line 284) +* Group, global in ISO image, -gid: SetWrite. (line 287) * Group, in ISO image, -chgrp: Manip. (line 49) * Group, in ISO image, -chgrp_r: Manip. (line 53) * Growing, _definition: Methods. (line 20) @@ -5506,13 +5509,13 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Image, discard pending changes, -rollback: Writing. (line 9) * Image, filesystem to load, -read_fs: Loading. (line 102) * Image, override change status, -changes_pending: Writing. (line 12) -* Image, set abstract file name, -abstract_file: SetWrite. (line 241) +* Image, set abstract file name, -abstract_file: SetWrite. (line 244) * Image, set application id, -application_id: SetWrite. (line 191) * Image, set application iuse field, -application_use: SetWrite. - (line 263) -* Image, set biblio file name, -biblio_file: SetWrite. (line 247) -* Image, set copyright file name, -copyright_file: SetWrite. (line 236) -* Image, set preparer id, -preparer_id: SetWrite. (line 252) + (line 266) +* Image, set biblio file name, -biblio_file: SetWrite. (line 250) +* Image, set copyright file name, -copyright_file: SetWrite. (line 239) +* Image, set preparer id, -preparer_id: SetWrite. (line 255) * Image, set publisher id, -publisher: SetWrite. (line 186) * Image, set system id, -system_id: SetWrite. (line 199) * Image, set volume id, -volid: SetWrite. (line 162) @@ -5586,7 +5589,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Next writeable address, -grow_blindly: AqDrive. (line 60) * Output Character Set, _definition: Charset. (line 26) * Overwriteable media, _definition: Media. (line 14) -* Ownership, global in ISO image, -uid: SetWrite. (line 281) +* Ownership, global in ISO image, -uid: SetWrite. (line 284) * Ownership, in ISO image, -chown: Manip. (line 43) * Ownership, in ISO image, -chown_r: Manip. (line 47) * Partition offset, _definition: Bootable. (line 286) @@ -5675,26 +5678,26 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Verify, file checksum, -check_md5: Verify. (line 164) * Verify, file tree checksums, -check_md5_r: Verify. (line 178) * Verify, preset -check_media, -check_media_defaults: Verify. (line 40) -* Write, block size, -dvd_obs: SetWrite. (line 327) +* Write, block size, -dvd_obs: SetWrite. (line 330) * Write, bootability, -boot_image: Bootable. (line 65) -* Write, buffer syncing, -stdio_sync: SetWrite. (line 383) -* Write, close media, -close: SetWrite. (line 398) +* Write, buffer syncing, -stdio_sync: SetWrite. (line 386) +* Write, close media, -close: SetWrite. (line 401) * Write, compliance to specs, -compliance: SetWrite. (line 56) -* Write, defect management, -stream_recording: SetWrite. (line 316) +* Write, defect management, -stream_recording: SetWrite. (line 319) * Write, disable Rock Ridge, -rockridge: SetWrite. (line 51) -* Write, drive buffer, -modesty_on_drive: SetWrite. (line 333) +* Write, drive buffer, -modesty_on_drive: SetWrite. (line 336) * Write, enable HFS+, -hfsplus: SetWrite. (line 14) * Write, enable Joliet, -joliet: SetWrite. (line 10) -* Write, fifo size, -fs: SetWrite. (line 393) +* Write, fifo size, -fs: SetWrite. (line 396) * Write, free space, -tell_media_space: Inquiry. (line 97) * Write, log problematic disk files, -errfile_log: Scripting. (line 116) * Write, log written sessions, -session_log: Scripting. (line 134) -* Write, padding image, -padding: SetWrite. (line 421) +* Write, padding image, -padding: SetWrite. (line 424) * Write, pending ISO image, -commit: Writing. (line 27) * Write, predict image size, -print_size: Inquiry. (line 85) -* Write, set speed, -speed: SetWrite. (line 298) -* Write, simulation, -dummy: SetWrite. (line 390) -* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 414) +* Write, set speed, -speed: SetWrite. (line 301) +* Write, simulation, -dummy: SetWrite. (line 393) +* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 417) * xattr, control handling, -xattr: Loading. (line 178) * xattr, set in ISO image, -setfattr: Manip. (line 103) * xattr, set in ISO image, -setfattr_list: Manip. (line 117) @@ -5726,41 +5729,41 @@ Node: CmdFind82607 Node: Filter100989 Node: Writing105611 Node: SetWrite115767 -Node: Bootable140352 -Node: Jigdo165088 -Node: Charset169347 -Node: Exception172676 -Node: DialogCtl178805 -Node: Inquiry181407 -Node: Navigate190195 -Node: Verify198490 -Node: Restore208368 -Node: Emulation216981 -Node: Scripting227440 -Node: Frontend235223 -Node: Examples244849 -Node: ExDevices246027 -Node: ExCreate246688 -Node: ExDialog247988 -Node: ExGrowing249259 -Node: ExModifying250068 -Node: ExBootable250578 -Node: ExCharset251133 -Node: ExPseudo252029 -Node: ExCdrecord252956 -Node: ExMkisofs253276 -Node: ExGrowisofs254633 -Node: ExException255787 -Node: ExTime256245 -Node: ExIncBackup256703 -Node: ExRestore260729 -Node: ExRecovery261675 -Node: Files262247 -Node: Environ263581 -Node: Seealso264273 -Node: Bugreport264990 -Node: Legal265581 -Node: CommandIdx266593 -Node: ConceptIdx283781 +Node: Bootable140526 +Node: Jigdo165262 +Node: Charset169521 +Node: Exception172850 +Node: DialogCtl178979 +Node: Inquiry181581 +Node: Navigate190369 +Node: Verify198664 +Node: Restore208542 +Node: Emulation217155 +Node: Scripting227614 +Node: Frontend235397 +Node: Examples245023 +Node: ExDevices246201 +Node: ExCreate246862 +Node: ExDialog248162 +Node: ExGrowing249433 +Node: ExModifying250242 +Node: ExBootable250752 +Node: ExCharset251307 +Node: ExPseudo252203 +Node: ExCdrecord253130 +Node: ExMkisofs253450 +Node: ExGrowisofs254807 +Node: ExException255961 +Node: ExTime256419 +Node: ExIncBackup256877 +Node: ExRestore260903 +Node: ExRecovery261849 +Node: Files262421 +Node: Environ263755 +Node: Seealso264447 +Node: Bugreport265164 +Node: Legal265755 +Node: CommandIdx266767 +Node: ConceptIdx283955  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorriso.texi b/libisoburn/trunk/xorriso/xorriso.texi index 13e40a7c..a1751e47 100644 --- a/libisoburn/trunk/xorriso/xorriso.texi +++ b/libisoburn/trunk/xorriso/xorriso.texi @@ -3311,9 +3311,13 @@ Available types are: "f" time since when the volume is effectively valid. @* "all_file_dates" sets mtime, atime, and ctime of all files and -directories to the given time. -This action stays delayed until actual ISO production begins. -Up to then it can be revoked by "all_file_dates" with empty timestring. +directories to the given time. If the timestring is "set_to_mtime", then the +atime and ctime of each file and directory get set to the value found in their +mtime. +@* +These actions stay delayed until actual ISO production begins. +Up to then they can be revoked by "all_file_dates" with empty timestring +or timestring "default". @* The timestamps of the El Torito boot catalog file get refreshed when the ISO is produced. They can be influenced by "uuid". diff --git a/libisoburn/trunk/xorriso/xorriso_private.h b/libisoburn/trunk/xorriso/xorriso_private.h index 7d875ebb..95ae941f 100644 --- a/libisoburn/trunk/xorriso/xorriso_private.h +++ b/libisoburn/trunk/xorriso/xorriso_private.h @@ -528,7 +528,9 @@ struct XorrisO { /* the global context of xorriso */ /* To eventually override vol_modification_time by unconverted string and timezone 0 */ char vol_uuid[17]; - /* To flatly set all file timestamps to the same value */ + /* To flatly set all file timestamps to the same value + Special value: "set_to_mtime", see -find action "set_to_mtime" + */ char all_file_dates[80]; #ifdef Xorriso_with_libjtE diff --git a/libisoburn/trunk/xorriso/xorrisofs.1 b/libisoburn/trunk/xorriso/xorrisofs.1 index 3ebc4a75..94367b06 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.1 +++ b/libisoburn/trunk/xorriso/xorrisofs.1 @@ -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 XORRISOFS 1 "Version 1.4.5, Aug 15, 2016" +.TH XORRISOFS 1 "Version 1.4.5, Aug 20, 2016" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -565,9 +565,13 @@ Valid timestring formats are: 'Nov 8 14:51:13 CET 2007', 110814512007.13, 2007110814511300. See also \-\-modification\-date= and man xorriso, Examples of input timestrings. .br -This action stays delayed until actual ISO production begins. -Up to then it can be revoked by \-\-set_all_file_dates -with empty timestring. +If the timestring is "set_to_mtime", then the +atime and ctime of each file and directory get set to the value found in their +mtime. +.br +These actions stay delayed until actual ISO production begins. +Up to then they can be revoked by \-\-set_all_file_dates +with empty timestring or timestring "default". .br The timestamps of the El Torito boot catalog file get refreshed when the ISO is produced. They can be influenced by \-\-modification\-date=. diff --git a/libisoburn/trunk/xorriso/xorrisofs.info b/libisoburn/trunk/xorriso/xorrisofs.info index c908b909..60cd986e 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.info +++ b/libisoburn/trunk/xorriso/xorrisofs.info @@ -528,9 +528,11 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op Valid timestring formats are: 'Nov 8 14:51:13 CET 2007', 110814512007.13, 2007110814511300. See also --modification-date= and man xorriso, Examples of input timestrings. - This action stays delayed until actual ISO production begins. Up - to then it can be revoked by --set_all_file_dates with empty - timestring. + If the timestring is "set_to_mtime", then the atime and ctime of + each file and directory get set to the value found in their mtime. + These actions stay delayed until actual ISO production begins. Up + to then they can be revoked by --set_all_file_dates with empty + timestring or timestring "default". The timestamps of the El Torito boot catalog file get refreshed when the ISO is produced. They can be influenced by --modification-date=. @@ -1868,21 +1870,21 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T [index] * Menu: -* --acl Recording of ACLs: SetExtras. (line 93) +* --acl Recording of ACLs: SetExtras. (line 95) * --application_use set Application Use field: ImageId. (line 79) * --boot-catalog-hide Hide El Torito boot catalog: Bootable. (line 101) * --efi-boot El Torito EFI boot image: Bootable. (line 53) * --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 75) * --emul-toc enable table-of-content emulation: SetProduct. (line 33) -* --for_backup Enable backup fidelity: SetExtras. (line 90) +* --for_backup Enable backup fidelity: SetExtras. (line 92) * --gpt_disk_guid GPT GUID: SystemArea. (line 216) * --grub2-boot-info Patch El Torito boot image: Bootable. (line 89) * --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 77) * --grub2-sparc-core SUN SPARC core file: SystemArea. (line 271) -* --hardlinks Recording of hardlink relations: SetExtras. (line 114) +* --hardlinks Recording of hardlink relations: SetExtras. (line 116) * --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea. (line 127) -* --md5 Recording of MD5 checksums: SetExtras. (line 106) +* --md5 Recording of MD5 checksums: SetExtras. (line 108) * --modification-date set ISO image timestamps: ImageId. (line 70) * --no-emul-toc no table-of-content emulation: SetProduct. (line 41) * --norock disable Rock Ridge production: SetExtras. (line 28) @@ -1898,7 +1900,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 123) * --quoted_path_list read pathspecs from disk file: SetInsert. (line 12) -* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 122) +* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 124) * --set_all_file_dates set all file timestamps: SetExtras. (line 35) * --sort-weight set block address sorting weight: SetProduct. (line 45) * --sort-weight-list set block address sorting weight: SetProduct. @@ -1907,7 +1909,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 76) * --stdio_sync control forced output to disk files: SetProduct. (line 23) -* --xattr Recording of xattr: SetExtras. (line 99) +* --xattr Recording of xattr: SetExtras. (line 101) * -A set Application Id: ImageId. (line 34) * -abstract set Abstract File path: ImageId. (line 57) * -allow-lowercase lowercase in ISO file names: SetCompl. (line 42) @@ -1934,12 +1936,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -chrp-boot CHRP partition: SystemArea. (line 238) * -chrp-boot-part CHRP partition: SystemArea. (line 229) * -copyright set Copyright File path: ImageId. (line 66) -* -D allow deep directory hierachies: SetExtras. (line 58) +* -D allow deep directory hierachies: SetExtras. (line 60) * -d omit trailing dot in ISO file names: SetCompl. (line 50) * -dev set path for loading existing ISO image: Loading. (line 23) * -dir-mode permissions for all directories: SetProduct. (line 79) * -disable-deep-relocation allow deep directory hierachies: SetExtras. - (line 70) + (line 72) * -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl. (line 23) * -e El Torito EFI boot image: Bootable. (line 47) @@ -1954,7 +1956,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -exclude-list exclude disk files from inserting: SetInsert. (line 44) * -f follow symbolic links on disk: SetInsert. (line 22) * -file-mode permissions for all data files: SetProduct. (line 84) -* -file_name_limit curbs length of file names: SetExtras. (line 47) +* -file_name_limit curbs length of file names: SetExtras. (line 49) * -follow-links follow symbolic links on disk: SetInsert. (line 26) * -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl. (line 59) @@ -1965,15 +1967,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 29) * -hard-disk-boot El Torito boot image emulation: Bootable. (line 63) * -help list supported options: Miscellaneous. (line 21) -* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 199) -* -hfs-bless-by HFS+ blessing: SetExtras. (line 189) -* -hfsplus enable production of HFS+ partition: SetExtras. (line 148) -* -hfsplus-block-size set APM block size: SetExtras. (line 179) +* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 201) +* -hfs-bless-by HFS+ blessing: SetExtras. (line 191) +* -hfsplus enable production of HFS+ partition: SetExtras. (line 150) +* -hfsplus-block-size set APM block size: SetExtras. (line 181) * -hfsplus-block-size set HFS+ allocation block size: SetExtras. - (line 175) + (line 177) * -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras. - (line 186) -* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 171) + (line 188) +* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 173) * -hide keep matching files invisible in ISO tree: SetHide. (line 8) * -hide-hfsplus keep matching files invisible in HFS+ tree: SetHide. (line 25) @@ -1986,7 +1988,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -hide-list keep matching files invisible in ISO tree: SetHide. (line 15) * -hide-rr-moved set deep directory relocation target: SetExtras. - (line 88) + (line 90) * -hppa-bootloader HP-PA bootloader file: SystemArea. (line 283) * -hppa-cmdline HP-PA PALO command line: SystemArea. (line 277) * -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 291) @@ -2001,7 +2003,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -isohybrid-gpt-basdat Mark boot image in GPT: SystemArea. (line 94) * -isohybrid-gpt-hfsplus Mark boot image in GPT: SystemArea. (line 104) * -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea. (line 83) -* -J enable production of Joliet directory tree: SetExtras. (line 131) +* -J enable production of Joliet directory tree: SetExtras. (line 133) * -jigdo-exclude add exclusion pattern for .md5: Jigdo. (line 55) * -jigdo-force-md5 add check pattern for .md5: Jigdo. (line 49) * -jigdo-jigdo set name of .jigdo file: Jigdo. (line 38) @@ -2011,9 +2013,9 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -jigdo-template-compress choose compression algorithm: Jigdo. (line 69) * -joliet enable production of Joliet directory tree: SetExtras. - (line 135) -* -joliet-long allow longer Joliet names: SetExtras. (line 137) -* -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 143) + (line 137) +* -joliet-long allow longer Joliet names: SetExtras. (line 139) +* -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 145) * -l allow 31 characters in ISO file names: SetCompl. (line 56) * -log-file redirect stderr messages: Miscellaneous. (line 33) * -m exclude disk files from inserting: SetInsert. (line 31) @@ -2062,7 +2064,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -rock Rock Ridge (is enabled by default): SetExtras. (line 13) * -root redirect ISO root directory: SetInsert. (line 55) * -rr_reloc_dir set deep directory relocation target: SetExtras. - (line 72) + (line 74) * -sparc-boot SUN SPARC boot images: SystemArea. (line 267) * -sparc-label SUN Disk Label text: SystemArea. (line 269) * -sysid set System Id: ImageId. (line 43) @@ -2091,12 +2093,12 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Menu: * Abstract File, set path, -abstract: ImageId. (line 57) -* ACL, record and load, --acl: SetExtras. (line 93) +* ACL, record and load, --acl: SetExtras. (line 95) * APM, mark appended partitions, -appended_part_as_apm: SystemArea. (line 200) * APM, _definition: SystemArea. (line 16) * Application Id, set, -A, -appid: ImageId. (line 34) -* Backup, enable fidelity, --for_backup: SetExtras. (line 90) +* Backup, enable fidelity, --for_backup: SetExtras. (line 92) * Biblio File, set path, -biblio: ImageId. (line 62) * Block address, set sorting weight, --sort-weight: SetProduct. (line 45) @@ -2167,11 +2169,11 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character sets, _definition: Charset. (line 6) * Copyright File, set path, -copyright: ImageId. (line 66) * Deep directories, allow, -D, -disable-deep-relocation: SetExtras. - (line 58) + (line 60) * Deep directories, relocation target, -hide-rr-moved: SetExtras. - (line 88) + (line 90) * Deep directories, relocation target, -rr_reloc_dir: SetExtras. - (line 72) + (line 74) * Disk files, exclude, -hide-list: SetInsert. (line 44) * Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert. (line 31) @@ -2180,20 +2182,20 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * ECMA-119, _definition: Standards. (line 6) * El Torito, _definition: Bootable. (line 13) * Examples: Examples. (line 6) -* File names, curb length, -file_name_limit: SetExtras. (line 47) +* File names, curb length, -file_name_limit: SetExtras. (line 49) * File timestamps, set all, --set_all_file_dates: SetExtras. (line 35) * Forced output, control, --stdio_sync: SetProduct. (line 23) * GPT, mark appended partitions, -appended_part_as_gpt: SystemArea. (line 194) * GPT, _definition: SystemArea. (line 13) -* HFS+, enables production: SetExtras. (line 148) -* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 199) -* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 189) -* HFS+, set allocation block size: SetExtras. (line 175) -* HFS+, set APM block size: SetExtras. (line 179) +* HFS+, enables production: SetExtras. (line 150) +* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 201) +* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 191) +* HFS+, set allocation block size: SetExtras. (line 177) +* HFS+, set APM block size: SetExtras. (line 181) * HFS+, set creator and type of file, -hfsplus-file-creator-type: SetExtras. - (line 186) -* HFS+, set serial number: SetExtras. (line 171) + (line 188) +* HFS+, set serial number: SetExtras. (line 173) * HFS+, _definition: Standards. (line 32) * Hiding, from HFS+, -hide-hfsplus: SetHide. (line 25) * Hiding, from HFS+, -hide-hfsplus-list: SetHide. (line 28) @@ -2250,16 +2252,16 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 69) * Jigdo Template Extraction, -md5-list: Jigdo. (line 67) * Jigdo Template Extraction, _definition: Jigdo. (line 6) -* Joliet, allows longer names, -joliet-long: SetExtras. (line 137) -* Joliet, enable, -J, -joliet: SetExtras. (line 131) +* Joliet, allows longer names, -joliet-long: SetExtras. (line 139) +* Joliet, enable, -J, -joliet: SetExtras. (line 133) * Joliet, _definition: Standards. (line 21) * Links, follow on disk, -f, -follow-links: SetInsert. (line 22) -* Links, record and load hard links, --hardlinks: SetExtras. (line 114) +* Links, record and load hard links, --hardlinks: SetExtras. (line 116) * MBR, GPT, append partition, -append_partition: SystemArea. (line 174) * MBR, sectors per head, -partition_sec_hd: SystemArea. (line 146) * MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 149) * MBR, _definition: SystemArea. (line 9) -* MD5, record and load, --md5: SetExtras. (line 106) +* MD5, record and load, --md5: SetExtras. (line 108) * Message output, increase frequency, -gui: Miscellaneous. (line 29) * Message output, redirect stderr, -log-file: Miscellaneous. (line 33) * Message output, suppress, -quiet: Miscellaneous. (line 25) @@ -2285,7 +2287,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top (line 16) * Rock Ridge, disable production, --norock: SetExtras. (line 28) * Rock Ridge, _definition: Standards. (line 14) -* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 122) +* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 124) * Session, select path, -M, -prev-session, -dev: Loading. (line 11) * Session, set load and write address, -C, -cdrecord-params: Loading. (line 25) @@ -2294,11 +2296,11 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * System Id, set, -sysid: ImageId. (line 43) * Table-of-content, emulation off, --no-emul-toc: SetProduct. (line 41) * Table-of-content, emulation, --emul-toc: SetProduct. (line 33) -* UTF-16, for Joliet paths, -joliet-utf16: SetExtras. (line 143) +* UTF-16, for Joliet paths, -joliet-utf16: SetExtras. (line 145) * Verbosity, high, -v, -verbose: Miscellaneous. (line 38) * Volume Id, set, -V, -volid: ImageId. (line 13) * Volume Set Id, set, -volset: ImageId. (line 25) -* xattr, record and load, --xattr: SetExtras. (line 99) +* xattr, record and load, --xattr: SetExtras. (line 101) * xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, options: Options. (line 6) * zisofs file, enable recognition, -z, -transparent-compression: SetInsert. @@ -2318,27 +2320,27 @@ Node: SetInsert9789 Node: SetProduct14198 Node: SetCompl19374 Node: SetExtras21966 -Node: SetHide32370 -Node: ImageId33674 -Node: Bootable37956 -Node: SystemArea43124 -Node: Charset59573 -Node: Jigdo60598 -Node: Miscellaneous64875 -Node: Examples66520 -Node: ExSimple67014 -Node: ExGraft67497 -Node: ExMkisofs68797 -Node: ExGrowisofs70063 -Node: ExIncBackup71253 -Node: ExIncBckAcc74414 -Node: ExBootable76103 -Node: Files80285 -Node: Environ81380 -Node: Seealso82082 -Node: Bugreport82733 -Node: Legal83326 -Node: CommandIdx84223 -Node: ConceptIdx99661 +Node: SetHide32539 +Node: ImageId33843 +Node: Bootable38125 +Node: SystemArea43293 +Node: Charset59742 +Node: Jigdo60767 +Node: Miscellaneous65044 +Node: Examples66689 +Node: ExSimple67183 +Node: ExGraft67666 +Node: ExMkisofs68966 +Node: ExGrowisofs70232 +Node: ExIncBackup71422 +Node: ExIncBckAcc74583 +Node: ExBootable76272 +Node: Files80454 +Node: Environ81549 +Node: Seealso82251 +Node: Bugreport82902 +Node: Legal83495 +Node: CommandIdx84392 +Node: ConceptIdx99830  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorrisofs.texi b/libisoburn/trunk/xorriso/xorrisofs.texi index 7848e6cc..46ed6adf 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.texi +++ b/libisoburn/trunk/xorriso/xorrisofs.texi @@ -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 XORRISOFS 1 "Version 1.4.5, Aug 15, 2016" +@c man .TH XORRISOFS 1 "Version 1.4.5, Aug 20, 2016" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -809,9 +809,13 @@ Valid timestring formats are: 'Nov 8 14:51:13 CET 2007', 110814512007.13, 2007110814511300. See also @minus{}@minus{}modification-date= and man xorriso, Examples of input timestrings. @* -This action stays delayed until actual ISO production begins. -Up to then it can be revoked by @minus{}@minus{}set_all_file_dates -with empty timestring. +If the timestring is "set_to_mtime", then the +atime and ctime of each file and directory get set to the value found in their +mtime. +@* +These actions stay delayed until actual ISO production begins. +Up to then they can be revoked by @minus{}@minus{}set_all_file_dates +with empty timestring or timestring "default". @* The timestamps of the El Torito boot catalog file get refreshed when the ISO is produced. They can be influenced by @minus{}@minus{}modification-date=.