[Distutils] [Bulk] Re: formencode as .egg in Debian ??

Vincenzo Di Massa hawk78_it at yahoo.it
Fri Nov 25 15:30:24 CET 2005


Alle 15:05, venerdì 25 novembre 2005, Phillip J. Eby ha scritto:
> 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
> >configurable
> >by Phillip) to add a further check on dependency checking: it could check
> >if a
> >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. 
Right! What I propose is to check and report the result to the user.
Like 
-->you must first install module foo typing "apt-get install python-foo"

> 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
> Debian dependencies.

Debian folks are happy to do hard work if that helps to develop a clean and 
well done Distribution. Right?

> >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.

The simpler solution has pitfalls consisting of: 
1) you need rebuilding every single python, rpm, tgz... package
2) as you told it has problems with namespace packages that coud be resolved 
providing more hooks 
( http://mail.python.org/pipermail/distutils-sig/2005-November/005542.html )
2) you force a layout of module installation when it is not strictly needed
3) you must provide functionality to distributors when they need (they are not 
encouraged to "subclass" your project and do what they want) (what when 
fedora or mandriva disagree with you or with Debian? will you add more and 
more platform specific --do-this-if-you-are-on-Debian-Sarge-with-backports 
and --do-this-if-you-are-on-Fedora-3.0?) :-)

The best property of my proposal is IMHO the othogonality thing!

Regards (and thanks)
Vincenzo

	

	
		
___________________________________ 
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB 
http://mail.yahoo.it


More information about the Distutils-SIG mailing list