bug#75405: gzip --synchronous doesn't work with musl

2025-01-10 Thread Paul Eggert
Thanks, I installed that test. Marking this gzip bug as done.

bug#75405: gzip --synchronous doesn't work with musl

2025-01-08 Thread Lasse Collin
On 2025-01-08 Lasse Collin wrote: > On 2025-01-08 Paul Eggert wrote: > > On 2025-01-07 10:22, Lasse Collin wrote: > > > It could be useful to add a test for gzip --synchronous. > > > > Feel free > > Attached. It's based on z-suffix. Syncing is the same in compression and decompression

bug#75405: gzip --synchronous doesn't work with musl

2025-01-08 Thread Lasse Collin
On 2025-01-08 Paul Eggert wrote: > On 2025-01-07 10:22, Lasse Collin wrote: > > > However, one thing that isn't an issue in musl is fchmod which is > > currently documented in Gnulib's doc/posix-headers/fcntl.texi. > > fchmod and a few others were fixed in 2013 by using > > /proc/self/fd.[1] >

bug#75405: gzip --synchronous doesn't work with musl

2025-01-08 Thread Paul Eggert
On 2025-01-07 10:22, Lasse Collin wrote: However, one thing that isn't an issue in musl is fchmod which is currently documented in Gnulib's doc/posix-headers/fcntl.texi. fchmod and a few others were fixed in 2013 by using /proc/self/fd.[1] Is that a full fix, though? /proc might not be mounted

bug#75405: gzip --synchronous doesn't work with musl

2025-01-07 Thread Lasse Collin
On 2025-01-06 Paul Eggert wrote: > On 2025-01-06 05:29, Lasse Collin wrote: > > As far as I understand this, O_SEARCH in POSIX is only meant for > > openat and such APIs. > > No, O_SEARCH is well defined in POSIX to work in plain 'open'. See >

bug#75405: gzip --synchronous doesn't work with musl

2025-01-06 Thread Paul Eggert
On 2025-01-06 05:29, Lasse Collin wrote: In musl, O_SEARCH maps to Linux-specific O_PATH That is a bug in musl. musl should not define O_SEARCH to O_PATH on Linux, because O_PATH is not a valid implementation of O_SEARCH. Or if musl wants to do some sort of approximate-but-invalid implementa

bug#75405: gzip --synchronous doesn't work with musl

2025-01-06 Thread Lasse Collin
On Linux/musl: $ echo foo > foo $ gzip --synchronous foo gzip: foo.gz: Bad file descriptor From gzip.c: dfd = open (dfname, O_SEARCH | O_DIRECTORY); ... if ((synchronous && ((0 <= dfd && fdatasync (dfd) != 0 && errno != EINVAL) || (fsync