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

Re: Ruby changes for Wheezy



Heyho!

On Friday 04 March 2011 14.16:34 Lucas Nussbaum wrote:

> Sorry, could you explain how it works in python, when a given binary
> package contains stuff for both python 2.6 and 2.7, for example?

I'm not involved with Python packages, so somebody correct me please.

The way it's done is that the packages declare what versions of python they 
support:

python-pygments, for example:
Depends: python2.6 | python2.7 | python2.5, python (>= 2.6.6-7~)
Breaks: python (>= 2.8), python (<< 2.5)

(these are generated by helpers - I'm not 100% why the Breaks is necessary, 
but I think it's to ensure that any given python library is available in all 
supported python versions that are installed.  A way without that would be 
nice though, even if that would mean python2.8 wouldn't see all modules that 
are installed.  OTOH this would certainly generate lots of mails to the bts 
by users...)

Then, via triggers, the module is compiled to bytecode for all supported 
python versions, added to the version's module path etc. (not sure how 
exactly this is done, and I guess this would be different for ruby in any 
case.)

Modules with binary parts usually just deliver the shared libraries in the 
main python-foo package (see python-yenc), but I guess it is possible to 
create python2.5-foo and python2.6-foo and have both provide the virtual 
python-foo.  Don't know if it exists.

cheers
-- vbi

-- 
Whenever people agree with me, I always think I must be wrong.
		-- Oscar Wilde

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: