Bug 2142067

Summary: pylint fails to build with pytest 7.2.0 - problem with dependency on `py` package
Product: [Fedora] Fedora Reporter: Lumír Balhar <lbalhar>
Component: pylintAssignee: Gwyn Ciesla <gwync>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 38CC: gwync, orion, philip.wyett
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-03 06:01:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2117176, 2168842, 2137514    

Description Lumír Balhar 2022-11-11 13:35:25 UTC
I'm testing an update of pytest to 7.2.0 and I've discovered that this package fails to build with it. The reason is a change related to `py` package.

`py` is an independent package developed by the same team as pytest and it has been bundled in pytest for quite some time. The `py` package itself is now in maintenance mode and pytest developers decided to bundle only a subset of its functionalities in pytest since version 7.2.0.

It seems that pylint needs some parts of `py` that are no longer available in pytest (including deprecated `py.test` itself). There are two possible solutions:

1. Drop dependency on `py`. That requires some coordination with upstream but it's generally a good idea long-term.
2. Add python3-py to build dependencies. `py` package installed from python3-py will have a higher priority than py.py module bundled in pytest. This is a quick workaround but given the status of `py` project, it's only temporary.

If you want to, you can find the failed build in https://copr.fedorainfracloud.org/coprs/lbalhar/pytest/

Comment 1 Gwyn Ciesla 2022-11-11 20:19:42 UTC
I feel like 2. while working on 1. is a solid path.

Comment 2 Lumír Balhar 2022-11-23 10:48:11 UTC
It turned out that implementing 1 is not that hard and I've prepared an upstream fix: https://github.com/PyCQA/pylint/pull/7829

Unfortunately, the patch doesn't work for the version we have in Fedora. Do you plan to update pylint? If so, you can do it and use the patch. If you don't plan to update the package, I can try to rebase the patch for version 2.14.4.

Comment 3 Lumír Balhar 2022-11-23 12:20:40 UTC
Our plan is to ship the updated pytest during the next week. If you need any assistance from us, feel free to say so.

Comment 4 Gwyn Ciesla 2023-01-12 15:55:33 UTC
I'll update pylint today or tomorrow. Thanks!

Comment 5 Gwyn Ciesla 2023-01-12 19:43:33 UTC
7829 doesn't apply cleanly to 2.15.10.

Comment 6 Gwyn Ciesla 2023-01-13 16:52:55 UTC
Updating with disabled test to fix FailsToInstall.

Comment 7 Ben Cotton 2023-02-07 15:11:11 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 38 development cycle.
Changing version to 38.

Comment 8 Lumír Balhar 2023-08-03 06:01:56 UTC
It seems to me that the package builds fine now.