Bug 1600721 - uwsgi: python2-uwsgidecorators requires both Python 2 and Python 3
Summary: uwsgi: python2-uwsgidecorators requires both Python 2 and Python 3
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: uwsgi
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Carl George
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3 PYTHON3-PYTHON2
TreeView+ depends on / blocked
 
Reported: 2018-07-12 20:33 UTC by Iryna Shcherbina
Modified: 2018-07-13 01:02 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-07-13 01:02:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Iryna Shcherbina 2018-07-12 20:33:24 UTC
The python2-uwsgidecorators (2.0.17.1-1.fc29) RPM requires both Python 2 and Python 3:

$ dnf --repo=rawhide repoquery --requires python2-uwsgidecorators | grep python
libpython2.7.so.1.0()(64bit)
libpython3.7m.so.1.0()(64bit)
python(abi) = 3.7
uwsgi-plugin-python2 = 2.0.17.1-1.fc29

Except in very special circumstances, there is no need for one package
to drag in both Python stacks. Usually, this is a packaging error: for
example, a stray "/usr/bin/python" shebang in a Python 3 package can
introduce a Python 2 dependency.

Please split your package, or remove the stray dependencies.
There is a section on shebangs in the Python RPM Porting Guide [0]
which covers this issue.

It's ok to do this in Rawhide only, however, it would be greatly
appreciated if you could push it to Fedora 28 as well.


If anything is unclear, or if you need any kind of assistance, you can
ask on IRC (#fedora-python on Freenode), or reply here. We'll be happy
to help investigating or fixing this issue!


[0] http://python-rpm-porting.readthedocs.io/en/latest/application-modules.html#are-shebangs-dragging-you-down-to-python-2

Comment 1 Carl George 2018-07-12 22:53:22 UTC
I see why it's doing this. `%files -n python2-uwsgidecorators` has `%{python_sitelib}/*`.  With python_sitelib unset on rawhide, it becomes `/*` and owns every file in the buildroot.  I'll push out a fix.


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