Bug 1482979 - vigra: Provide a Python 3 subpackage
Summary: vigra: Provide a Python 3 subpackage
Alias: None
Product: Fedora
Classification: Fedora
Component: vigra
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Bruno Postle
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: PYTHON3
TreeView+ depends on / blocked
Reported: 2017-08-18 13:55 UTC by Iryna Shcherbina
Modified: 2017-12-18 11:06 UTC (History)
2 users (show)

Clone Of:
Last Closed: 2017-12-18 11:06:45 UTC

Attachments (Terms of Use)

Description Iryna Shcherbina 2017-08-18 13:55:25 UTC
Upstream, this software supports Python 3. Please provide a Python 3
package for Fedora.

According to the Python packaging guidelines [0], software must be
packaged for Python 3 if upstream supports it.
The guidelines give detailed information on how to do this, and even
provide an example spec file [1].

The current best practice is to provide subpackages for the two Python
versions (called "Common SRPM" in the guidelines). Alternatively, if
nothing depends on your Python2 package, you can just switch to Python 3

It's OK to do this in Rawhide only, however, it would be greatly
appreciated if you could push it to Fedora 25 as well.

If you need more instructions, a guide for porting Python-based RPMs is
available at [2].
If anything is unclear, or if you need any kind of assistance with the
porting, you can ask on IRC (#fedora-python on Freenode), or reply here.
We'll be happy to help!

[0] https://fedoraproject.org/wiki/Packaging:Python
[1] https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file
[2] http://python-rpm-porting.readthedocs.io/

Comment 1 Bruno Postle 2017-10-18 09:49:41 UTC
Just adding some notes to this report, I don't see when I'm going to get a chance to actually deal with it.

vigra rawhide/f28 was changed recently to just provide a python2 package, but no python3:

> * Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.11.0-10
> - Python 2 binary package renamed to python2-vigra
>   See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3

I'm also seeing a broken dependency, presumably because boost-python is now called boost-python2 or some such:

> vigra has broken dependencies in the rawhide tree:
>         vigra-devel-1.11.0-10.fc28.x86_64 requires boost-python

The current vigra upstream release is 1.11.1 so this needs updating in rawhide too.

Comment 2 Troy Curtis 2017-12-13 04:44:42 UTC
Bruno, I see that 1.11.1 is in rawhide now, will you have time to look at adding in the python3 subpackage?  If not, I'd be happy to work on a PR for it.

Comment 3 Bruno Postle 2017-12-13 23:50:26 UTC
Troy, I'd welcome a patch for a python3 subpackage - I don't have enough memory to compile it locally so am a bit stuck for more than minor tweaks.

Comment 4 Troy Curtis 2017-12-17 01:25:00 UTC
Wow, you are right! I would have though 16GB of RAM would be enough, but not for -j5!  Luckily I managed to build it locally by setting _smp_mflags to '-j1'.

I've submitted PR #1 [0]

Note that the recently enabled LEMON library is not actually being linked in because of a bug in the coin-or-lemon packaging [1] (well also we'll need to add a config to the vigra spec to look in the non-standard directory, noted in the spec file in my PR commit).  It can be trivially fixed with a patch to the vigra build system, but I opted to disable for now until coin-or-lemon addresses the packaging issue. 

For ref:
koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=23741726
copr: https://copr.fedorainfracloud.org/coprs/troycurtisjr/vigra/build/688407/  (I forgot that at least python 2.7 is required so the el6 failed, though I'm not sure if you plan to support this version on the older releases).

0: https://src.fedoraproject.org/rpms/vigra/pull-request/1
1: https://bugzilla.redhat.com/show_bug.cgi?id=1526647

Comment 5 Troy Curtis 2017-12-17 14:39:35 UTC
To be accurate: I was mixing up my issues when I saw the el6 build failure.  The rhel releases don't build the python packages at all, so the python version obviously isn't the issue.  el6 doesn't build because the compiler is too old.  Maybe it'd build if the -std=c++0x were added, but I don't think that is a target for this package update.

Comment 6 Bruno Postle 2017-12-18 11:06:45 UTC
Thanks, all seems to be fine.  Merged and built in rawhide (f28): https://koji.fedoraproject.org/koji/taskinfo?taskID=23774086

I haven't been building any packages for RHEL, maybe I should.

Note You need to log in before you can comment on or make changes to this bug.