[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Move to python 2.4 / Changing the packaging style for python packages

On Wed, 14 Jun 2006, Pierre Habouzit wrote:
> Le Mar 13 Juin 2006 07:12, Anthony Towns a écrit :
> > Apps can do either:
> >
> >     Package: foo
> >     Depends: python (>= 2.4), python-bar
> >
> >     /usr/bin/foo: #!/usr/bin/env python
> doesn't it breaks if python-bar only provides 2.3 modules ? because in 
> an apt PoV the dependencies will be fullfiled, but the application 
> won't work for obvious reasons.

"python-bar" must provide support of the current version. Given the
Depends above, we suppose that python 2.4 is the default. So python-bar
can't provide support for 2.3 only. :-)

> the XS-Python-Version for that application would be >= 2.4 e.g., and 

It would be "current, >= 2.4" as an application can only use one python
version at a time. If it is started with "#!/usr/bin/python2.4", then it
would be plain "2.4".

> that would mean that at package build time, one should ensure all the 
> dependency chain *has* to provide at least one fully available chain 
> (not necessarily 2.4, maybe 2.5 or higher ...).

The dependency chain must be respected for the python version that the
application uses.

> and if it breaks because at some point a secondary dependency does not 
> provides one of the modules it was supposed to, apt won't see it's 
> uninstallable, because real dependencies schemes do not match how they 
> are projected into the apt ones, they are more subtle.

This concerns only the few applications that are using a non-current
python version (i.e. != /usr/bin/python).

Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :

Reply to: