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

Re: version independent pythin packages: ?

On Fri, 2003-08-08 at 14:44, Matthias Urlichs wrote:
> Hi, Donovan Baarda wrote:
> > Try the following set of dependencies;
> > 
> OK, for one, docutils isn't supported for python <2.2, so all those long
> lines get a bit shorter.

First I'd better qualify what I posted. The dependencies I posted
assumed the suggested modification to the Python Policy was in place,
allowing version idependant pure python modules in /usr/lib/python, and
were to satisfy the scenario described by Alexandre Fayolle as follows;

> available on all python versions. For instance python-docutils needs
> python-xmlbase and python-difflib. python-xmlbase exists for python2.1
> and 2.2 but not 2.3, and difflib exists for 2.1, but not 2.2 or 2.3.
> should the dependencies be written ?

It seems Alexandre's impression of the docutils dependencies was a
little out. What you describe below is quite different.

> I think the 'dependency package' approach works best.
> Package: python-docutils
> Architecture: all
> Depends: python2.3-docutils | python2.2-docutils
> Description: Utilities for the documentation of Python modules
>  The purpose of the Docutils project is to create a set of tools for
>  processing plaintext documentation into useful formats, such as HTML,
>  XML, and TeX.
>  .
>  The package includes the reStructuredText parser and the Python
>  Docstring Processing System project.
> Package: python2.3-docutils
> Architecture: all
> Depends: python2.3, python-docutils, python-roman
> Description: Dependency package for python-docutils with Python 2.3
>  This package is a dependency package. It represents the requirements of
>  the python-docutils package when used with Python 2.3.
> Package: python2.2-docutils
> Architecture: all
> Depends: python2.2, python-docutils, python2.2-xmlbase, python-roman, python-textwrap
> Description: Dependency package for python-docutils with Python 2.2
>  This package is a dependency package. It represents the requirements of
>  the python-docutils package when used with Python 2.2.
> If there's no objection, the next version will look like this.
> (Due out shortly, as I need to package upstream's 0.3 as well as fix a
> packaging bug.)

Um... I have a few problems with this. It doesn't really follow the
current Python Policy.

After looking at it, I can't figure out what you are attempting to
achieve. Is the python-docutils package just a wrapper, or does it
include the bulk of the python modules? If it includes the python
modules, where do they go; /usr/lib/python2.3, /usr/lib/python2.2, or
somewhere else? Do the pythonX.Y-docutils packages contain anything, or
are they just a way of "delegating dependencies".

After writing this I had a look at the current docutils package and
think I know what you are getting at. python-docutils puts all the
modules in /usr/lib/site-python and the other guys just make sure the
dependencies are met.

For some reason I feel a bit uncomfortable with it. The python-docutils
package doesn't "support the default python". Installing
python-docutils, python2.3-docutils, and python (2.2) will meet all
dependencies but result in a docutils that doesnt work for

I'm not sure what the best solution is. My gut instinct is to have
python-docutils just depend on python-xmlbase and python-textwrap, and
have python (2.3) "Provides" them. That way you could have;

Package: python-docutils
Depends: python (>=2.2), python (<<2.4), python-xmlbase,
python-textwrap, python-roman

Package python (2.3)
Provides: python-xmlbase, python-textwrap

Package python2.3
Provides: python2.3-xmlbase, python2.3-textwrap

Under the current Python Policy, there is not nice support for pure
python modules that support multiple versions of python. You have been
putting them in /usr/lib/site-python but there is nothing under the
Python Policy yet that talks about this.

It would be nice if you could specify dependencies as follows;

Depends: (python2.2, python2.2-xmlbase, python-textwrap) | (python2.3),

I was going to suggest a solution, but I'm tired and I can't think of
one. docutils is a tough one :-(

> > Package: python-xmlbase
> > Depends: python (<<2.3) | python2.2 | python2.1 | python2.0 | python1.6
> > | python1.5
> > Provides: python2.2-xmlbase, python2.1-xmlbase, python2.0-xmlbase,
> > python1.6-xmlbase, python1.5-xmlbase
> > 
> Duh? xmlbase doesn't seem to be supported for Python < 2.1.

This was a hypothetical solution for a suggested modification to the
Python Policy based on an incomplete and inaccurate description of the
docutils dependencies. Not to be taken seriously :-)

Donovan Baarda <abo@minkirri.apana.org.au>

Reply to: