Bug 2105747 - PysolFC Can't install dependencies.
Summary: PysolFC Can't install dependencies.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: PySolFC
Version: epel9
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ---
Assignee: Sergio Basto
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-07-10 05:34 UTC by Scott Robbins
Modified: 2023-12-13 00:39 UTC (History)
5 users (show)

Fixed In Version: PySolFC-2.21.0-3.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-12-13 00:39:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Scott Robbins 2022-07-10 05:34:54 UTC
Description of problem:There is a PySolFC package in EPEL but installation fails with missing depedencies


Version-Release number of selected component (if applicable):
2.15.0-2.noarch

How reproducible:
Attempt to install PySol on RHEL9, or run dnf builddep on the spec file

Steps to Reproduce:
1.dnf search PySolFC
2.dnf install PySolFC (with epel and epel-testing enabled
3.

Actual results:
Gives error that nothing provides python3-imaging,python3-imagin-tk, python3-pygame

Expected results:
Package installs properly

Additional info:
Also tried enable copr:PyPI with no success. Attemping to build missing packages from srpms for other versions, e.g., fc34 or 36 also fails. Using rpmfind.net shows, for example for example, a python3-pillow for el9 but the link is broken, showing that neither rpm nor srpm can be found.

Comment 1 Sergio Basto 2022-07-13 13:11:52 UTC
Hi, 

I made some confusion PySolFC is available on epel7 , I thought bring it to epel 8 and 9 but some package on epel 8 doesn't exit in 9 etc etc 

TLDR 
https://copr.fedorainfracloud.org/coprs/sergiomb/pysol/  , I' building all here to test before and mapping all the packages that are missing in epel branches  

you are welcome to test it

Comment 2 Scott Robbins 2022-07-13 14:49:33 UTC
Hello, and thank you!  I tested your copr repo, installed PysolFC and it installed  without a problem. So many thanks, I can now play solitaire again. :)

Comment 3 Carl George 🤠 2023-12-01 06:16:34 UTC
Per policy, all dependencies of EPEL packages must present in the target base OS or in EPEL itself [0].  It is not sufficient to point people at a COPR to satisfy dependencies.  Currently there is still one missing dependency.


Error: 
 Problem: conflicting requests
  - nothing provides python3.9dist(pycotap) needed by PySolFC-2.15.0-2.el9.noarch from epel


Please follow the EPEL package request policy [1] to ask the python-pycotap maintainer to branch and build that package for EPEL 9.  Once that bug is filed it can be marked as blocking this one.  If this situation is not resolved, PySolFC will be removed from EPEL 9.


[0] https://docs.fedoraproject.org/en-US/epel/epel-packaging/#package_dependencies
[1] https://docs.fedoraproject.org/en-US/epel/epel-package-request/

Comment 4 Sergio Basto 2023-12-01 13:49:44 UTC
Hi,

I thought I had everything tested and that pysol ran on the epel 9, out of the box.

and checking is true, pycotap is only needed for the single unittest , tap_unittests.py

to fix it, I will also update PySolFC, PySolFC-cardsets, python-pysol-cards versions 


On epel 8 and 7 python-attrs from RHEL repo is too old , we need python-attrs >= 18.2.0  which is not available 

https://github.com/shlomif/PySolFC/issues/159#issuecomment-1123878146 just version pysolfc-2.6.4 of Apr 25, 2019, is compatible with  python-attrs < 18.2.0 ,  one solution maybe bundle python-attrs from epel 9 .

one note pip install attrs==18.2.0 was Released: Sep 1, 2018 and RHEL 8 doesn't have that update .

Comment 5 Carl George 🤠 2023-12-01 17:08:19 UTC
> and checking is true, pycotap is only needed for the single unittest , tap_unittests.py

According to the upstream setup.py file, pycotap is a runtime requirement.

https://github.com/shlomif/PySolFC/blob/pysolfc-2.15.0/setup.py#L77

This is why it was added automatically as a dependency in the RPM.  I can see what you mean that it is only imported in tap_unittests.py, but as long as the Python metadata lists it as a runtime requirement, it will still be an issue.  The correct approach is to send upstream a pull request to fix the Python metadata.  You can include the change as a patch to the RPM before upstream accepts it.

> to fix it, I will also update PySolFC, PySolFC-cardsets, python-pysol-cards versions

That won't fix it.  The latest tagged version still has that pycotap listed in the install_requires. 

https://github.com/shlomif/PySolFC/blob/pysolfc-2.21.0/setup.py#L77

You should work on fixing the installability (either by getting pycotap added or by patching out the dependency) first, before potentially bringing on more problems by upgrading the version unnecessarily.

> On epel 8 and 7 python-attrs from RHEL repo is too old , we need python-attrs >= 18.2.0  which is not available

That's a clear indication that further updating the version in epel7/epel8 is not a good idea.  In fact, if PySolFC can't be patched to work with the available version of python-attrs, then it should be downgraded with an epoch to a compatible version, or retired outright.

> one solution maybe bundle python-attrs from epel 9 .

Please no.  Bundling python libraries is very difficult to get right and not worth the effort.

Comment 6 Carl George 🤠 2023-12-01 20:32:25 UTC
> On epel 8 and 7 python-attrs from RHEL repo is too old , we need python-attrs >= 18.2.0  which is not available

Also if you're aware that the EPEL 7 and 8 builds of this package are broken, please file separate bugs to track those issues.

Comment 7 Fedora Update System 2023-12-04 00:53:34 UTC
FEDORA-EPEL-2023-bec46b8c38 has been submitted as an update to Fedora EPEL 9. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2023-bec46b8c38

Comment 8 Fedora Update System 2023-12-05 02:13:11 UTC
FEDORA-EPEL-2023-bec46b8c38 has been pushed to the Fedora EPEL 9 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2023-bec46b8c38

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Sergio Basto 2023-12-05 11:17:59 UTC
https://github.com/shlomif/PySolFC/pull/353  was merged

Comment 10 Fedora Update System 2023-12-13 00:39:45 UTC
FEDORA-EPEL-2023-bec46b8c38 has been pushed to the Fedora EPEL 9 stable repository.
If problem still persists, please make note of it in this bug report.


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