[Blink] RPM packaging of blink for Fedora and other distros

Saúl Ibarra Corretgé saul at ag-projects.com
Tue Oct 18 12:29:32 CEST 2011


On Oct 18, 2011, at 12:11 PM, Perazim wrote:

> Been offline for some weeks and am again trying to finish packaging
> blink and deps for fedora 14 using rpms.
> I have packaged the following as rpms that were not available in the
> Everything fedora 14 repo:


> blink-0.2.8
> python-application-1.3.0
> python-backports-1.0.0
> python-greenlet-0.4.1 (NOTE: install docs call for 0.4.0 but I cannot
> find this. Maybe build requirements are out of date?)

Did you use the version from our repository? If so it's really >= 0.4.0.

> python-msrplib-0.14.1
> python-sipsimple-0.19.0
> python-xcaplib-1.0.16
> sipclients-0.19.0
> eventlet-0.8.14

Does Fedora package eventlet already? If so, what version?

> dnspython-1.9.4

This will cause trouble, see bellow.

> In addition:
> zope-interface was replaced with python-zope-interface from the fedora
> repos
> cython was replaced with Cython from the fedora repos
> PIL was replaced with python-imaging from the fedora repos
> Now blink starts. Before the main window is displayed I see this:
> ======================================================================


>    source=source)
>  File "/usr/lib/python2.7/site-packages/dns/query.py", line 197, in udp
>    _wait_for_writable(s, expiration)
>  File "/usr/lib/python2.7/site-packages/dns/query.py", line 137, in
> _wait_for_writable
>    _wait_for(s, False, True, True, expiration)
>  File "/usr/lib/python2.7/site-packages/dns/query.py", line 110, in
> _wait_for
>    if not _polling_backend(fd, readable, writable, error, timeout):
>  File "/usr/lib/python2.7/site-packages/dns/query.py", line 61, in
> _poll_for
>    event_mask |= select.POLLOUT
> AttributeError: 'module' object has no attribute 'POLLOUT'
> At this point the main window displays. When I select Call Test, I then
> see "looking up destination" and then nothing. At this point I can
> hang-up and it goes back to the call list. No further log text is
> displayed,
> It looks to me like this is a dns resolution problem of some kind.
> Any ideas?

The internal API in dnspython changed between versions 1.8.x and 1.9.x IIRC. We monkeypatch it so that it uses non-blocking select (using greenlets) instead of using the standard blocking version.

This needs to be fixed (most likely in lookup.py from python-sipsimple) to accommodate the API changes while preserving backwards compatibility.

We do our development mainly in Debian, which provides version 1.8.0, so I didn't run into this before.

I'll take care of this for the next time we build packages and let you know.

Thanks and regards,

Saúl Ibarra Corretgé
AG Projects

More information about the Blink mailing list