Bug 1004029

Summary: Rename Request: ovirt-engine-sdk-python - oVirt Engine Software Development Kit (Python)
Product: [Fedora] Fedora Reporter: Juan Hernández <juan.hernandez>
Component: Package ReviewAssignee: Christopher Meng <i>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bugs.michael, i, mpastern, notting
Target Milestone: ---Flags: i: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-18 12:21:53 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 Juan Hernández 2013-09-03 18:08:56 UTC
Spec URL: http://jhernand.fedorapeople.org/rpms/ovirt-engine-sdk-python/3.3.0.6-1/ovirt-engine-sdk-python.spec
SRPM URL: http://jhernand.fedorapeople.org/rpms/ovirt-engine-sdk-python/3.3.0.6-1/ovirt-engine-sdk-python-3.3.0.6-1.fc19.src.rpm

This review is for the rename of the package from ovirt-engine-sdk to ovirt-engine-sdk-python. The original review is in bug 771111.

The reason for this rename is that new SDKs for languages other than Python are being created and will be soon added to Fedora, for example ovirt-engine-sdk-java, so it makes sense to add the -python suffix to this one.

The renamed package provides ovirt-engine-sdk to avoid breakages in packages that require it.

Comment 1 Juan Hernández 2013-09-03 19:51:40 UTC
The package builds correctly in koji:

http://koji.fedoraproject.org/koji/taskinfo?taskID=5887911

Comment 2 Christopher Meng 2013-09-04 08:29:56 UTC
1. No need to import setup.py nowadays.

Just

%{__python} setup.py build

2. Remove %defattr(-,root,root,-)

3. BR BuildRequires: python-setuptools-devel is incorrect. should be BuildRequires: python-setuptools

4. No need to attr() if the permission is sane.

Comment 3 Juan Hernández 2013-09-04 09:16:30 UTC
Thanks for your comments Christopher. I have updated the spec accordingly:

Spec URL: http://jhernand.fedorapeople.org/rpms/ovirt-engine-sdk-python/3.3.0.6-2/ovirt-engine-sdk-python.spec
SRPM URL: http://jhernand.fedorapeople.org/rpms/ovirt-engine-sdk-python/3.3.0.6-2/ovirt-engine-sdk-python-3.3.0.6-2.fc19.src.rpm

The updated spec builds correctly in Koji:

http://koji.fedoraproject.org/koji/taskinfo?taskID=5892889

I also suggested the same modifications to the spec used by the upstream maintainer (this spec is basically a copy of that):

http://gerrit.ovirt.org/18868

Comment 4 Christopher Meng 2013-09-04 10:01:50 UTC
Issue:

0-1. From your Koji scratch build:

warning: File listed twice: /usr/lib/python2.7/site-packages/ovirtsdk

0-2. ovirt-engine-sdk-python.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/ovirtsdk/xml/params.py 0644L /usr/bin/env

This file has env shebang but it's 644 perms.

Suggestion before importing:

1. %doc AUTHORS
%doc README
%doc LICENSE

can be

%doc AUTHORS LICENSE README

2. I lifted needinfo to Michael(he has sent many emails about this recently to list) to see if your 

Provides:  ovirt-engine-sdk = %{version}
Obsoletes: ovirt-engine-sdk < 3.3.0.0

are correct or not.

Since it's a rename request, and I've finished fedora-review running, I think there is no problem now.

Only need info from Michael.

Comment 6 Michael Schwendt 2013-09-04 10:53:20 UTC
Well, the renaming guidelines aren't too difficult:
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Renaming.2Freplacing_existing_packages

[...]

Latest build in koji of the package to be replaced is:

  ovirt-engine-sdk.noarch                  3.2.0.11-2.fc20    

Pick anything that's higher than 3.2.0.11-2.fc20. For example:

  Obsoletes: ovirt-engine-sdk < 3.2.0.11-3
or
  Obsoletes: ovirt-engine-sdk < 3.2.0.12

or since this renamed package is at version 3.3.0.6:

  Obsoletes: ovirt-engine-sdk < 3.3.0.6

The important thing to understand here is that as long as the "Obsoletes" tag is present in any available package (whether installed or in the repos), it blocks package "ovirt-engine-sdk" from returning with a version that's too low. However, "ovirt-engine-sdk" may return with a higher version, e.g. 3.4 or 3.3.0.7, basically anything that's higher than what's specified in the Obsoletes tag. A package may be renamed once more or return with different contents. That's why we prefer blocking obsolete packages with no more than their last published version.

Even if it's unlikely that ovirt-engine-sdk returns ever, doing it right (and accurate) doesn't hurt anyone, does it?

Occasionally, the accuracy really helps. Simple scenarios like: foo-libs obsoleted by libfoo from a separate src.rpm, some time later foo.src.rpm builds a new foo-libs package for newly added libs. Pray that libfoo doesn't also obsolete the new foo-libs package EVR. Or vice versa: libfoo obsoleted by and merged into foo-libs, some time later a different project uses the libfoo name for something else.


> Provides:  ovirt-engine-sdk = %{version}

The guidelines want -%{release} to be added to be as accurate as normal packages.

[...]

> Name: ovirt-engine-sdk-python

I'm really bad at these naming guidelines things. Since this is a Python module,
shouldn't it be named

  python-ovirt-engine-sdk

to satisfy the %parent-%child relationship guidelines for Python add-on packages?

  https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Addon_Packages_.28python_modules.29

  https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Addon_Packages_.28General.29

Comment 7 Juan Hernández 2013-09-04 11:18:04 UTC
Michael, if I understand correctly your suggestion is to do this:

Provides: ovirt-engine-sdk = %{version}-%{release}
Obsoletes: ovirt-engine-sdk < 3.3.0.6

I updated the spec accordingly:

Spec URL: http://jhernand.fedorapeople.org/rpms/ovirt-engine-sdk-python/3.3.0.6-4/ovirt-engine-sdk-python.spec
SRPM URL: http://jhernand.fedorapeople.org/rpms/ovirt-engine-sdk-python/3.3.0.6-4/ovirt-engine-sdk-python-3.3.0.6-4.fc19.src.rpm

Koji build:

http://koji.fedoraproject.org/koji/taskinfo?taskID=5893157

Regarding the name with the python- prefix or -python suffix: I really don't have a preference. But the upstream project already provides the .spec and the binary packages in their own yum repository, and they have decided to to go with the -python suffix. I would rather respect their decision and use the same name, even if it doesn't match perfectly the naming guidelines. If we use a different name in Fedora then there will be issues and confusion for the users.

Comment 8 Christopher Meng 2013-09-06 15:50:49 UTC
APPROVED.

Comment 9 Juan Hernández 2013-09-06 16:02:29 UTC
New Package SCM Request
=======================
Package Name: ovirt-engine-sdk-python
Short Description: oVirt Engine Software Development Kit (Python)
Owners: jhernand  oschreib
Branches: f18 f19 f20 el6
InitialCC: mpastern

Comment 10 Gwyn Ciesla 2013-09-06 17:12:18 UTC
SCM request and review summary name don't match, please correct.

Comment 11 Juan Hernández 2013-09-06 18:45:33 UTC
New Package SCM Request
=======================
Package Name: ovirt-engine-sdk-python
Short Description: oVirt Engine Software Development Kit (Python)
Owners: jhernand  oschreib
Branches: f18 f19 f20 el6
InitialCC: mpastern

Comment 12 Gwyn Ciesla 2013-09-06 19:05:43 UTC
Git done (by process-git-requests).