Bug 2104323 - lutris: fails to install from epel9
Summary: lutris: fails to install from epel9
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: lutris
Version: epel9
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Chris King
QA Contact:
URL:
Whiteboard:
Depends On: 2104491
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-07-06 01:30 UTC by Carl George 🎩
Modified: 2022-10-15 00:25 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2022-10-15 00:25:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Carl George 🎩 2022-07-06 01:30:28 UTC
Description of problem:
lutris from epel9 has missing dependencies, causing it to be uninstallable.


Version-Release number of selected component (if applicable):
lutris-0.5.10.1-1.el9


How reproducible:
always


Steps to Reproduce:
1. dnf install lutris


Actual results:
Error: 
 Problem: conflicting requests
  - nothing provides python3-pillow needed by lutris-0.5.10.1-1.el9.x86_64
  - nothing provides python3-evdev needed by lutris-0.5.10.1-1.el9.x86_64
  - nothing provides python3.9dist(evdev) needed by lutris-0.5.10.1-1.el9.x86_64


Expected results:
successful installation

Comment 1 Steve Cossette 2022-07-06 01:44:28 UTC
Strange. So keep in mind I'm still new at this whole maintainer thing and we only just started supporting epel9. I always do a mockbuild before I publish, and it seems to find all of the packages in Centos Stream 9+epel9:

No matches found for the following disable plugin patterns: local, spacewalk, versionlock
Last metadata expiration check: 0:00:07 ago on Tue Jul  5 21:35:46 2022.
Dependencies resolved.
================================================================================
 Package                        Arch      Version            Repository    Size
================================================================================
Installing:
 desktop-file-utils             x86_64    0.26-5.el9         appstream     74 k
 fdupes                         x86_64    1:2.1.1-3.el9      epel          49 k
 libappstream-glib              x86_64    0.7.18-4.el9       appstream    396 k
 python3-devel                  x86_64    3.9.13-2.el9       appstream    247 k
 python3-gobject                x86_64    3.40.1-6.el9       appstream     17 k
 python3-setuptools             noarch    53.0.0-10.el9      baseos       946 k
 python3-wheel                  noarch    1:0.36.2-7.el9     crb           84 k
Installing dependencies:
 cairo                          x86_64    1.17.4-7.el9       appstream    660 k
 cairo-gobject                  x86_64    1.17.4-7.el9       appstream     19 k
 dejavu-sans-fonts              noarch    2.37-18.el9        baseos       1.3 M
 emacs-filesystem               noarch    1:27.1-3.el9       appstream    9.2 k
 expat                          x86_64    2.4.7-1.el9        baseos       116 k
 fontconfig                     x86_64    2.14.0-1.el9       appstream    297 k
 fonts-filesystem               noarch    1:2.0.5-7.el9.1    baseos        10 k
 freetype                       x86_64    2.10.4-9.el9       baseos       388 k
 gdk-pixbuf2                    x86_64    2.42.6-2.el9       appstream    493 k
 glib-networking                x86_64    2.68.3-3.el9       baseos       186 k
 glib2                          x86_64    2.68.4-5.el9       baseos       2.7 M
 gnutls                         x86_64    3.7.3-10.el9       baseos       925 k
 gobject-introspection          x86_64    1.68.0-10.el9      baseos       250 k
 graphite2                      x86_64    1.3.14-9.el9       baseos        95 k
 gsettings-desktop-schemas      x86_64    40.0-4.el9         baseos       688 k
 harfbuzz                       x86_64    2.7.4-5.el9        baseos       625 k
 json-glib                      x86_64    1.6.6-1.el9        baseos       163 k
 langpacks-core-font-en         noarch    3.0-16.el9         appstream     11 k
 libX11                         x86_64    1.7.0-7.el9        appstream    647 k
 libX11-common                  noarch    1.7.0-7.el9        appstream    206 k
 libXau                         x86_64    1.0.9-8.el9        appstream     31 k
 libXext                        x86_64    1.3.4-8.el9        appstream     40 k
 libXrender                     x86_64    0.9.10-16.el9      appstream     28 k
 libjpeg-turbo                  x86_64    2.0.90-5.el9       appstream    176 k
 libpng                         x86_64    2:1.6.37-12.el9    baseos       117 k
 libproxy                       x86_64    0.4.15-35.el9      baseos        74 k
 libsoup                        x86_64    2.72.0-8.el9       appstream    405 k
 libstemmer                     x86_64    0-18.585svn.el9    appstream     83 k
 libxcb                         x86_64    1.13.1-9.el9       appstream    243 k
 nettle                         x86_64    3.7.3-2.el9        baseos       397 k
 pcre2-utf32                    x86_64    10.40-2.el9        appstream    206 k
 pixman                         x86_64    0.40.0-5.el9       appstream    271 k
 pyproject-rpm-macros           noarch    1.2.0-1.el9        crb           41 k
 python-rpm-macros              noarch    3.9-52.el9         appstream     19 k
 python3                        x86_64    3.9.13-2.el9       baseos        29 k
 python3-cairo                  x86_64    1.20.1-1.el9       appstream     93 k
 python3-gobject-base           x86_64    3.40.1-6.el9       baseos       183 k
 python3-gobject-base-noarch    noarch    3.40.1-6.el9       baseos       161 k
 python3-libs                   x86_64    3.9.13-2.el9       baseos       7.8 M
 python3-packaging              noarch    20.9-5.el9         appstream     77 k
 python3-pip-wheel              noarch    21.2.3-6.el9       baseos       1.1 M
 python3-pyparsing              noarch    2.4.7-9.el9        baseos       150 k
 python3-rpm-generators         noarch    12-8.el9           appstream     31 k
 python3-rpm-macros             noarch    3.9-52.el9         appstream     16 k
 python3-setuptools-wheel       noarch    53.0.0-10.el9      baseos       471 k
 shared-mime-info               x86_64    2.1-4.el9          baseos       556 k
 xml-common                     noarch    0.6.3-58.el9       appstream     32 k


May I ask what Distro you're installing this on? (Also keep in mind that you're 3 minor versions behind, but I haven't changed anything in the python dependencies)

Comment 2 Carl George 🎩 2022-07-06 03:02:48 UTC
> So keep in mind I'm still new at this whole maintainer thing and we only just started supporting epel9.

No worries, it happens.  There is a list of packages [0] we know about with missing run time deps in epel9.  This is just one of the ones I was getting bugs filed for to help shrink that list.

> I always do a mockbuild before I publish, and it seems to find all of the packages in Centos Stream 9+epel9:

A mockbuild tells you if all the build time deps (BuildRequires) are available, but by default will succeed even if some run time deps (Requires) are missing.  You can pass the `--postinstall` flag to your mock build to have it attempt to install the built packages in the same buildroot to guard against that scenario.

> May I ask what Distro you're installing this on?

I get the same error on rhel9 and centos9.

> (Also keep in mind that you're 3 minor versions behind, but I haven't changed anything in the python dependencies)

I missed that there is lutris-0.5.10.1-4.el9 available in epel-testing, but as you said it doesn't change the python deps.  I do notice that installing with epel-testing enabled gives access to python3-pillow [1], so that one will be resolved when that update moves to stable.  But python3-evdev is still missing.  Would you mind filing the package request [2] for python-evdev to get that into epel9?


[0] https://tdawson.fedorapeople.org/epel/willit/epel9/status-wont-install.html
[1] https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-d7d3d24295
[2] https://docs.fedoraproject.org/en-US/epel/epel-package-request/

Comment 3 Steve Cossette 2022-07-06 10:44:35 UTC
I'm going to do some tests with a vm in the following days (or with the --postinstall flag), but lutris requires python > 3.7 (I believe fedora uses 3.10 from memory), I wonder if those dependancies exist on higher versions.

But yes i will surely look into this and fill a package request if needed.

Comment 4 Steve Cossette 2022-07-06 12:46:08 UTC
I went ahead and did a epel9 package request for python-evdev (https://bugzilla.redhat.com/show_bug.cgi?id=2104491). Once that gets done and pillow gets to stable, I'll do another test and see if other steps are needed (i.e. making sure it works)

Comment 5 Chris King 2022-07-06 13:16:35 UTC
Hi Carl. The other Lutris comaintainer here.

Sorry about this. We pushed an epel branch without ever testing it on our personal machines as we are only Fedora, but not RHEL/Alma/CentOS/Rocky/(more?) users haha. Our bad on that side.

Looks like the dependency problem goes deeper than the two packages that we explicitly required in the spec, as when we remove both of those the python3.9dist(evdev) requirement seems to remain.

My best guess is that another requirement requires that, and if I am understanding correctly, that requirement will only be satisfied when python3-evdev is satisfied, so we're stuck for the time being.

I think we're gonna need to remove lutris from epel until python3-evdev gets brought in. Thanks again for bringing this to our attention.

Comment 6 Carl George 🎩 2022-07-07 04:00:34 UTC
Dependencies in the format of python3.9dist(evdev) are automatically added from the python metadata.  That's why the dependencies in that format match the install_requires specified upstream [0].

[root@rhel9-container:~]# repoquery -q --requires lutris | grep python3.9dist
python3.9dist(distro)
python3.9dist(evdev)
python3.9dist(lxml)
python3.9dist(pygobject)
python3.9dist(pyyaml)
python3.9dist(requests)

You should still remove those dependencies from the spec file, because the Python guidelines state that dependencies covered by the generators should not be duplicated in the spec file [1].  It's probably fine to leave lutris in EPEL until bug 2104491 is resolved.  Even if the maintainer doesn't respond, we have a process [2] to get Steve added as a co-maintainer in about 3 weeks.

[0] https://github.com/lutris/lutris/blob/v0.5.10/setup.py#L55-L62
[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#Automatically-generated-dependencies
[2] https://docs.fedoraproject.org/en-US/epel/epel-policy/#stalled_epel_requests

Comment 7 Carl George 🎩 2022-10-15 00:25:43 UTC
Checking back in on old bugs, it looks like this is resolved now.  I can install lutris-0.5.11-1.el9 without issue.


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