man-pages-linux needs case sensitive directories

Brian Inglis
Thu Feb 16 05:55:43 GMT 2023

On 2023-02-15 02:22, Corinna Vinschen wrote:
> On Feb 15 00:11, Brian Inglis wrote:
>> Linux man pages 6.03 has been released.
>> I realized that some of the man pages are case sensitive e.g. _[Ee]xit.2,
>> {NAN,nan}.3, perhaps others.
>> I took care of my own system using commands like below, but would appreciate
>> advice on whether there is any better portable or Cygwin specific approach,
>> and what are the opinions on the best way to handle this in the cygport for
>> download and install?
>> Is this supported by Cygwin on Windows 10 versions >= [20]18-03 with the
>> directory attribute set, are there likely to be any problems with git, or in
>> general with POSIX<->Windows file names?
>> $ cd /usr/share/man/linux/
>> $ for s in man?; do fsutil file setCaseSensitiveInfo $s; done

> You can do this in Cygwin with the chattr(1) tool, see chattr --help.

Thanks Corinna,

I thought I remembered something but git and ml searches got no useful hits.

> The hint "WSL must be installed" appears to be outdated, at least on
> Windows 11.  There are two approaches for case-sensitivity, see
> However, as part of the distro, the package must not rely on
> case-sensitivity.  We have to assume that most users are using Windows
> in default settings.  And we still support Windows versions prior to
> Windows 10 1803.  But even then, I encountered serious trouble with
> case-sensitive directories on remote shares, see
> so you'd get into trouble if the Cygwin installation is on a share.

I noticed that and other issues, like needing to pre-create and fsutil/chattr 
the directories before extraction.

> For colliding man pages, what you can do is to append a character to
> the man page file, so you can install both.  For instance:
>    exit.2
>    Exit.2a
>    nan.3
>    NAN.3a
> Kind of like that.

Thanks much for that great idea!
I will check if it will extract with:

TAR_OPTIONS="--transform=s,_Exit.2,_Exit.2u, --transform=s,NAN.3,NAN.3u, 

as those 2 files are small .so to man2/_exit.2 and man3/INFINITY.3 respectively, 
and note suffix "u" to make Uppercase Unique and deal with case conflicts.

I have also noticed that man -m, --system=a,b priority is alphabetic, so 
-mman,linux displays Linux instead of Cygwin man pages, so will use 
man-pages-linux instead, and provide linux as a convenient interactive symlink 
for backward compatibility, and if anyone wants to see Linux over Cygwin.

Take care. Thanks, Brian Inglis			Calgary, Alberta, Canada

La perfection est atteinte			Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter	not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer	but when there is no more to cut
			-- Antoine de Saint-Exupéry

More information about the Cygwin-apps mailing list