Overview
Request 876275 accepted
- BuildConflict on python3-sip-devel >= 6 because the build expects
the sip5 executable (or even older sip from SIP v4), which was
removed in SIP v6. A simple BuildRequire python3-sip-devel < 6
would result in a parallel install of SIPv4 and SIPv6, which do
not conflict per se. Because CMake sees the SIPv6 modules, it
assumes sip5 to be present, does not look for the old sip command
and fails.
- Created by bnavigator
- In state accepted
- Supersedes 875637
You can omit # SECTION python build requirements and # /SECTION. Apart from that, LGTM.
without the SECTION, spec-cleaner and the equivalent obs service move the boolean dependency away from the comment and away from the python3-qt5-devel BR.
See https://build.opensuse.org/package/show/home:bnavigator:pyqt:dependers/krita?rev=11
Wouldn't 'Provides: python3-sip-devel:/usr/bin/sip' for python-sip-devel be more intuitive? then we can 'BuildRequires: /usr/bin/sip5'
When the move to the sip-devel metapackage is complete, we will have:
- python-sip-devel depending on the selected default (python-sip6-devel)
- python-sip4-devel
- has
/usr/bin/sip
- has independent namespace, so does not conflict.
- has
- python-sip5-devel
- has
/usr/bin/sip5
. Upstream always marked this transition helper as deprecated. - provides and conflicts on python-sip-impl
- has
- python-sip6-devel
- only has the new style commands, sip-build and co.
- provides and conflicts on python-sip-impl
No need to introduce extra file providers, one can do BuildRequires: python3-sip5-devel
then.
But it is not in place yet, we are still waiting for the creation of devel:languages:python:pyqt. Submitting python-sip6-devel to KDE:Qt5 would be wrong IMHO.
/usr/bin/sip
and /usr/bin/sip5
are update-alternative controlled and provided by multiple python flavor packages (python36, python38, soon python39 ...). I think introducing a file provides tag, could create problems with the resolution to the right python flavor. Specifying primary python3-sip(5)?-devel as it is right now, does the right thing here.
Wouldn't this cause problems when building on Leap 15.2 (without KDE:Qt5), which we do in KDE:Extra?
Good point. I was not aware, that you also want to support Leap 15.2 without updated PyQt5 and SIP v5 packages.
Let me try to come up with an even more complicated boolean dependency.
Turns out, a simple BuildConflicts: python3-sip-devel >= 6
is the better solution.
Request History
bnavigator created request
- BuildConflict on python3-sip-devel >= 6 because the build expects
the sip5 executable (or even older sip from SIP v4), which was
removed in SIP v6. A simple BuildRequire python3-sip-devel < 6
would result in a parallel install of SIPv4 and SIPv6, which do
not conflict per se. Because CMake sees the SIPv6 modules, it
assumes sip5 to be present, does not look for the old sip command
and fails.
cgiboudeaux accepted request