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.

Loading...

Luca Beltrame's avatar

You can omit # SECTION python build requirements and # /SECTION. Apart from that, LGTM.


Benjamin Greiner's avatar

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


Christophe Giboudeaux's avatar

Wouldn't 'Provides: python3-sip-devel:/usr/bin/sip' for python-sip-devel be more intuitive? then we can 'BuildRequires: /usr/bin/sip5'


Benjamin Greiner's avatar

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.
  • python-sip5-devel
    • has /usr/bin/sip5. Upstream always marked this transition helper as deprecated.
    • provides and conflicts on python-sip-impl
  • 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.


Benjamin Greiner's avatar

/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.


Wolfgang Bauer's avatar

Wouldn't this cause problems when building on Leap 15.2 (without KDE:Qt5), which we do in KDE:Extra?


Benjamin Greiner's avatar

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.


Benjamin Greiner's avatar

Turns out, a simple BuildConflicts: python3-sip-devel >= 6 is the better solution.

Request History
Benjamin Greiner's avatar

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.


Christophe Giboudeaux's avatar

cgiboudeaux accepted request

openSUSE Build Service is sponsored by