This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: coreutils new "case insensitivity" screws up shell scripts and other stuff

Hash: SHA1

Please post to the list, so that others may chime in:

According to Nicholas S. Wourms on 12/7/2007 8:56 AM:
> Eric,
> 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
> extent).

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?

> Cheers,
> Nicholas
> 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   
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at
Comment: Using GnuPG with Mozilla -


Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]