Bug 1421304 - Review Request: python-aiohttp-cors - CORS (Cross Origin Resource Sharing) support for aiohttp
Summary: Review Request: python-aiohttp-cors - CORS (Cross Origin Resource Sharing) su...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Peter Lemenkov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-10 23:29 UTC by Othman Madjoudj
Modified: 2017-04-11 13:45 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-04-11 13:45:33 UTC
Type: ---
lemenkov: fedora-review+


Attachments (Terms of Use)

Description Othman Madjoudj 2017-02-10 23:29:06 UTC
Spec URL: https://athmane.fedorapeople.org/pkgs/python-aiohttp-cors.spec
SRPM URL: https://athmane.fedorapeople.org/pkgs/python-aiohttp-cors-0.5.0-1.fc25.src.rpm
Description: 
aiohttp_cors library implements Cross Origin Resource Sharing (CORS) support
for aiohttp asyncio-powered asynchronous HTTP server.


Fedora Account System Username: athmane

Comment 1 Othman Madjoudj 2017-02-10 23:33:28 UTC
Rpmlint output:

../SPECS/python-aiohttp-cors.spec:49: W: macro-in-comment %{__python3}
python-aiohttp-cors.src: W: spelling-error %description -l en_US asyncio -> Asuncion
python-aiohttp-cors.src:49: W: macro-in-comment %{__python3}
python3-aiohttp-cors.noarch: W: spelling-error %description -l en_US asyncio -> Asuncion
2 packages and 1 specfiles checked; 0 errors, 4 warnings.



PS. New GNS3 release depends on this package.

Comment 2 Yves L'ECUYER 2017-03-17 22:15:16 UTC
Thanks for the prototype given in your  first comment.
Because I need this immediately too for GNS3 1.5.3.

Get rid of this warning is very easy, just change the description:
rpmlint suggest Asuncion in place of asyncio, because asyncio is not in US dictionnary !!!
Personnaly I replaced , your python3-aiohttp-1.0.5-3.fc25.src.rpmoriginal Description by:
=======
aiohttp_cors library implements Cross Origin Resource Sharing (CORS) support
for aiohttp asynchronous-input-output-powered HTTP server.
=========

And because it protests also about a macro in comment (test are disabled)
I Just replaced:
# %{__python3} setup.py test

BY
# ${__python3} setup.py test 
# where $ above must be replaced by %  if you want to re-enable it!!!


AND NOW :
[root@encelade SPECS]# rpmbuild -bs python-aiohttp-cors.spec
Wrote: /root/rpmbuild/SRPMS/python-aiohttp-cors-0.5.0-1.fc25.src.rpm
[root@encelade SPECS]# rpmlint /root/rpmbuild/SRPMS/python-aiohttp-cors-0.5.0-1.fc25.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

But I have added too 
Requires:      python3-aiohttp >= 1.1
otherwise, in fedora 25 because the last update is :
python3-aiohttp-1.0.5-3.fc25
There is a silent installatiopython3-aiohttp-1.0.5-3.fc25.src.rpmn by dnf, but we got python error when gns3 service is launched, claiming that it requires python3-aiohttp >= 1.1 !!

CONSEQUENTLY
python3-aiohttp- must be updated in fedora 25 repository.
I tried to use python-aiohttp-1.3.3-1.fc26.src.rpm recompiled for fc25,
but there is too much dependency with other python libraries not available for fc25.
so python3-aiohttp-1.1.6 is just the ultimate choice to satisfy python-aiohttp-cors-0.5.0-1.fc25 dependencies, and not requiring other python updates
the src.rpm :python3-aiohttp-1.0.5-3.fc25.src.rpm is just usable as it is, just changing the version, in 1.1.6 -1, and the link for source0 inside the specfile, is still usable to get the tarball
I got it with:
===========
srcname=aiohttp
version=1.1.6
wget   https://github.com/KeepSafe/aiohttp/archive/v${version}/${srcname}-${version}.tar.gz
==========
Just an ultimate remark
[root@encelade SPECS]# rpmbuild -bs  python-aiohttp.spec
Wrote: /root/rpmbuild/SRPMS/python-aiohttp-1.1.6-1.fc25.src.rpm
[root@encelade SPECS]# rpmlint /root/rpmbuild/SRPMS/python-aiohttp-1.1.6-1.fc25.src.rpm
python-aiohttp.src: W: spelling-error Summary(en_US) asyncio -> Asuncion
python-aiohttp.src: W: spelling-error %description -l en_US asyncio -> Asuncion
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

SO THE SPEC FILE of python3-aiohttp-1.0.5-3.fc25.src.rpm , in standard fedora update repository was already producing the same US English spelling error, for the same word as in your first comment ! and nobody care about that  ??

So why not to ignore the warning too, in  python-aiohttp-cors ???

===========
So I have already built my gns3-gui and gns3-server from the 1.5.2 src package and replacing 1.5.2 -3  by 1.5.3 -1 in specfile

and the corresponding tarball, downloaded from the link provided in the specfile
with
=========================
name=gns3-gui
version=1.5.3
wget  https://github.com/GNS3/${name}/archive/v${version}/${name}-${version}.tar.gz

name=gns3-server
wget https://github.com/GNS3/${name}/archive/v${version}/${name}-${version}.tar.gz
========================

And all is built correctly, and installed without any warning

AND FINALLY
[root@encelade fedora25_packages]# systemctl start gns3
[root@encelade fedora25_packages]# systemctl status gns3
● gns3.service - GNS3 server
   Loaded: loaded (/usr/lib/systemd/system/gns3.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2017-03-17 23:08:30 CET; 6s ago
 Main PID: 19828 (gns3server)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/gns3.service
           └─19828 /usr/bin/python3 /usr/bin/gns3server

Mar 17 23:08:30 encelade systemd[1]: Started GNS3 server.
[root@encelade fedora25_packages]#

Comment 3 Yves L'ECUYER 2017-03-17 22:20:30 UTC
Unfortunatly python3-aiohttp-1.1.6 is not sufficient for gns3-gui
launched from a root shell to sea easily the error, i got:
...
pkg_resources.ContextualVersionConflict: (aiohttp 1.1.6 (/usr/lib64/python3.5/site-packages), Requirement.parse('aiohttp>=1.2.0'), {'gns3-server'})
...

pkg_resources.DistributionNotFound: The 'aiohttp>=1.2.0' distribution was not found and is required by gns3-server
2017-03-17 23:11:53 CRITICAL progress_dialog.py:159 WaitForConnectionWorker thread stopping with an error: Could not connect to 127.0.0.1 on port 8000: [Errno 111] Connection refused
2017-03-17 23:11:53 CRITICAL __init__.py:95 Could not connect to 127.0.0.1 on port 8000: [Errno 111] Connection refused


===
I 'll try to package 1.2.x version to see if it is sufficient , to get a successful connection!

Comment 4 Yves L'ECUYER 2017-03-17 23:01:59 UTC
Well with python3-aiohttp-1.2.0, gns3-gui goes further on, but I get the same problem than with python3-aiohttp-1.3 from development fc26
==================
pkg_resources.ContextualVersionConflict: (multidict 2.1.3 (/usr/lib64/python3.5/site-packages), Requirement.parse('multidict>=2.1.4'), {'aiohttp'})
and of course multidict>=2.1.4 is not available for fedora 25
=================
Ok rebuilding python3-multidict-2.1.4-1.fc25.x86_64
from python-multidict-2.1.3-1.fc25.src.rpm, ajusting the release to 2.1.4 in SPEC file,
and downloading the updated tarball from the link in *.spec, with:
============
modname=multidict

version=2.1.5

URL=https://github.com/aio-libs/${modname}
wget       ${URL}/archive/v${version}/${modname}-${version}.tar.gz
=======================
Once that last update installed, gns3-gui is working fine, with successful
 connection to gns3 local service !!!!

So WE MUST ADD in gns3-gui and gns3-server spec file:
Requires: python3-multidict >= 2.1.4
Requires: python3-aiohttp   >=1.2.0
Requires: python3-aiohttp-cors >= 0.5.0

EXPECTING SEE ALL THIS SOON, in standard Fedora update repos !!!

Comment 5 Othman Madjoudj 2017-04-01 22:57:54 UTC
Hi Yves,

You can try this repo for now (until review / deps update is done).

sudo dnf copr enable athmane/gns3

sudo dnf update gns3-server gns3-gui


NB. Some Python libs required by GNS3 will be updated as well

Comment 6 Peter Lemenkov 2017-04-04 13:49:11 UTC
I'll review it

Comment 7 Peter Lemenkov 2017-04-04 14:08:49 UTC
[+] rpmlint is silent (or produces only messages which can be safely ignored:

Auriga ~/rpmbuild/SPECS: rpmlint ../RPMS/noarch/python3-aiohttp-cors-0.5.0-1.fc25.noarch.rpm ../SRPMS/python-aiohttp-cors-0.5.0-1.fc25.src.rpm 
python3-aiohttp-cors.noarch: W: spelling-error %description -l en_US asyncio -> Asuncion
python-aiohttp-cors.src: W: spelling-error %description -l en_US asyncio -> Asuncion
python-aiohttp-cors.src:49: W: macro-in-comment %{__python3}
2 packages and 0 specfiles checked; 0 errors, 3 warnings.
Auriga ~/rpmbuild/SPECS

[+] The package is named according to the Package Naming Guidelines.
[+] The spec file name matches the base package %{name}, in the format %{name}.spec.
[+] The package meets the Packaging Guidelines.
[+] The package is licensed with a Fedora approved license and meets the Licensing Guidelines.
[+] The License field in the package spec file matches the actual license (ASL 2.0).
[+] The file, containing the text of the license(s) for the package, is included in %doc and marked as %license.
[+] The spec file is written in American English.
[+] The spec file for the package is legible.
[+] The sources used to build the package matches the upstream source, as provided in the spec URL.

Auriga ~/rpmbuild/SOURCES: sha256sum python-aiohttp-cors-0.5.0.tar.gz*
7d0c682657db4f3265337875be75e5f222aef644e780e125267e98a690ff9d85  python-aiohttp-cors-0.5.0.tar.gz
7d0c682657db4f3265337875be75e5f222aef644e780e125267e98a690ff9d85  python-aiohttp-cors-0.5.0.tar.gz.1
Auriga ~/rpmbuild/SOURCES:

[+] The package successfully compiles and builds into binary rpms.
[+] All build dependencies are listed in BuildRequires.
[0] No need to handle locales.
[0] The package does not contain any shared library files.
[+] Packages does not bundle copies of system libraries.
[+] The package isn't designed to be relocatable.
[+] The package owns all directories that it creates.
[+] The package does not list a file more than once in the spec file's %files listings.
[+] Permissions on files are set properly.
[+] The package consistently uses macros.
[+] The package contains code, or permissible content.
[0] No large documentation files.
[+] Anything, the package includes as %doc, does not affect the runtime of the application.
[0] No static libraries.
[0] No -devel sub-package.
[+] The package does not contain any .la libtool archives.
[0] Not a GUI application.
[+] The package does not own files or directories already owned by other packages.
[+] All filenames in rpm packages are valid UTF-8.

APPROVED.

Comment 8 Gwyn Ciesla 2017-04-05 21:39:22 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/python-aiohttp-cors

Comment 9 Fedora Update System 2017-04-05 22:37:14 UTC
python-aiohttp-cors-0.5.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-c03e9626ed

Comment 10 Fedora Update System 2017-04-06 22:22:50 UTC
python-aiohttp-cors-0.5.0-1.fc26 has been pushed to the Fedora 26 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-2017-c03e9626ed

Comment 11 Fedora Update System 2017-04-11 13:45:33 UTC
python-aiohttp-cors-0.5.0-1.fc26 has been pushed to the Fedora 26 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.