3 ms·
I don't know about the Unix certification process itself, but the Single Unix Specification explicitly mentions case-insensitivity among non-conforming file sys
by lapsed_lisper 1y ago
I don't know about the Unix certification process itself, but the Single Unix Specification explicitly mentions case-insensitivity among non-conforming file system behaviors that are allowed as extensions (in 2.1.1 item 4, third-to-last bullet):
https://pubs.opengroup.org/onlinepubs/9799919799/ https://pubs.opengroup.org/onlinepubs/9799919799/
So a conforming OS has to make case-sensitive file systems available (which MacOS does: you can create case-sensitive HFS or APFS volumes). But I'm not sure if a conforming OS instance (i.e., running system) has to have any case-sensitive mount points, and either way, AFAIK there's no practical and race-free way for a conforming application to detect whether any particular mount point behaves case-sensitively.
So I believe that as far as the standard goes, a conforming application might run on a conformingly-extended OS where no portion of the the file namespace behaves case-sensitively. IOW, a conforming application cannot rely on case-sensitivity for file names.
- p_ing 1y agoApple calls out case-sensitivity as a change they made to pass certification. [0] > 3. APFS file systems can be formatted as either case-sensitive or case-insensitive. Always format as case-sensitive for UNIX Conformant behavior. [0] https://www.opengroup.org/csq/repository/noreferences=1&RID=apple%252FCX1%25252F22.html https://www.opengroup.org/csq/repository/noreferences=1&RID=...
- yjftsjthsd-h 1y agoIf they standardize mktemp ( https://www.austingroupbugs.net/view.php?id=1616 https://www.austingroupbugs.net/view.php?id=1616 ) then I think you could just TESTDIR=$(mktemp -d -p ${WHEREVER}) touch ${TESTDIR}/FOO ls ${TESTDIR}/foo && fail