View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002004 | 1003.1(2024)/Issue8 | Shell and Utilities | public | 2026-10-30 10:35 | 2026-10-30 10:35 |
| Reporter | harmen.stoppels | Assigned To | |||
| Priority | normal | Severity | Editorial | Type | Error |
| Status | New | Resolution | Open | ||
| Name | Harmen Stoppels | ||||
| Organization | Stoppels Consulting | ||||
| User Reference | |||||
| Section | pax | ||||
| Page Number | n/a (html) | ||||
| Line Number | n/a (html) | ||||
| Interp Status | |||||
| Final Accepted Text | |||||
| Summary | 0002004: pax: editorial errors in examples, rationale and standards references | ||||
| Description | This report collects several small errors in the pax page, found as a result of developing a test suite https://github.com/haampie/tar-minefield and its associated website https://stoppels.ch/tar/. Page and line numbers are not given because I only have access to the HTML edition: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/pax.html In order of appearance: 1. ISO/IEC 10646-1:2020 does not exist. Part 1 of ISO/IEC 10646 was merged into ISO/IEC 10646 in 2003, and XBD 1.4 (Normative References) cites ISO/IEC 10646:2020. 2. The largest value of the cpio and ustar size fields is 8589934591 (octal 77777777777), not 8589934592 3. The first listopt example prints the mode string "-rw-rw---". That is 9 characters. The ls mode string that %M produces is 10 characters when there is no alternate access method flag. 4. The second listopt example prints /usr/foo/bar as a symbolic link ("-> /tmp") with a size of 1492. The ustar Interchange Format requires the size field of a symbolic link to be specified as zero. 5. The rationale still describes the ctime record. That record was removed by IEEE Std 1003.1-2001/Cor 2-2004, item XCU/TC2/D6/25 (CHANGE HISTORY, Issue 6). | ||||
| Desired Action | 1. In EXTENDED DESCRIPTION, pax Extended Header, change both instances of: the ISO/IEC 10646-1:2020 standard UTF-8 encoding to: the ISO/IEC 10646:2020 standard UTF-8 encoding (one is in the paragraph after the record format, the other in the description of the hdrcharset keyword). In RATIONALE, pax Archive Character Set Encoding/Decoding, change both instances of: the ISO/IEC 10646-1:2020 standard to: the ISO/IEC 10646:2020 standard 2. In APPLICATION USAGE, change: The cpio and ustar formats can only support files up to 8589934592 bytes (8 * 2^30) in size. to: The cpio and ustar formats can only support files less than 8589934592 bytes (8 * 2^30) in size. 3. In EXAMPLES, in the output of the first listopt example, change: -rw-rw--- Jan 12 15:53 2003 1492 /usr/foo/bar to: -rw-rw---- Jan 12 15:53 2003 1492 /usr/foo/bar 4. In EXAMPLES, in the output of the second listopt example, change: /usr/foo/bar -> /tmp 1492 to: /usr/foo/bar -> /tmp 0 5. In RATIONALE, pax Interchange Format, change: The ustar format includes only mtime; the new format adds atime and ctime for symmetry. The atime access time restored to the file system will be affected by the -p a and -p e options. The ctime creation time (actually inode modification time) is described with appropriate privileges so that it can be ignored when writing to the file system. POSIX does not provide a portable means to change file creation time. Nothing is intended to prevent a non-portable implementation of pax from restoring the value. to: The ustar format includes only mtime; the new format adds atime for symmetry. The atime access time restored to the file system will be affected by the -p a and -p e options. | ||||
| Tags | No tags attached. | ||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-10-30 10:35 | harmen.stoppels | New Issue |