Page MenuHomePhabricator

Reinstall python-socketio-client (python-websocket)
Closed, InvalidPublic

Description

@valhallasw probably unintentionally removed python-socketio-client from genpp in b4f67487d4cbe25c604ddf9f9d32e003a535be22 with the comment: "remove socketio-client from genpp (installed via aptly)".

It had originally been installed in 4b9e12408cd3d6dab2f023d9553051618229fcbe for T86015. It was packaged locally as a tandem with python-websocket-client. I requested backports of both for Trusty as part of T91874 and they have been available for some time, but with python-websocket being 0.12.0 and not 0.23.0.

On Trusty, this works fine with the packages from backports:

scfc@toolsbeta-mail-04:~/core_stable$ python pwb.py listpages -liverecentchanges
No handlers could be found for logger "socketIO_client"
   1 Baseball/Neue Artikel
   2 Roses (Lied)
   3 Japetus Steenstrup
   4 Manorainjan
^CTraceback (most recent call last):
  File "pwb.py", line 270, in <module>
    if not main():
  File "pwb.py", line 264, in main
    run_python_file(filename, [filename] + args, argvu, file_package)
  File "pwb.py", line 109, in run_python_file
    main_mod.__dict__)
  File "./scripts/listpages.py", line 240, in <module>
    main()
  File "./scripts/listpages.py", line 220, in main
    for i, page in enumerate(gen, start=1):
  File "/mnt/nfs/labstore-secondary-home/scfc/core_stable/pywikibot/pagegenerators.py", line 2052, in LiveRCPageGenerator
    for entry in site_rc_listener(site, total=total):
  File "/mnt/nfs/labstore-secondary-home/scfc/core_stable/pywikibot/comms/rcstream.py", line 189, in rc_listener
    element = rc_thread.queue.get(timeout=0.1)
  File "/usr/lib/python2.7/Queue.py", line 177, in get
    self.not_empty.wait(remaining)
  File "/usr/lib/python2.7/threading.py", line 358, in wait
    _sleep(delay)
KeyboardInterrupt
<type 'exceptions.KeyboardInterrupt'>
CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort
scfc@toolsbeta-mail-04:~/core_stable$

But in b96e7f57905751c08a0b5c5197d47dff3bcfe182, @Anoopchandu18 added a requirement on websocket-client>=0.33 because a bug was introduced in version 0.27.0 and fixed in 0.33.0 (T114913), i. e. Pywikibot does not depend on an API only available in 0.33.0. (IMHO this is flawed: If someone fixes version 0.27.0 locally with 0.27.0~something, there is no need to update to 0.33.0).

My assumption is that the Trusty packages python-socketio-client (and its implicit dependency python-websocket) can be safely installed from backports because it will work for people not executing setup.py and those who do execute setup.py will probably work in a virtual environment anyway. I'll upload a Puppet patch soon, inviting comments.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
scfc triaged this task as Medium priority.
scfc moved this task from Backlog to Waiting for code review on the Toolforge board.

Okay, that's now twice in a row that I can't see properly:

132         # Python libraries on apt.wm.o or tools apt repo
133         # Other python package requirements are added
134         # using the genpp tool
135         'python-flask-oauth',
136         'python-mwparserfromhell',     # T65539
137         'python-oursql',               # For danilo et al.
138         'python-socketio-client',      # T86015
139         'python-wikitools',
140         'python-mwclient',             # for morebots et al

So, no, @valhallasw didn't remove the requirement, he (correctly) removed the duplicate in python.py, sorry. I'll handle the package "downgrade" under T91874.