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

Re: coming back to packaging multiple versions of libraries



IMHO installing two versions of the same (public) Python module should
be simply forbidden in policy. For one simple reason: if module foo uses
bar in version 1 and spam uses bar in version 2, imagine what will
happen with egg which uses both foo and spam.

Right now I see only these options:
1) create separate binary packages for both versions of bar conflicting
   with each other
2) install only one version of bar as public module and the second one as
   private module
3) convince library author(s) to *not* break API so often (6 months? 1
   year?)
4) convince library author(s) to rename it (bar, bar2, bar3, etc.) once
   he/she decides to break API
5) convince Python interpreter developers to provide something similar to
   sonames (bar.py, bar.2/__init__.py, bar.2.3/__init__.py, bar.3.py)
   and add support for syntax I mentioned last time or use something
   like 3rd party pkg_resources' require() or... allow
   foo/lib-packages/bar → ../../bar-1 symlinks (where dist-packages/bar
   is in version 2 and dist-packages/bar-1 in v1, note that bar-1 is not
   a valid module name)... with lots of problems Clint already mentioned

my current vote is: 3, 4, 2 (if only one application uses it), 1, none
of the above, 5
-- 
Piotr Ożarowski                         Debian GNU/Linux Developer
www.ozarowski.pl          www.griffith.cc           www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645

Attachment: signature.asc
Description: Digital signature


Reply to: