[Robert Collins, 2010-09-20] > Path to a solution: use an API marker analgous to the ABI markers C > libraries have. Incompatible changes to a package bump the package > *name*. e.g. > python-zope.publication2.3 to python-zope.publication2.4 > Compatible changes don't: > python-zope.publication2.3-2.3.0ubuntu0 to > python-zope.publication2.3-2.3.1ubuntu0
Gustavo does something like this with CherryPy (python-cherrypy and python-cherrypy3 conflict with each other due to the same namespace, though). I maintain python-jinja and python-jinja2 but my upstream *did* change module name after breaking API (I will remove python-jinja after releasing Squeeze). I'm not sure we should try to solve this. IMHO we should try to convince upstreams that breaking API/ABI so often is a bad thing instead. Please note that: * 3rd party Python module authors break API or ABI a lot, and I mean A LOT (sic!). Even if we'll just Provide: python-foo-API, that will produce a lot of new virtual packages and a lot of confusion, * something as simple as changing --install-lib causes many Python modules to break (hardcoded paths, things like `os.path.join(os.path.dirname(__file__), '..', '..', 'share', 'foo')`, etc.) so playing with sys.path will require patching even more files, * adding new source package (which is the easiest way to support one more upstream version at the same time) requires going thru NEW which would make ftp-masters very unhappy (dozens of NEW packages every month), * maintaining 2 versions of the same module means twice as many work for both Debian maintainer and security team * ... I see only one sane way to fix the problem - changing Python interpreter to recognize API from filenames, like foo.1.py foo.2.py foo.2.3.py (with `import foo <= 2` as valid syntax) and let upstream authors decide when to bump it, just like C guys do, but that's a topic for python-devel mailing list... -- 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 -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100921083032.gb15...@piotro.eu