Bug 1786207 - Review Request: python-aiozmq - ZeroMQ integration with asyncio
Summary: Review Request: python-aiozmq - ZeroMQ integration with asyncio
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zbigniew Jędrzejewski-Szmek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1785970
TreeView+ depends on / blocked
 
Reported: 2019-12-23 22:59 UTC by Mukundan Ragavan
Modified: 2020-01-07 23:17 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-01-07 23:17:27 UTC
Type: ---
Embargoed:
zbyszek: fedora-review+


Attachments (Terms of Use)
spec patch (2.03 KB, patch)
2019-12-26 11:42 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff

Description Mukundan Ragavan 2019-12-23 22:59:36 UTC
Spec URL: https://nonamedotc.fedorapeople.org/pkgreview/python-packages/2019-2020/aiozmq/rnd1/python-aiozmq.spec
SRPM URL: https://nonamedotc.fedorapeople.org/pkgreview/python-packages/2019-2020/aiozmq/rnd1/python-aiozmq-0.8.0-2.20191223git56065a26.fc31.src.rpm

Description:
asyncio (PEP 3156) support for ZeroMQ, a messaging library.
Features:
 * Implements create_zmq_connection() coroutine for making 0MQ connections.
 * Provides ZmqTransport and ZmqProtocol
 * Provides RPC Request-Reply, Push-Pull and Publish-Subscribe patterns for
   remote calls.

Fedora Account System Username: nonamedotc


koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=39899386

Comment 1 Mukundan Ragavan 2019-12-23 23:01:25 UTC
Turns out the master branch of aiozmq has lots of fixes for building on recent versions of python.

The spec/srpm above uses the master branch for the package. v0.8.0 was released in Dec 2016 and upstream has not released newer versions although there has been activity in the git repo.

Comment 2 Zbigniew Jędrzejewski-Szmek 2019-12-26 11:40:30 UTC
http://aiozmq.readthedocs.org → https://

In general it is nicer to download the tarball directly from github (easier upgrades):
%global commit 4e6703c7c56e07c58898228f5d4cf5cb56065a26
%{?commit:%global shortcommit %(c=%{commit}; echo ${c:0:7})}
Source0: https://github.com/aio-libs/aiozmq/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
...
%prep
%autosetup %{?commit:-n %{name}-%{commit}}

%{python3_sitelib}/%{pypi_name}, %{python3_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info
→ add trailing slash

Looks good, but FTI:
  - nothing provides python3.8dist(pyzmq) < 17.1.2 needed by python3-aiozmq-0.8.0-2.20191223git56065a26.fc32.noarch

The requirements specified in the sources are inconsistent, so maybe it does work with newer versions after all:
aiozmq-0.8.0/requirements.txt: pyzmq>=14.2.0
aiozmq-0.8.0/setup.py: install_requires = ['pyzmq>=13.1,<17.1.2']

It would be useful to run the tests. If the test line is uncommented, it just
says that the command is deprecated and does not run any tests. Using pytest seems
to work fine, except that one test fails with "SocketOperation on a closed socket"
or something like that. I'll attach a diff that makes the tests and installation pass
for me.

Comment 3 Zbigniew Jędrzejewski-Szmek 2019-12-26 11:42:05 UTC
Created attachment 1647742 [details]
spec patch

Comment 4 Mukundan Ragavan 2020-01-02 01:30:42 UTC
Modified SPEC URL: https://nonamedotc.fedorapeople.org/pkgreview/python-packages/2019-2020/aiozmq/rnd2/python-aiozmq.spec
Modified SRPM URL: https://nonamedotc.fedorapeople.org/pkgreview/python-packages/2019-2020/aiozmq/rnd2/python-aiozmq-0.8.0-3.20191223git56065a26.fc31.src.rpm



Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=40041174



So, the shortcommit uses first seven chars from the commit and gitrev variable uses the last eight. I am not sure which one should be used. My understanding is last eight but I could be wrong.

Comment 5 Zbigniew Jędrzejewski-Szmek 2020-01-02 08:33:14 UTC
> shortcommit uses first seven chars from the commit and gitrev variable uses the last eight

The first seven (or eight) is appropriate. That snippet is supposed to uniquely
identify the commit. So what matters is what git accepts. And git accepts any prefix
of the sha1 hash, as long as it is unique. Something like 7 or 8 characters is usually unique,
and 7 was the default abbreviation in git for a long time iirc.

+ package name is OK
+ latest version (recent git snapshot)
+ license is acceptable for Fedora (BSD)
+ license is specified correctly
+ builds and installs OK
+ BR/R/P look OK

rpmlint has only bogus hints.

Package is APPROVED.

Comment 6 Mukundan Ragavan 2020-01-03 01:05:19 UTC
Thanks for the review and clarification! I will change gitrev to match the shortcommit when I import.

Comment 7 Gwyn Ciesla 2020-01-06 22:22:04 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/python-aiozmq


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