Since EL7 ffmpeg is getting some attention, I thought I'd take the opportunity to revisit something I've been sitting on for a couple of months now, because I'm at an impasse. This started with Sergio, but fell to me when I took over maintenance of OpenShot, and I've taken it as far as I can... but I'm unsure how to proceed, now. It's a little convoluted, so I apologize that this gets long.

We've long wanted to bring OpenShot to EL7, the problem is its dependencies. EPEL doesn't package PyQt5 (python3-qt5), and the reason is that they don't package SIP for Python 3 (python3-sip) which it requires.

However, EPEL does contain SIP for Python 2 (as python-sip) — but only the Python 2 build is packaged, and at an ancient version that wouldn't support our PyQt5 anyway.

So, because we need PyQt5 for OpenShot, and we need a Python 3 SIP for PyQt5, we need to package both of those up ourselves. Which gets even trickier, because our Python 3 SIP isn't allowed to interfere with the existing EPEL python-sip. The advice Rex Dieter gave Sergio @epel-devel was that it has to be a completely separate package, of just the Python 3 build, installable alongside the existing (different-version) python-sip. [1]

In fact (as I eventually worked out), it has to be a completely customized package. 

The macros SIP installs (/usr/lib/rpm/macros.d/macros.sip from sip.rpm, usually shared between python2-sip and python3-sip) have to be placed in a different file, and they all have to be renamed, so that macros.python3-sip doesn't override macros.sip. 

And then, because of that, the python3-qt5.spec for EL7 also has to be completely different from the standard Fedora python-qt5.spec: The python2 build had to be removed entirely. (It couldn't simply be skipped, because it was "primary" and some shared files were only generated during that phase.) Then the python3 build had to be made "primary", and modified to use a different set of SIP macro names from our macros.python3-sip.

Long story short, I've done all that work. The repos for the customized packages are here:


and both packages are built for EPEL (ppc64le and x86_64) in COPR:


My question now becomes, are these modified packages eligible for inclusion in... I don't even really know how EL7 packaging works, would it be inclusion in Fedora? Inclusion in EPEL? Or can they live in rpmfusion?

If they can go into rpmfusion, because they're un-provided dependencies for one of our packages, then great. I can open review bugs and start that process. But if they need to go into Fedora/EPEL/whatever, I'm not a packager there yet (I started that process, but wasn't able to make time to complete it), so perhaps someone else can shepherd them through that part of the process?