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

Re: Package for multiple Python versions



On 09/10/2011 11:18 PM, Mitar wrote:
> Hi!
> 
> On Sat, Sep 10, 2011 at 10:59 PM, Christian Kastner <debian@kvr.at> wrote:
>> The reason for this is that your build environment affects the resulting
>> binary package in various ways, one of them being the generated
>> dependencies, which is why you are seeing strange things below.
> 
> Sure. But then I cannot have one package to cover them all? Like one
> .deb file people could install everywhere and things would work? So
> with dependencies on major versions.

It depends. With simple packages with only minimal dependencies this
should not be a problem. The more complex your package gets, however,
the harder it becomes. For example, it may depend on the presence of
specific versions of helpers.

> I made some tests and it seems it should be enough to have Python 2.6
> as lower bound, not necessary so precise as dh_python2 helper makes
> it.

I'd expect this to be an example for the above. If dh_python2 generated
a dependency, I'd assume it is minimal and would consider mucking about
with it a Bad Move.

(Someone else, please correct me if I'm wrong.)

> I now made an ugly hack to fix this. ;-) Before dh_gencontrol I run:
> 
> # We make dependencies less strict
> perl -i -p -e 's/(, )?python \(>= ([^.\)]+\.[^.)]+)\.[^)]+\)/$1python
> (>= $2)/g' $(CURDIR)/debian/$@.substvars
> 
> # Require at least one version of libpython, not all of them; we move
> all of them to Recommends
> perl -n -e 'if (/^shlibs:Depends=.*?(libpython[^,]+(?:,
> libpython[^,]+)*)/) { print "shlibs:Recommends=$1\n" }'
> $(CURDIR)/debian/$@.substvars >> $(CURDIR)/debian/$@.substvars
> perl -i -p -e '1 while s/^(shlibs:Depends=.*?)(libpython[^,]+),
> (libpython[^,]+)/$1$2 | $3/g' $(CURDIR)/debian/$@.substvars


Reply to: