[Catalog-sig] [Distutils] Prototype setuptools-specific PyPI index.
Phillip J. Eby
pje at telecommunity.com
Tue Jul 24 17:31:19 CEST 2007
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? :)
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.
More information about the Catalog-SIG