I don't know the paxutils mailing list address, so I'll send here because tar is a paxutils user. I'll report the issue here, if it's a problem, kindly point me to the right address.
In paxutils, commit cd720d0fdcbd changed rmtcreat() to use rmtopen() instead of creat(), but doesn't pass the O_TRUNC flag. This means that tar would not truncate an existing archive, if the file already exists: $ dd if=/dev/zero of=test.tar bs=100k count=1 1+0 records in 1+0 records out 102400 bytes (102 kB, 100 KiB) copied, 0.000390167 s, 262 MB/s $ ll README test.tar -rw-r--r--. 1 matteo matteo 9.6K Oct 31 00:18 README -rw-r--r--. 1 matteo matteo 100K Nov 4 01:33 test.tar $ src/tar -c -f test.tar README $ ll test.tar -rw-r--r--. 1 matteo matteo 100K Nov 4 01:33 test.tar $ file test.tar test.tar: POSIX tar archive (GNU) $ tar vtf test.tar -rw-r--r-- matteo/matteo 9756 2024-10-31 00:18 README Pass the flag fixes it: $ ll test.tar -rw-r--r--. 1 matteo matteo 100K Nov 4 01:33 test.tar $ src/tar -c -f test.tar README $ ll test.tar -rw-r--r--. 1 matteo matteo 20K Nov 4 01:40 test.tar Regards, -- Matteo Croce perl -e 'for($t=0;;$t++){print chr($t*($t>>8|$t>>13)&255)}' |aplay
0001-Missing-O_TRUNC-flag-in-rmtcreat.patch
Description: Binary data