Bug 1342037

Summary: bad implementation of python2 prefix
Product: [Fedora] Fedora Reporter: Germano Massullo <germano.massullo>
Component: python-sixAssignee: Bohuslav "Slavek" Kabrda <bkabrda>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: apevec, awilliam, bkabrda, extras-qa, germano.massullo, itamar, kumarpraveen.nitdgp, mrunge, npmccallum
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: 1301766 Environment:
Last Closed: 2016-11-26 20:11:38 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: 1342112, 1342115    

Description Germano Massullo 2016-06-02 10:11:53 UTC
Description of problem:
we've more or less settled on a preferred convention now, where we have 'python2-foo' and 'python3-foo' subpackages and the %python_provide macro handles the 'python-foo' Provides and Obsoletes, but this package does not follow Python packaging guidelines
https://fedoraproject.org/wiki/Packaging:Python

Comment 1 Germano Massullo 2016-06-02 12:31:58 UTC
Line of code
Provides:       python2-six = %{version}-%{release}
at
http://pkgs.fedoraproject.org/cgit/rpms/python-six.git/tree/python-six.spec?h=f23#n33
is not a good implementation of the guidelines since
# dnf install python2-six
will result in an installation of package
python-six

The spec file misses mainly a line like
%package -n python2-%{pypi_name}

You can take as example spec file
http://pkgs.fedoraproject.org/cgit/rpms/python-responses.git/tree/python-responses.spec

Be careful to insert possible "Requires:" after the <<%package -n [.....]>> section

I experienced this problem while fixing spec files of Python libraries I maintain and that rely on python-six package...

Comment 2 Fedora End Of Life 2016-11-25 09:11:38 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 3 Adam Williamson 2016-11-25 16:29:45 UTC
Um, I think this is fixed, no? In the Rawhide spec I see:

%package -n python2-%{modname}
Summary:        %{summary}
%{?python_provide:%python_provide python2-%{modname}}
BuildRequires:  python2-devel
BuildRequires:  python2-setuptools
# Testing
BuildRequires:  python2-pytest
BuildRequires:  tkinter

%description -n python2-%{modname} %{_description}

Python 2 version.

Comment 4 Germano Massullo 2016-11-25 16:32:13 UTC
(In reply to Adam Williamson from comment #3)
> Um, I think this is fixed, no? In the Rawhide spec I see:
> 
> %package -n python2-%{modname}
> Summary:        %{summary}
> %{?python_provide:%python_provide python2-%{modname}}
> BuildRequires:  python2-devel
> BuildRequires:  python2-setuptools
> # Testing
> BuildRequires:  python2-pytest
> BuildRequires:  tkinter
> 
> %description -n python2-%{modname} %{_description}
> 
> Python 2 version.

Yes, my mistake. I will check other branches as soon as possible

Comment 5 Germano Massullo 2016-11-26 20:11:38 UTC
I checked the spec files of active branches. The spec file seems to be okay.
One thing: BuildRequires should be inserted all together before the %package section