On Tue, Aug 13, 2013 at 09:43:32AM +0200, Sascha Peilicke wrote:
Hi everyone,
the next openSUSE release will have very strong support for Python3 and I've been working a lot on improving parallel installation of Python2 / Python3 modules. In other words, the most important packages (virtualenv, pip, nose, coverage, Sphinx, ...) now use update-alternatives. Any new Python package or update on an existing one should make sure it won't collide with it's py2 / py3 (or even pypy in the future) counterpart.
That means you would want to check binaries and man-pages, they make up for 99% of file conflicts. Other candidates are desktop files, icons, ... In short, everything that doesn't install into %python_sitelib / %python_sitearch or isn't marked as %doc.
If you want to get free hugs, please implement update-alternatives and consider the following packages for inspiration (in devel:languages:python):
python-Sphinx, python-nose, python-pip
Their counterparts live in devel:languages:python3.
It that's to much effort, please assure that at least the file conflict candidates are suffixed with %py_ver, e.g. %{_bindir}/nose should become %{_bindir}/nose-%{py_ver}. For Python3 packages it's %py3_ver (I know :-). This way we can use u-a later if it becomes necessary. You can either do this by fixing entry_points=[...] in setuptools-based setup.py files (if present), fixing scripts=[...] in all setup.py files or simply by moving around binaries in %install.
Thanks for your time and consideration :-)
Hi Sascha, great work! Can you update the packaging guidelines then? http://en.opensuse.org/openSUSE:Packaging_Python#Hints_on_how_to_Package_Pyt... Regards Michal Vyskocil
-- Sascha Peilicke SUSE Linux GmbH, Maxfeldstr. 5, D-90409 Nuernberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer HRB 16746 (AG Nürnberg)