[Catalog-sig] [Distutils] Prototype setuptools-specific PyPI index.
jim at zope.com
Tue Jul 24 17:39:38 CEST 2007
On Jul 24, 2007, at 11:31 AM, Phillip J. Eby wrote:
> At 06:11 AM 7/24/2007 -0400, Jim Fulton wrote:
>> On Jul 23, 2007, at 5:21 PM, Phillip J. Eby wrote:
>>> At 11:13 PM 7/23/2007 +0200, Martin v. Löwis wrote:
>>>>> Yes, especially since compatibility with the existing installation
>>>>> base requires case insensitivity, because on case-insensitive
>>>>> platforms easy_install already normalizes the case of filenames it
>>>>> creates. So, the question of what the "right thing" to do is
>>>>> in the
>>>>> abstract has already been moot for a year or two.
>>>> Can you elaborate a bit, please? Why does the case of filenames
>>>> matter for the queries it makes?
>>>> AFAIU, it gets package names either from the user or from setup.py,
>>>> perhaps also from packages dependency inside .egg files (assuming
>>>> those support dependencies); these should all be case-sensitive.
>>> In order to resolve dependencies, the system looks at installed .egg
>>> files and directories (and .egg-info direcories), and extracts
>>> package name and version info from the filenames.
>> But the package name and version are in the PKG-INFO files, so it
>> certainly has access to non-normalized names. Why can't it double
>> check a possible match against that file?
> Because if case actually made a difference, we couldn't have both
> packages installed in the same directory, could we? And why add an
> extra file open (which currently is only needed for "develop" eggs)
> to the process of building a working set or environment, in order
> to confirm something whose only purpose is to make requirements
> more difficult to specify? :)
Currently, we allow packages to differ only in case. The fact that
setuptools pretends we don't doesn't change the fact that we do. You
said that "compatibility with the existing installation base
requires case insensitivity, because on case-insensitive platforms
easy_install already normalizes the case of filenames it creates".
I'm merely pointing out that we don't have to rely soley on the file
> Note that if what's bothering you is the package index access time,
> use Apache's mod_speling to enable case-insensitive URLs for the
> static page tree.
*If* we decide that package names are case insensitive, then we
should do this. We haven't decided this.
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Catalog-SIG