Bug 1671697

Summary: pyxattr is missing provides python3.7dist(xattr)
Product: [Fedora] Fedora Reporter: Alfredo Moralejo <amoralej>
Component: pyxattrAssignee: Marcin Zajaczkowski <mszpak>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: kevin, mhroncok, mszpak
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: 2019-02-02 23:22:59 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:

Description Alfredo Moralejo 2019-02-01 11:01:37 UTC
Description of problem:

After enabling automatic dependencies generation in Fedora, packages which import xattr are adding:

Requires: python3.7dist(xattr)

However, pyxattr is providing

python3.7dist(pyxattr)

So packages which depend on it fail to install.

I'm not sure what's the best to manually add that provides as i don't find a macro for python3.7dist only for python3dist

Version-Release number of selected component (if applicable):

pyxattr-0.5.6-2.fc29

Comment 1 Miro Hrončok 2019-02-01 11:15:33 UTC
See:

 https://pypi.org/project/pyxattr/
 https://pypi.org/project/xattr/

Those are 2 things, two different Python packages.

RPMs that have "Requires: python3.7dist(xattr)" actually have upstream information on depending on xattr and pip would install xattr.

Our pyxattr package is an equivalent of the pyxattr PyPI package.


It seems that both packages are imported as xattr. I don't know about their compatibility with each other.

Comment 2 Miro Hrončok 2019-02-01 11:17:53 UTC
The automatic provides/requires are based on package names, not module names. A package name does not need to == the module name. For example djangorestframework package has the rest_framework module.

Comment 3 Miro Hrončok 2019-02-02 23:22:59 UTC
Anyway, nothing wrong with pyxattr here.

If your upstreams depend on pyxattr and not xattr, fix them. Don't disable the generator [1] please, but rather patch setup.py or the other upstream file that setup.py uses to fetch the dependency information from (I guess your setup.pys usually just use pbr to do "magic").


If you actually need xattr and not pyxattr, you'll need to package that, as it is not packaged in Fedora yet. You would most likely get conflicting files with pyxattr, that's unfortunate.

Maybe pyxattr can be dropped once xattr is packaged, I'm not sure. See [2] for compatibility.


[1] https://src.fedoraproject.org/rpms/python-pifpaf/c/e833ec140755d6b4ab5818c873d651fae22b4c8f?branch=master
[2] https://github.com/xattr/xattr/blob/master/xattr/pyxattr_compat.py