Re: Thoughts about packaging a standalone python-PyQt5-sip?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 30 Dec 2020, Scott Talbert wrote:

Neal and I are looking at getting ButterManager packaged, and it
depends on sip and PyQt5-sip:

https://github.com/egara/buttermanager/blob/master/requirements.txt

Now, this is where things get a bit odd:

- the current sip (4.19.24) does not have autogenerated Python
provides, but sip5 does:

  $ sudo dnf repoquery --provides sip
  Last metadata expiration check: 1:48:00 ago on Wed 30 Dec 2020 02:50:53
  PM PST.
  sip = 4.19.24-1.fc33
  sip(x86-64) = 4.19.24-1.fc33
  sip-macros = 4.19.24-1.fc33

  $ sudo dnf repoquery --provides sip5
  Last metadata expiration check: 1:48:05 ago on Wed 30 Dec 2020 02:50:53
  PM PST.
  python-sip5 = 5.5.0-1.fc33
  python3-sip5 = 5.5.0-1.fc33
  python3.9-sip5 = 5.5.0-1.fc33
  python3.9dist(sip) = 5.5
  python3dist(sip) = 5.5
  sip5 = 5.5.0-1.fc33
  sip5(x86-64) = 5.5.0-1.fc33

- sip ships PyQt5 bindings with matching version, but sip 5 seems to no
longer do so

  $ sudo dnf info python3-pyqt5-sip
  Last metadata expiration check: 1:51:03 ago on Wed 30 Dec 2020 02:50:53
  PM PST.
  Installed Packages
  Name         : python3-pyqt5-sip
  Version      : 4.19.24
  Release      : 1.fc33
  Architecture : x86_64
  Size         : 244 k
  Source       : sip-4.19.24-1.fc33.src.rpm
  Repository   : @System
  From repo    : fedora
  Summary      : SIP - Python 3/C++ Bindings Generator for pyqt5
  URL          : https://riverbankcomputing.com/software/sip/intro
  License      : GPLv2 or GPLv3 and (GPLv3+ with exceptions)
  Description  : This is the Python 3 build of pyqt5-SIP.

- https://pypi.org/project/PyQt5-sip/ has PyQt5-sip 12.8.1 but
https://pypi.org/project/sip/ has sip 5.5.0 which matches the sip5 in
Fedora (available since last month)

- there's a lot of packages that depend on python3-pyqt5-sip (though
none use the canonical python3dist(pyqt5-sip) unfortunately)

  $ sudo dnf repoquery --repo rawhide,rawhide-source --whatrequires
  'python3dist(pyqt5-sip)'
  Last metadata expiration check: 0:15:20 ago on Wed 30 Dec 2020
  04:28:29 PM PST.

  $ sudo dnf repoquery --repo rawhide,rawhide-source --whatrequires
  python3-pyqt5-sip
  Last metadata expiration check: 0:15:30 ago on Wed 30 Dec 2020
  04:28:29 PM PST.
  calibre-0:4.23.0-3.fc34.x86_64
  krita-0:4.4.1-1.fc34.i686
  krita-0:4.4.1-1.fc34.x86_64
  libarcus-0:4.8.0-1.fc34.src
  mingw-python-qt5-0:5.15.0-4.fc34.src
  pyqtwebengine-0:5.15.0-2.fc33.src
  python-pyface-0:7.1.0-1.fc34.src
  python-pynest2d-0:4.8.0-1.fc34.src
  python-qt5-0:5.15.0-5.fc34.src
  python3-arcus-0:4.8.0-1.fc34.x86_64
  python3-arcus-lulzbot-0:3.6.21-8.fc34.x86_64
  python3-poppler-qt5-0:0.75.0-6.fc33.x86_64
  python3-pyqtchart-0:5.15.2-1.fc34.i686
  python3-pyqtchart-0:5.15.2-1.fc34.x86_64
  python3-qgis-0:3.16.1-2.fc34.i686
  python3-qgis-0:3.16.1-2.fc34.x86_64
  python3-qscintilla-qt5-0:2.11.5-1.fc34.x86_64
  python3-qt5-base-0:5.15.0-5.fc34.i686
  python3-qt5-base-0:5.15.0-5.fc34.x86_64
  qhexedit2-0:0.8.9-2.fc33.src
  scidavis-0:2.3.0-2.fc33.src
  veusz-0:3.3.1-1.fc34.src
  veusz-0:3.3.1-1.fc34.x86_64

Any idea what's the best way to handle this? and/or why PyQt5-sip's
versioning get so far ahead of sip?

I think fundamentally the version of PyQt5-sip probably needs to match (or be very close to) the version of sip that PyQt5 itself was compiled with.

Also, it seems a bit odd that ButterManager requires PyQt5-sip>=12.7.0, but only requires sip>=4.19.8 (ie, a MUCH older version of sip). You might want to just try patching that out and/or inquire with upstream about whether that version dependency is correct.

(Further details: the PyQt5-sip module consists of generated code that's created by the sip code generator.)

Furthermore, I'm a bit confused about why ButterManager requires PyQt5-sip and sip to begin with. I can't see either being used in the current code on GitHub:

[talbert@deasil buttermanager]$ grep -rsI sip *
requirements.txt:PyQt5-sip>=12.7.0
requirements.txt:sip>=4.19.8
setup.py:       'sip>=4.19.8'
snapcraft.yaml:      - python3-sip

Looking at the history...it almost looks like these dependencies were added due to a packaging bug in PyQt5 in Arch Linux?? [1]

[1] https://github.com/egara/buttermanager/issues/13

So it seems like the PyQt5-sip and sip dependencies really shouldn't be there as ButterManager doesn't use them itself (that I can tell).

Scott
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux