[Distutils] formencode as .egg in Debian ??
Phillip J. Eby
pje at telecommunity.com
Fri Nov 25 15:05:46 CET 2005
At 11:54 AM 11/25/2005 +0100, Vincenzo Di Massa wrote:
>Alle 11:04, venerdì 25 novembre 2005, David Arnold ha scritto:
> > But, if compatible versions of those dependencies are already installed
> > as Debian packages *without* egg metadata, will these be ignored?
>Yes, they will.
> > Even if it was possible for Debian to extend this downloading mechanism
> > so that it looked for dependencies via apt-get before trying to install
> > from the raw source or egg or whatever, it would usually be the case
> > that the user running the newly downloaded Python application would not
> > have permission to install system packages.
>I think easy_install coud be patched by debian packagers (or made
>by Phillip) to add a further check on dependency checking: it could check
>dependency is already provided by system packages.
This could be done with entry points that are then satisfied by a
Debian-speciifc plugin. But, I don't think this should be used to apt-get
things, just to check for availability. If you want to fetch stuff as
Debian system packages you should use easy_deb in the case where a Debian
package isn't already available.
However, the problem in creating such a dependency checking plugin is that
it *still* needs to map PyPI name+version -> Debian name+version, which is
a harder problem, I think, than simply adding the .egg-info files to the
>Philliph, do you like this idea? It is just adding a hook to dependency
>checking where distributors can call ther depency checking tools. That way
>the Name+Vesion problem is resolved without putting empty files anywhere.
Yeah, except that as you pointed out, you still have to have the mapping
exist somewhere as metadata for that hook to read. Which in the simplest
case would consist of some sort of flag files installed with the
packages... like an .egg-info file. So, it seems like it would be just as
easy to do that, and not have to:
1. maintain the hook in setuptools, which in this case is somewhat tricky
to bootstrap because the dependency resolver needs to be working before the
hook is activated, but the hook would be part of the dependency
resolver. So, it's a bit more fragile than the common sort of hook
provided by setuptools.
2. have the Debian folks maintaining both a module to hook into this, and a
database of package mappings.
It seems to me like the simpler solution is just to have the packages
install the .egg-info, and nobody has to maintain a mapping database
because the setup.py's the .debs are built from already have the info
needed, and there's no special code having to be jointly maintained to make
the detection work.
More information about the Distutils-SIG