https://bugzilla.redhat.com/show_bug.cgi?id=1130103
Bug ID: 1130103 Summary: Review Request: blink - Real-time communications client using SIP protocol Product: Fedora Version: rawhide Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: pahan@hubbitus.info QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org
Spec URL: https://raw.githubusercontent.com/Hubbitus/Fedora-packaging/master/SPECS/bli... SRPM URL: http://hubbitus.info/rpm/Fedora20/blink/blink-0.9.1-1.fc20.src.rpm Description: Blink is the best real-time communications client using SIP protocol. You can use it with many SIP providers, on the LAN using Bonjour and SIP2SIP free service. Blink is elegant, simple to use and feature-full. Fedora Account System Username: Hubbitus
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
Pavel Alexeev (aka Pahan-Hubbitus) pahan@hubbitus.info changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends On| |1130097, 1130098, 1130099, | |1130100, 1130101, 1130102
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1130097 [Bug 1130097] Review Request: python-cjson - Fast JSON encoder/decoder for Python https://bugzilla.redhat.com/show_bug.cgi?id=1130098 [Bug 1130098] Review Request: python-ejson - Extensible json serializer/deserializer library https://bugzilla.redhat.com/show_bug.cgi?id=1130099 [Bug 1130099] Review Request: python-eventlib - Library to make it easy to track events in python/django apps https://bugzilla.redhat.com/show_bug.cgi?id=1130100 [Bug 1130100] Review Request: python-msrplib - Client library for MSRP protocol and its relay extension (RFC 4975 and RFC4976) https://bugzilla.redhat.com/show_bug.cgi?id=1130101 [Bug 1130101] Review Request: python-sipsimple - SIP SIMPLE client SDK is a Software Development Kit for easy development of SIP multimedia end-points https://bugzilla.redhat.com/show_bug.cgi?id=1130102 [Bug 1130102] Review Request: python-xcaplib - Client for managing full or partial XML documents on XCAP servers (RFC 4825)
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
Christopher Meng i@cicku.me changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |i@cicku.me Assignee|nobody@fedoraproject.org |i@cicku.me Flags| |fedora-review?
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #1 from Christopher Meng i@cicku.me --- I'm confused, as python-qt4 never appears in Fedora, I just thought that you copied the spec from somewhere.
In this way, please _cleanup_.
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #2 from Pavel Alexeev (aka Pahan-Hubbitus) pahan@hubbitus.info ---
I'm confused, as python-qt4 never appears in Fedora, I just thought that you copied the spec from somewhere.
Absolutely wrong assumption. I've spent few hours to found blink packaged for Fedora to just try it. Eventually had to packaging it from scratch with many dependencies.
$ LANG=C yum provides python-qt4 PyQt4-4.10.2-2.fc20.i686 : Python bindings for Qt4 Repo : fedora Matched from: Provides : python-qt4 = 4.10.2-2.fc20
PyQt4-4.10.2-2.fc20.x86_64 : Python bindings for Qt4 Repo : fedora Matched from: Provides : python-qt4 = 4.10.2-2.fc20
PyQt4-4.10.2-5.fc20.i686 : Python bindings for Qt4 Repo : updates Matched from: Provides : python-qt4 = 4.10.2-5.fc20
PyQt4-4.10.2-5.fc20.x86_64 : Python bindings for Qt4 Repo : updates Matched from: Provides : python-qt4 = 4.10.2-5.fc20
PyQt4-4.10.2-5.fc20.x86_64 : Python bindings for Qt4 Repo : @updates-testing Matched from: Provides : python-qt4 = 4.10.2-5.fc20
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
Felix Schwarz fschwarz@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fschwarz@fedoraproject.org
--- Comment #3 from Felix Schwarz fschwarz@fedoraproject.org --- just a few comments by looking at the spec *very* briefly: The dependencies are very likely wrong. python-ejson, python-eventlib, python-django, python-redis, python-celery, python-gnutls, python-dns, python-xcaplib and python-twisted-names are not listed in "install.linux" from the source package. I'd be surprised if a qt application needs Django.
Also qt is only build-required but I guess it's important to have it at runtime as well. ;-)
I'd recommend using Fedora's package names if possible (though that's only a personal preference, probably not required by any official policy).
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #4 from Pavel Alexeev (aka Pahan-Hubbitus) pahan@hubbitus.info --- Hi Felix.
(In reply to Felix Schwarz from comment #3)
just a few comments by looking at the spec *very* briefly: The dependencies are very likely wrong. python-ejson, python-eventlib, python-django, python-redis, python-celery, python-gnutls, python-dns, python-xcaplib and python-twisted-names are not listed in "install.linux" from the source package. I'd be surprised if a qt application needs Django.
May be you are right. I'm not so familiar with python stuff, so any help appreciated.
Meantime most runtime dependencies was born in tries run it. For example, without python-gnutls it failed to start like: 1) $ blink Traceback (most recent call last): File "/usr/bin/blink", line 29, in <module> from blink import Blink File "/usr/lib64/python2.7/site-packages/blink/__init__.py", line 28, in <module> from gnutls.crypto import X509Certificate, X509PrivateKey ImportError: No module named gnutls.crypto
2) without python-dns (revert back python-gnutls): $ blink using set_wakeup_fd Traceback (most recent call last): File "/usr/bin/blink", line 29, in <module> from blink import Blink File "/usr/lib64/python2.7/site-packages/blink/__init__.py", line 32, in <module> from sipsimple.account import Account, AccountManager, BonjourAccount File "/usr/lib64/python2.7/site-packages/sipsimple/account/__init__.py", line 26, in <module> from sipsimple.account.publication import PresencePublisher, DialogPublisher File "/usr/lib64/python2.7/site-packages/sipsimple/account/publication.py", line 23, in <module> from sipsimple.lookup import DNSLookup, DNSLookupError File "/usr/lib64/python2.7/site-packages/sipsimple/lookup.py", line 19, in <module> import dns ImportError: No module named dns 3) Without python-eventlib: $ blink Traceback (most recent call last): File "/usr/bin/blink", line 29, in <module> from blink import Blink File "/usr/lib64/python2.7/site-packages/blink/__init__.py", line 27, in <module> from eventlib import api ImportError: No module named eventlib 4) $ sudo rpm -e python-xcaplib --nodeps [pasha@hubbitus ~]$ blink using set_wakeup_fd Traceback (most recent call last): File "/usr/bin/blink", line 29, in <module> from blink import Blink File "/usr/lib64/python2.7/site-packages/blink/__init__.py", line 32, in <module> from sipsimple.account import Account, AccountManager, BonjourAccount File "/usr/lib64/python2.7/site-packages/sipsimple/account/__init__.py", line 29, in <module> from sipsimple.account.xcap import XCAPManager File "/usr/lib64/python2.7/site-packages/sipsimple/account/xcap/__init__.py", line 29, in <module> from xcaplib.green import XCAPClient ImportError: No module named xcaplib.green 5) $ sudo rpm -e python-twisted-names --nodeps [pasha@hubbitus ~]$ blink using set_wakeup_fd Traceback (most recent call last): File "/usr/bin/blink", line 29, in <module> from blink import Blink File "/usr/lib64/python2.7/site-packages/blink/__init__.py", line 34, in <module> from sipsimple.application import SIPApplication File "/usr/lib64/python2.7/site-packages/sipsimple/application.py", line 33, in <module> from sipsimple.session import SessionManager File "/usr/lib64/python2.7/site-packages/sipsimple/session.py", line 39, in <module> from sipsimple.streams import MediaStreamRegistry, InvalidStreamError, UnknownStreamError File "/usr/lib64/python2.7/site-packages/sipsimple/streams/__init__.py", line 116, in <module> from sipsimple.streams import rtp, msrp File "/usr/lib64/python2.7/site-packages/sipsimple/streams/msrp.py", line 38, in <module> from msrplib.connect import DirectConnector, DirectAcceptor, RelayConnection, MSRPRelaySettings File "/usr/lib/python2.7/site-packages/msrplib/connect.py", line 47, in <module> from twisted.names.srvconnect import SRVConnector ImportError: No module named names.srvconnect
python-ejson, python-celery, python-redis, python-django really seems not used in current version. At least for start. Removed.
And even more I forgot python-msrplib, added. $ blink using set_wakeup_fd Traceback (most recent call last): File "/usr/bin/blink", line 29, in <module> from blink import Blink File "/usr/lib64/python2.7/site-packages/blink/__init__.py", line 34, in <module> from sipsimple.application import SIPApplication File "/usr/lib64/python2.7/site-packages/sipsimple/application.py", line 33, in <module> from sipsimple.session import SessionManager File "/usr/lib64/python2.7/site-packages/sipsimple/session.py", line 39, in <module> from sipsimple.streams import MediaStreamRegistry, InvalidStreamError, UnknownStreamError File "/usr/lib64/python2.7/site-packages/sipsimple/streams/__init__.py", line 116, in <module> from sipsimple.streams import rtp, msrp File "/usr/lib64/python2.7/site-packages/sipsimple/streams/msrp.py", line 38, in <module> from msrplib.connect import DirectConnector, DirectAcceptor, RelayConnection, MSRPRelaySettings ImportError: No module named msrplib.connect
Also qt is only build-required but I guess it's important to have it at runtime as well. ;-)
Fixed.
I'd recommend using Fedora's package names if possible (though that's only a personal preference, probably not required by any official policy).
I have no personal preferences, so it changed also.
Changes: https://github.com/Hubbitus/Fedora-packaging/commit/5c6d4ff83f7c952e22d5025c... Spec: https://raw.githubusercontent.com/Hubbitus/Fedora-packaging/5c6d4ff83f7c952e... Srpm: http://hubbitus.info/rpm/Fedora20/blink/blink-0.9.1-2.fc20.src.rpm Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=7545256
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #5 from Felix Schwarz fschwarz@fedoraproject.org --- (In reply to Pavel Alexeev (aka Pahan-Hubbitus) from comment #4)
May be you are right. I'm not so familiar with python stuff, so any help appreciated.
Meantime most runtime dependencies was born in tries run it. For example, without python-gnutls it failed to start like:
(...)
Usually we only add direct dependencies for the package in question. For example if you package "python-sipsimple" that spec must contain all dependencies so the package works after installation.
If blink requires python-sipsimple you don't need to list python-dns as requirement for blink. For your runtime testing first install all required packages (such as python-sipsimple).
Hope it makes sense. Probably you should review your other specs if they contain the right dependencies. For example python-sipsimple in bug 1130101 has no runtime dependencies at all which is wrong (as you demonstrated above).
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #6 from Pavel Alexeev (aka Pahan-Hubbitus) pahan@hubbitus.info --- I like your suggestion move some dependencies in right dependent packages. According by python-sipsimple debian package it should depend on: python-application (>= 1.4.0), python-dateutil, python-dnspython (>= 1.9), python-eventlib, python-gnutls, python-lxml, python-msrplib (>= 0.15.0), python-twisted-core (>= 8.1.0), python-xcaplib (>= 1.0.17).
But I have not found test there and can't sure it is correct. Do you have ideas how it may be tested?
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #7 from Felix Schwarz fschwarz@fedoraproject.org --- (In reply to Pavel Alexeev (aka Pahan-Hubbitus) from comment #6)
I like your suggestion move some dependencies in right dependent packages.
Good :-) because doing that is actually mandatory as per Fedora packaging policies ;-)
But I have not found test there and can't sure it is correct. Do you have ideas how it may be tested?
As far as I know there is no automated way. I usually create a VM with the minimal package set installed, install my package and try to run it. In case of a python library you can use the python shell and try to import the package at least.
That's not a complete test but you should catch at least the most important requirements by that. Of course it's even better if the package has a test suite you can run automatically (you can do that in the spec file as well!).
If you just miss a single dependency, don't worry too much. You'll get bug reports from users.
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #8 from Pavel Alexeev (aka Pahan-Hubbitus) pahan@hubbitus.info --- Spec: https://raw.githubusercontent.com/Hubbitus/Fedora-packaging/76780445914083a7... Srpm: http://hubbitus.info/rpm/Fedora20/blink/blink-0.9.1-2.fc20.src.rpm
https://bugzilla.redhat.com/show_bug.cgi?id=1130103 Bug 1130103 depends on bug 1130097, which changed state.
Bug 1130097 Summary: Review Request: python-cjson - Fast JSON encoder/decoder for Python https://bugzilla.redhat.com/show_bug.cgi?id=1130097
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |ERRATA
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
--- Comment #9 from Pavel Alexeev (aka Pahan-Hubbitus) pahan@hubbitus.info --- Christopher, do you like continue?
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
Orion Poplawski orion@cora.nwra.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |orion@cora.nwra.com Assignee|i@cicku.me |orion@cora.nwra.com
--- Comment #10 from Orion Poplawski orion@cora.nwra.com --- Christopher was declared unresponsive a while back. I'll review if you update to current version and guidelines.
https://bugzilla.redhat.com/show_bug.cgi?id=1130103
Айфф jamesbdonovan@rambler.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jamesbdonovan@rambler.ru
--- Comment #11 from Айфф jamesbdonovan@rambler.ru --- Add it to the repository, please.
package-review@lists.fedoraproject.org