This is the mail archive of the
mailing list for the Cygwin project.
Re: coreutils new "case insensitivity" screws up shell scripts and other stuff
- From: Eric Blake <ebb9 at byu dot net>
- To: "Nicholas S. Wourms" <nwourms at CLEMSON dot EDU>, cygwin at cygwin dot com
- Date: Fri, 07 Dec 2007 13:06:18 -0700
- Subject: Re: coreutils new "case insensitivity" screws up shell scripts and other stuff
- References: <47596D37.email@example.com>
- Reply-to: cygwin at cygwin dot com
-----BEGIN PGP SIGNED MESSAGE-----
Please post to the list, so that others may chime in:
According to Nicholas S. Wourms on 12/7/2007 8:56 AM:
> Using coreutils-6.9-5 with a recently checked out version of Cygwin
> sources from cvs is causing major headaches. Specifically your
> modifications to make coreutils case insensitive. For starters, this
> functionality really messes up when "[" and "test" are checking for
> files in shell scripts.
I'm not sure I follow. [ and test are (usually) shell builtins, so my
coreutils changes should have no effect on it. And even if you are using
/bin/test instead of the shell builtin, I didn't change any functionality
there. All I changed was the behavior of mv (and cp, install, and ln) to
recognize attempts to change the case of a file; everything else should be
the default case handling rules of the underlying cygwin1.dll and not
specific to my port of coreutils.
> It will return a false positive for CHANGELOG
> and ChangeLog, even when only ChangeLog is present. This was not the
> case with previous versions of coreutils. If you want to see this
> behavior for yourself, just checkout the latest Cygwin Generic Build
> Script from cvs and give it a whirl with a package that has a ChangeLog.
Please show a transcript of a simple shell session that demonstrates what
you think is wrong, rather than describing it in sentences.
> Ironically, I believe that it was you who had previously checked in a
> modification to the GBS that had it check for both CHANGELOG and
> ChangeLog. Note that I think this a perfectly reasonable thing to do. I
> do not think package maintainers should be in the business of change the
> cases of file names. At the very least, Cygwin users should expect a
> reasonable level of case sensitivity. Also, please do not forget that we
> have CYGWIN=case_check:strict mode, which still ought to work (to some
To what extent is debatable - the cygwin maintainers have not really put
much effort into maintaining it.
> And then there is the problem of "managed" mounts. They allow
> for mount points which encode non-lowercase non-numeric letters in file
> names to achieve case sensitivity. Obviously this would likely cause
> problems, as well. I think these only serve to illustrate some of the
> many numerous problems with changing the long time default behavior of
> the very basic Cygwin utilities. At the very least, it makes the
> coreutils even less XSH Posix compliant, which is deviating from the
> fundamental goals of Cygwin. If people want that level of insensitivity,
> they ought use a mingw version of coreutils. However, if you still want
> it, I think it would be better to make this insensitivity opt-in with a
> environmental variable.
Bash _does_ have a shell option that controls how much case insensitivity
it uses for shell builtins. Perhaps you have inadvertently set these
settings differently than what you want?
> P.S. - This is a simple bug report, I don't have time to monitor or chat
> on the main list. Please let me know if you have a huge problem with me
> contacting you like this. Thanks for understanding.
You might not read the list, but I do, and I prefer my mail to come
through the list.
Don't work too hard, make some time for fun as well!
Eric Blake firstname.lastname@example.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html