New -compliance rules rrip_tf_year0 and rrip_tf_1900

This commit is contained in:
2025-09-16 21:10:22 +02:00
parent 0b7cbd3511
commit eb6c78e6a1
5 changed files with 93 additions and 66 deletions

View File

@@ -653,7 +653,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-part_like_isohybrid", "--zisofs-version-2", "--zisofs2-susp-z2",
"--zisofs2-susp-zf", "-dvd-audio", "-dvd-hybrid", "-long-rr-time",
"-no-long-rr-time", "-short-rr-time", "-ignore-error", "-data-change-warn",
"-genisoimage_completion",
"-genisoimage_completion", "-rr-time-year0",
""
};
static char arg1_options[][41]= {
@@ -967,6 +967,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -long-rr-time Use long Rock Ridge time format",
" -short-rr-time Enable use of short Rock Ridge time format",
" -no-long-rr-time Enable use of short Rock Ridge time format",
" -rr-time-year0 Enable writing of timestamps as low as year 0",
" -uid uid Make the owner of all files this uid.",
" -gid gid Make the group owner of all files this gid.",
" -o FILE, -output FILE Set output file name",
@@ -2580,6 +2581,9 @@ rr_reloc_dir:;
strcmp(argpt, "-short-rr-time") == 0) {
Xorriso_relax_compliance(xorriso, "rrip_tf_short", 0);
} else if(strcmp(argpt, "-rr-time-year0") == 0) {
Xorriso_relax_compliance(xorriso, "rrip_tf_year0", 0);
} else if(strcmp(argpt, "-log-file") == 0 ||
strcmp(argpt, "-file_name_limit") == 0) {
i+= 1;

View File

@@ -1 +1 @@
#define Xorriso_timestamP "2025.09.16.190146"
#define Xorriso_timestamP "2025.09.16.190953"

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 XORRISOFS 1 "Version 1.5.7, Jun 24, 2025"
.TH XORRISOFS 1 "Version 1.5.7, Sep 15, 2025"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -693,6 +693,12 @@ only for files with timestamps after 01 Jan 2150 UTC.
\fB\-no-long-rr-time\fR
Alias of \-short\-rr\-time.
.TP
\fB\-rr-time-year0\fR
Enable RockRidge timestamps before year 1900 AD down to year 0 (= 1 BC).
The default restricts timestamps to at least Jan 1 1900 UTC because the
Linux kernel up to at least version 6.16 misrepresents times before
year 1900 as Jan 1 1970 00:00:00 UTC.
.TP
\fB--for_backup\fR
Enable all options which improve backup fidelity:
.br

View File

@@ -630,6 +630,11 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op
timestamps only for files with timestamps after 01 Jan 2150 UTC.
-no-long-rr-time
Alias of -short-rr-time.
-rr-time-year0
Enable RockRidge timestamps before year 1900 AD down to year 0 (= 1
BC). The default restricts timestamps to at least Jan 1 1900 UTC
because the Linux kernel up to at least version 6.16 misrepresents
times before year 1900 as Jan 1 1970 00:00:00 UTC.
--for_backup
Enable all options which improve backup fidelity:
--acl, --xattr-any, --md5, --hardlinks, --projid, and possibly
@@ -2154,13 +2159,13 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
[index]
* Menu:
* --acl Recording of ACLs: SetExtras. (line 121)
* --acl Recording of ACLs: SetExtras. (line 126)
* --application_use set Application Use field: ImageId. (line 79)
* --boot-catalog-hide Hide El Torito boot catalog: Bootable. (line 123)
* --efi-boot El Torito EFI boot image: Bootable. (line 59)
* --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 79)
* --emul-toc enable table-of-content emulation: SetProduct. (line 33)
* --for_backup Enable backup fidelity: SetExtras. (line 106)
* --for_backup Enable backup fidelity: SetExtras. (line 111)
* --gpt-iso-bootable Set Legacy BIOS bootable flag: SystemArea.
(line 159)
* --gpt-iso-not-ro Do not set Read-only flag: SystemArea. (line 164)
@@ -2168,11 +2173,11 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 111)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 352)
* --hardlinks Recording of hardlink relations: SetExtras. (line 160)
* --lfa_flags Recording of Linux file attributes: SetExtras. (line 140)
* --hardlinks Recording of hardlink relations: SetExtras. (line 165)
* --lfa_flags Recording of Linux file attributes: SetExtras. (line 145)
* --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea.
(line 148)
* --md5 Recording of MD5 checksums: SetExtras. (line 152)
* --md5 Recording of MD5 checksums: SetExtras. (line 157)
* --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)
@@ -2184,12 +2189,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --old-root-no-ino disable disk ino with -old-root: SetInsert.
(line 103)
* --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 121)
* --projid Recording of XFS-style project ids: SetExtras. (line 149)
* --projid Recording of XFS-style project ids: SetExtras. (line 154)
* --protective-msdos-label Patch System Area partition table: SystemArea.
(line 143)
* --quoted_path_list read pathspecs from disk file: SetInsert.
(line 12)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 168)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 173)
* --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.
@@ -2198,8 +2203,8 @@ 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 any xattr: SetExtras. (line 134)
* --xattr Recording of user xattr: SetExtras. (line 127)
* --xattr Recording of any xattr: SetExtras. (line 139)
* --xattr Recording of user xattr: SetExtras. (line 132)
* --zisofs-version-2 enable recognition of zisofs2 files: SetInsert.
(line 65)
* --zisofs2-susp-z2 produce Z2 for version 2 instead of ZF: SetInsert.
@@ -2269,15 +2274,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 44)
* -hard-disk-boot El Torito boot image emulation: Bootable. (line 85)
* -help list supported options: Miscellaneous. (line 36)
* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 251)
* -hfs-bless-by HFS+ blessing: SetExtras. (line 241)
* -hfsplus enable production of HFS+ partition: SetExtras. (line 194)
* -hfsplus-block-size set APM block size: SetExtras. (line 231)
* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 256)
* -hfs-bless-by HFS+ blessing: SetExtras. (line 246)
* -hfsplus enable production of HFS+ partition: SetExtras. (line 199)
* -hfsplus-block-size set APM block size: SetExtras. (line 236)
* -hfsplus-block-size set HFS+ allocation block size: SetExtras.
(line 227)
(line 232)
* -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras.
(line 238)
* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 223)
(line 243)
* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 228)
* -hide keep matching files invisible in ISO tree: SetHide. (line 8)
* -hide-hfsplus keep matching files invisible in HFS+ tree: SetHide.
(line 25)
@@ -2308,7 +2313,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea. (line 87)
* -iso_mbr_part_type Set type of ISO MBR partition: SystemArea.
(line 129)
* -J enable production of Joliet directory tree: SetExtras. (line 177)
* -J enable production of Joliet directory tree: SetExtras. (line 182)
* -jigdo-checksum-algorithm set data file checksum algorithm: Jigdo.
(line 42)
* -jigdo-exclude add exclusion pattern for checksum file: Jigdo.
@@ -2324,9 +2329,9 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -jigdo-template-compress choose compression algorithm: Jigdo.
(line 83)
* -joliet enable production of Joliet directory tree: SetExtras.
(line 181)
* -joliet-long allow longer Joliet names: SetExtras. (line 183)
* -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 189)
(line 186)
* -joliet-long allow longer Joliet names: SetExtras. (line 188)
* -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 194)
* -l allow 31 characters in ISO file names: SetCompl. (line 57)
* -log-file redirect stderr messages: Miscellaneous. (line 48)
* -long-rr-time Force long Rock Ridge timestamps: SetExtras. (line 92)
@@ -2376,6 +2381,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 46)
* -rock Rock Ridge (is enabled by default): SetExtras. (line 13)
* -root redirect ISO root directory: SetInsert. (line 85)
* -rr-time-year0 Enable Rock Ridge timestamps before 1900: SetExtras.
(line 106)
* -rr_reloc_dir set deep directory relocation target: SetExtras.
(line 74)
* -short-rr-time Enable Rock Ridge timestamps: SetExtras. (line 101)
@@ -2409,14 +2416,14 @@ 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 121)
* ACL, record and load, --acl: SetExtras. (line 126)
* APM, mark appended partitions, -appended_part_as_apm: SystemArea.
(line 265)
* APM, _definition: SystemArea. (line 16)
* Appended partitions, GPT: SystemArea. (line 238)
* Appended partitions, MBR: SystemArea. (line 215)
* Application Id, set, -A, -appid: ImageId. (line 34)
* Backup, enable fidelity, --for_backup: SetExtras. (line 106)
* Backup, enable fidelity, --for_backup: SetExtras. (line 111)
* Biblio File, set path, -biblio: ImageId. (line 62)
* Block address, set sorting weight, --sort-weight: SetProduct.
(line 45)
@@ -2515,14 +2522,14 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* GPT, sparsely filled, -appended_gpt_with_gaps: SystemArea. (line 272)
* GPT, _definition: SystemArea. (line 13)
* Group, for all files, -gid: SetProduct. (line 83)
* HFS+, enables production: SetExtras. (line 194)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 251)
* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 241)
* HFS+, set allocation block size: SetExtras. (line 227)
* HFS+, set APM block size: SetExtras. (line 231)
* HFS+, enables production: SetExtras. (line 199)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 256)
* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 246)
* HFS+, set allocation block size: SetExtras. (line 232)
* HFS+, set APM block size: SetExtras. (line 236)
* HFS+, set creator and type of file, -hfsplus-file-creator-type: SetExtras.
(line 238)
* HFS+, set serial number: SetExtras. (line 223)
(line 243)
* HFS+, set serial number: SetExtras. (line 228)
* HFS+, _definition: Standards. (line 34)
* Hiding, by ISO RR path, -hide_iso_path: SetHide. (line 31)
* Hiding, from HFS+, -hide-hfsplus: SetHide. (line 25)
@@ -2585,18 +2592,18 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 83)
* Jigdo Template Extraction, -md5-list: Jigdo. (line 81)
* Jigdo Template Extraction, _definition: Jigdo. (line 6)
* Joliet, allows longer names, -joliet-long: SetExtras. (line 183)
* Joliet, enable, -J, -joliet: SetExtras. (line 177)
* Joliet, allows longer names, -joliet-long: SetExtras. (line 188)
* Joliet, enable, -J, -joliet: SetExtras. (line 182)
* Joliet, _definition: Standards. (line 21)
* Links, follow on disk, -f, -follow-links: SetInsert. (line 32)
* Links, record and load hard links, --hardlinks: SetExtras. (line 160)
* Links, record and load hard links, --hardlinks: SetExtras. (line 165)
* Linux file attributes, record and load, --lfa_flags: SetExtras.
(line 140)
(line 145)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 208)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 180)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 183)
* MBR, _definition: SystemArea. (line 9)
* MD5, record and load, --md5: SetExtras. (line 152)
* MD5, record and load, --md5: SetExtras. (line 157)
* Message output, increase frequency, -gui: Miscellaneous. (line 44)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 48)
* Message output, suppress, -quiet: Miscellaneous. (line 40)
@@ -2619,6 +2626,8 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Problems, reporting: Bugreport. (line 6)
* Program version, report, -version: Miscellaneous. (line 58)
* Publisher Id, set, -P, -publisher: ImageId. (line 28)
* Rock Ridge timestamps, before 1900, -rr-time-year0: SetExtras.
(line 106)
* Rock Ridge timestamps, enable short, -no-long-rr-time: SetExtras.
(line 104)
* Rock Ridge timestamps, enable short, -short-rr-time: SetExtras.
@@ -2630,7 +2639,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 168)
* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 173)
* Session, select path, -M, -prev-session, -dev: Loading. (line 11)
* Session, set load and write address, -C, -cdrecord-params: Loading.
(line 25)
@@ -2639,14 +2648,14 @@ 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 189)
* UTF-16, for Joliet paths, -joliet-utf16: SetExtras. (line 194)
* Verbosity, high, -v, -verbose: Miscellaneous. (line 53)
* Volume Id, set, -V, -volid: ImageId. (line 13)
* Volume Set Id, set, -volset: ImageId. (line 25)
* xattr, record and load, --xattr: SetExtras. (line 127)
* xattr, record and load, --xattr-any: SetExtras. (line 134)
* xattr, record and load, --xattr: SetExtras. (line 132)
* xattr, record and load, --xattr-any: SetExtras. (line 139)
* XFS-style project ids, record and load, --projid: SetExtras.
(line 149)
(line 154)
* xorriso, mkisofs emulation: Xorriso. (line 6)
* xorriso, options: Options. (line 6)
* Z2 instead of ZF for version 2, -zisofs2-susp-z2: SetInsert.
@@ -2672,28 +2681,28 @@ Node: SetInsert9693
Node: SetProduct15628
Node: SetCompl21200
Node: SetExtras23873
Node: SetHide36978
Node: ImageId38977
Node: Bootable43259
Node: SystemArea49692
Node: Charset71003
Node: Jigdo72028
Node: Miscellaneous76998
Node: Reproducible79598
Node: Examples82104
Node: ExSimple82598
Node: ExGraft83081
Node: ExMkisofs84381
Node: ExGrowisofs86189
Node: ExIncBackup87379
Node: ExIncBckAcc90555
Node: ExBootable92260
Node: Files96442
Node: Environ97537
Node: Seealso97955
Node: Bugreport98656
Node: Legal99249
Node: CommandIdx100146
Node: ConceptIdx117871
Node: SetHide37264
Node: ImageId39263
Node: Bootable43545
Node: SystemArea49978
Node: Charset71289
Node: Jigdo72314
Node: Miscellaneous77284
Node: Reproducible79884
Node: Examples82390
Node: ExSimple82884
Node: ExGraft83367
Node: ExMkisofs84667
Node: ExGrowisofs86475
Node: ExIncBackup87665
Node: ExIncBckAcc90841
Node: ExBootable92546
Node: Files96728
Node: Environ97823
Node: Seealso98241
Node: Bugreport98942
Node: Legal99535
Node: CommandIdx100432
Node: ConceptIdx118300

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 XORRISOFS 1 "Version 1.5.7, Jun 24, 2025"
@c man .TH XORRISOFS 1 "Version 1.5.7, Sep 15, 2025"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@@ -964,6 +964,14 @@ only for files with timestamps after 01 Jan 2150 UTC.
@cindex Rock Ridge timestamps, enable short, -no-long-rr-time
Alias of -short-rr-time.
@c man .TP
@item -rr-time-year0
@kindex -rr-time-year0 Enable Rock Ridge timestamps before 1900
@cindex Rock Ridge timestamps, before 1900, -rr-time-year0
Enable RockRidge timestamps before year 1900 AD down to year 0 (= 1 BC).
The default restricts timestamps to at least Jan 1 1900 UTC because the
Linux kernel up to at least version 6.16 misrepresents times before
year 1900 as Jan 1 1970 00:00:00 UTC.
@c man .TP
@item @minus{}@minus{}for_backup
@kindex @minus{}@minus{}for_backup Enable backup fidelity
@cindex Backup, enable fidelity, @minus{}@minus{}for_backup