Bug 1531288 - Review Request: python3-gssapi - Python 3 Bindings for GSSAPI (RFC 2743/2744 and extensions)
Summary: Review Request: python3-gssapi - Python 3 Bindings for GSSAPI (RFC 2743/2744 ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: Package Review
Version: epel7
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Carl George
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1529318
TreeView+ depends on / blocked
 
Reported: 2018-01-04 22:05 UTC by Robbie Harwood
Modified: 2019-05-02 22:19 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-05-02 22:19:59 UTC
Type: ---
Embargoed:
carlwgeorge: fedora-review+


Attachments (Terms of Use)

Description Robbie Harwood 2018-01-04 22:05:22 UTC
Spec URL: https://copr-be.cloud.fedoraproject.org/results/rharwood/python3-gssapi/epel-7-x86_64/00694752-python3-gssapi/python-gssapi.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/rharwood/python3-gssapi/epel-7-x86_64/00694752-python3-gssapi/python3-gssapi-1.2.0-3.el7.centos.src.rpm
COPR: https://copr.fedorainfracloud.org/coprs/rharwood/python3-gssapi/
Fedora Account System Username: rharwood

Description:
A set of Python 3 bindings to the GSSAPI C library providing both
a high-level pythonic interfaces and a low-level interfaces
which more closely matches RFC 2743.  Includes support for
RFC 2743, as well as multiple extensions.

*This is an EPEL7 only package.*

Original request bug (against Fedora's python-gssapi): https://bugzilla.redhat.com/show_bug.cgi?id=1529318

Thanks!

Comment 1 Carl George 2018-01-05 18:04:12 UTC
https://fedoraproject.org/wiki/Packaging:Guidelines#Spec_File_Naming

The spec file must be renamed to python3-gssapi.spec.

> # This spec is shared between Fedora, EPEL, and el7.
> %global with_python2 0
> %global with_python3 1

Not really, since the Name is different, as well as the file name once you rename it.  This spec file will only ever be used for python3.  As such, all the python2 parts should be removed, and the with_python3 conditionals aren't necessary.

> Version:        1.2.0
> Release:        3%{?dist}

You aren't required to match the RHEL version in this package.  Feel free to bump this up to the latest 1.3.0 if you like.  The release should start at 1 regardless.

> BuildRequires:  krb5-server >= 1.10

Comparing this to the Rawhide spec file, I think that should be wrapped with a run_tests conditional.

> Requires:       krb5-libs >= 1.10

Requirements for libkrb5.so.3, libk5crypto.so.3, and libgssapi_krb5.so.2 are automatically added by rpmbuild.  RHEL7 has always had krb5 1.11 or higher.  You can probably drop this line.

> %{?python_provide:%python_provide %{python3}-gssapi}

This macro's purpose is to have the subpackage provide the unversioned name (i.e. having python3-gssapi provide python-gssapi in Fedora) once the distribution decides to make that switch.  It should not be used in an EPEL package because python34-gssapi will never provide python-gssapi.

> %description -n %{python3}-gssapi

You repeat the description after this, but you have a _description macro you can use instead.  Change it to `%description -n %{python3}-gssapi %_description` and remove the duplicate description text that follows.

> %{py3dir}

Everything related to this macro can be removed, it isn't necessary.

> CFLAGS="%{optflags}" %{__python3} setup.py build

Change this to `%py3_build`.

> %{__python3} setup.py install --skip-build --root %{buildroot}

Change this to `%py3_install`.

> # fix permissions on shared objects (mock seems to set them
> # to 0775, whereas a normal build gives 0755)

I did a mock build without this section, and the permissions were all correctly set to 0755.  I think it can be removed.

> %{python3_sitearch}/*

This is a bit greedy, it would be better to be explicit with `%{python3_sitearch}/gssapi` and `%{python3_sitearch}/gssapi-%{version}-py%{python3_version}.egg-info`.

Comment 3 Carl George 2018-01-08 02:26:23 UTC
This latest spec file builds a python3-gssapi RPM, not a python34-gssapi RPM like it should.  The sections `%package -n %{python3}-gssapi`, `%description -n %{python3}-gssapi`, and `%files -n %{python3}-gssapi` must be added back.  It's fine to remove the _description macro, that just means you'll have duplicate `%description` and `%description -n %{python3}-gssapi` sections.

> CFLAGS="%{optflags}" %py3_build

That macro already contains the same CFLAGS variable, it's not necessary to specify it again.

Comment 5 Carl George 2018-01-09 22:13:37 UTC
Looks great, thanks for making those fixes.  Package APPROVED!

I'm changing the product to "Fedora EPEL" so fedrepo-req doesn't error out on you.

Comment 6 Gwyn Ciesla 2018-01-10 03:47:02 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/python3-gssapi. You may commit to the branch "epel7" in about 10 minutes.

Comment 7 Fedora Update System 2018-01-10 16:34:46 UTC
python3-gssapi-1.3.0-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-9809cff157

Comment 8 Fedora Update System 2018-01-11 15:12:22 UTC
python3-gssapi-1.3.0-1.el7 has been pushed to the Fedora EPEL 7 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-EPEL-2018-9809cff157

Comment 9 Fedora Update System 2018-04-08 05:51:22 UTC
python3-gssapi-1.3.0-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.


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