Bug 1669255

Summary: python2-entrypoints: missing dependencies
Product: [Fedora] Fedora Reporter: Sam P <dagofthedofg>
Component: python-entrypointsAssignee: Mukundan Ragavan <nonamedotc>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: apevec, bperkins, carl, ctubbsii, dagofthedofg, i, igor.raits, nonamedotc, rtnpro
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: python-entrypoints-0.2.3-9.fc28 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-04-27 21:35: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 Sam P 2019-01-24 18:20:00 UTC
Description of problem:
After upgrading from python2-keyring-11.0.0-2 to python2-keyring-13.2.1-2 I began to receive errors in my scripts stating "ImportError: cannot import name configparser"

Version-Release number of selected component (if applicable):
python2-keyring-13.2.1-2.fc28.noarch

How reproducible: I am able to downgrade the python*-keyring packages and run the script successfully. A simple python script that merely imports the "keyring" module is enough to reproduce the error with the newer packages.


Steps to Reproduce:
1. Install python2-keyring-13.2.1-2
2. Try to run a python 2.x script that imports the keyring module

Actual results:

$ python test.py
Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import keyring
  File "/usr/lib/python2.7/site-packages/keyring/__init__.py", line 3, in <module>
    from .core import (set_keyring, get_keyring, set_password, get_password,
  File "/usr/lib/python2.7/site-packages/keyring/core.py", line 13, in <module>
    from . import backend
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 10, in <module>
    import entrypoints
  File "/usr/lib/python2.7/site-packages/entrypoints.py", line 19, in <module>
    from backports import configparser
ImportError: cannot import name configparser

Expected results:

Successful run of script

Comment 1 Christopher Tubbs 2019-01-31 23:01:24 UTC
Is this reproducible in F29, or does it affect only F28?

Comment 2 Christopher Tubbs 2019-01-31 23:03:07 UTC
Also, please attach your test.py
Also, does this affect the python3 version of the library also? The python2 one has been removed in rawhide.

Comment 3 Christopher Tubbs 2019-03-29 00:26:07 UTC
Closing as WONTFIX, due to unresponsive reporter. The python2 version is gone in F30 anyway, and I haven't seen the same issue with python3-keyring. Please open an new issue against the current version of Fedora if the issue persists for the python3 version.

Comment 4 Carl George 2019-04-01 16:42:29 UTC
I got a similar error with python2-keyring on Fedora 28.  In a fresh container, I ran:

1. yum install python2-keyring
2. python2 -c 'import keyring'

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/keyring/__init__.py", line 3, in <module>
    from .core import (set_keyring, get_keyring, set_password, get_password,
  File "/usr/lib/python2.7/site-packages/keyring/core.py", line 13, in <module>
    from . import backend
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 10, in <module>
    import entrypoints
  File "/usr/lib/python2.7/site-packages/entrypoints.py", line 19, in <module>
    from backports import configparser
ImportError: No module named backports

These scenarios work without error:

- python3-keyring on F28
- python2-keyring on F29
- python3-keyring on F29

python2-keyring depends on python2-entrypoints, which is missing a dependency on python2-configparser in F28.  This was already resolved in F29 [0].  python2-entrypoints is also missing a dependency on python2-backports [1] (not documented upstream).  It's not observed as an issue on F29 because python2-entrypoints requires python2-configparser, which in turn requires python2-backports.

This is not a problem in python2-keyring, so I'm changing the component.  Mukundan, for python2-entrypoints please backport this commit [0] to the F28 branch, and add a dependency on python2-backports on all branches.

[0]: https://src.fedoraproject.org/rpms/python-entrypoints/c/77713c831c09a51f82b3e954f929c95f8978190e
[1]: https://github.com/takluyver/entrypoints/blob/0.2.3/entrypoints.py#L19

Comment 5 Mukundan Ragavan 2019-04-02 01:45:00 UTC
I can fix it and push an update.

Comment 6 Fedora Update System 2019-04-18 22:52:06 UTC
python-entrypoints-0.2.3-9.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2019-113179f15e

Comment 7 Fedora Update System 2019-04-19 18:16:03 UTC
python-entrypoints-0.2.3-9.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-113179f15e

Comment 8 Fedora Update System 2019-04-27 21:35:59 UTC
python-entrypoints-0.2.3-9.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.