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

Re: [pkg-boost-devel] Bug#473973: libboost-python-dev: rdeps fails?to built - python packaging seems weird



For the debian-python readers just joining in: the recent modification
of Boost to support multiple Python runtimes has some unintended
consequences; see bug #473973.  Below are some questions for your
consideration.


On Wed, Apr 02, 2008 at 06:11:34PM +0200, Sune Vuorela wrote:

> If I ask specifically for -lboost_python-py24 or -lboost_python-py25 
> or -lboost_python-mt-py24 or -lboost_python-py25, kdeedu seems to build 
> properly. If I just ask for one of the defaults (-lboost_python 
> or -lboost_python-mt it doesn't build)

You might want to consider doing so; this allows you to be
clear as to which version of python you support.  Or, indeed,
build support for both 2.4 and 2.5.


> > Please let me know what sequence of package installs (and what version
> > of libboost-python-dev) led to the situation of no symlinks.
> 
> The sequence of installation described here leaves it without those symlinks:
> 
> http://people.debian.org/~lucas/logs/2008/04/01/kdeedu_4%3A3.5.9-1_sid32.buildlog

OK, so this is using libboost-python-dev 1.34.1-10, which has the bug
previously mentioned: if you don't have python installed prior to
installing libboost-python-dev, you don't get the symlinks.

The sequence shown in the build log indicates that no python-dev
package is installed at all.  This is due to another change made to
support multiple python runtimes.  The libboost-python-dev package
used to depend on python-dev.  Now that it supports two runtimes, it
doesn't make sense to depend on both.  Arguably it could depend on the
default, but what I did instead is weaken the dependencies to suggest.
This breaks your build because the suggestions are not installed.

So here are some questions, and I'd like to throw then out to the
wisdom of debian-python, too.

1.  When does the rtupdate script get run?  I assumed it will be run
upon first install of python so as to configure all the python-using
packages previously installed.  But that does not seem to be the case.
Should it be?  If not, how should I handle the situation where
libboost-python-dev is installed/configured prior to python being
installed?

2.  Prior to supporting multiple runtimes, libboost-python-dev used to
depend on python2.4-dev.  Now it simply suggests python2.4-dev and
python2.5-dev since users of this package may need any of the
currently-supported Python development packages.  It means that some
(perhaps all) packages that build-depend on libboost-python-dev now
have to add python2.4-dev to their own build-deps.  Is that tenable?

3.  Alternatively, shall I add back python2.4-dev as a dependency for
libboost-python-dev?  This "penalizes" in some sense those who just
want Python 2.5, but not egregiously so.  It also assumes we can sort
out issue #1, I think, unless we can assume something about the
install ordering of the two packages.

4.  For a package that build-depends on libboost-python-dev, what is
the recommended strategy: to hack the build config and use the -py24
and -py25 library variants, or to rely on the symlinks and having the
correct Python installed?  Naively, I'd expect the latter strategy
for those who simply need to support the default Python version,
and the former for those who support all Python runtimes.


> kdeedu build doesn't fail by itself if it isn't found as it is only optional, 
> but we test afterwards if it is actually build.

Testing afterwards is a wise move!

Cheers,
-Steve

Attachment: signature.asc
Description: Digital signature


Reply to: