On Thu, Mar 10, 2011 at 17:01, Alan Cox <alan(a)lxorguk.ukuu.org.uk> wrote:
Ah but you see here is one of your problems. Do you want the
question
is RPM name A == RPM name B
to depend upon locale ? Isn't that a bit of a hazard - imagine if you
have multiple respositories and your dependancies pulled a different
package in German to English locales ?
This is the only good point made against case insensitivity so far.
However, I know of no locale that does not handle the first 128 UTF-8
characters used in ASCII with the conventional case assignments. I
deal with non-ASCII codings often (my own language is not covered in
ASCII, and I maintain a popular service for decypering wrongly-encoded
texts).
> There's nothing particularly special about rules that say
character
> numbers so-and-so are equivalent to character numbers so-and-so, in
> sections throughout the repertoire, with other blocks of characters that
There is a lot special. The rules for caseless comparison of the unicode
character set, case conversion and the like are huge. Some languages
don't have such a concept, some differ on how they are compared. The
comparison of accented and non-accented character variants is also a big
deal that Americanglish doesn't have to deal with but the rest of the
world does.
That is also a deal that either will or will not come up when
installing packages with yum. Let's look at those two scenarios:
1) There do not exist packages with non-ASCII characters in the
filename. Yay, we're done.
2) There do exist packages with non-ASCII characters in the filename.
Now how do you plan on installing them if you are on the C locale via
SSH? The only way to install them would be if yum supported case
insensitivity.
Even apparently simple things like German throw in some absolute
gems.
Try for example ß which has no upper case ligature but translates into a
pair of 'S'. Then the fun starts - how do you determine if any given pair
of SS ligatures in German are the same as ß if lower cased. Greek has
position dependant casing while in Turkish the letter I is a whole little
bomb of its own.
How do I install the beißen.rpm package if yum won't recognise
"beisen.rpm" (assuming that yum will ensure that there is no
conflicting "beisen.rpm" package)?
> don't have equivalents. Unicode just extends the size of
the
> repertoire.
And the rule set, and the number of case forms (upper, low and title) -
see upper/lower isn't really enough.
Welcome to planet Earth as seen by the rest of us
At this point you hopefully start to see why "Did you mean XYZ" is much
easier to implement, and also more useful !
There are very very good reasons to keep "is RPM name A the same as RPM
name B" a question that is not dependant upon anything else. Case is a
concept that doesn't have that property.
No one is arguing that RPM name A should be treated as RPM name B.
What is being argued is that yum should offer the option of accepting
RPM name B under the following conditions:
1) RPM name B does not exist in any configured repos.
2) RPM name A contains characters such that, given the C locale,
lowerCase(nameA)==lowerCase(nameB).
--
Dotan Cohen
http://gibberish.co.il
http://what-is-what.com