[arch-commits] Commit in python-websocket-client/repos/community-any (3 files)

Thore Bödecker foxxx0 at archlinux.org
Wed Feb 20 11:54:50 UTC 2019


    Date: Wednesday, February 20, 2019 @ 11:54:49
  Author: foxxx0
Revision: 434678

archrelease: copy trunk to community-any

Added:
  python-websocket-client/repos/community-any/PKGBUILD
    (from rev 434677, python-websocket-client/trunk/PKGBUILD)
  python-websocket-client/repos/community-any/retry-connect-on-EINTR.patch
    (from rev 434677, python-websocket-client/trunk/retry-connect-on-EINTR.patch)
Deleted:
  python-websocket-client/repos/community-any/PKGBUILD

------------------------------+
 PKGBUILD                     |  126 +++++++++++++++++++++--------------------
 retry-connect-on-EINTR.patch |   68 ++++++++++++++++++++++
 2 files changed, 135 insertions(+), 59 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2019-02-20 11:54:40 UTC (rev 434677)
+++ PKGBUILD	2019-02-20 11:54:49 UTC (rev 434678)
@@ -1,59 +0,0 @@
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Matmas <matmas at matmas.net>
-# Contributor: Thomas Gubler <thomasgubler at gmail.com>
-# Contributor: Daniel YC Lin <dlin.tw at gmail>
-# Contributor: Florian Bruhin <archlinux.org at the-compiler.org>
-
-pkgname=(python-websocket-client python2-websocket-client)
-pkgver=0.54.0
-pkgrel=1
-pkgdesc="WebSocket client library for Python"
-arch=(any)
-url="https://github.com/liris/websocket-client"
-license=('LGPL')
-makedepends=('python-setuptools' 'python2-setuptools' 'python-six' 'python2-six')
-source=(https://pypi.io/packages/source/w/websocket-client/websocket_client-$pkgver.tar.gz)
-sha512sums=('ba4dfb6b879ec88ca446f44a77b91bbace55faa1a276f493174f3dc5b96b4d400d43c886798666da98e331610f71b4629f894d97f4614acf8d64affe8370bfec')
-
-prepare() {
-  # Not sure why the conditions are not working :/
-  sed -i "s/'backports.ssl_match_hostname'//" websocket_client-$pkgver/setup.py
-
-  cp -a websocket_client-$pkgver{,-py2}
-}
-
-build() {
-  cd "$srcdir"/websocket_client-$pkgver
-  python setup.py build
-
-  cd "$srcdir"/websocket_client-$pkgver-py2
-  python2 setup.py build
-}
-
-check() {
-  cd "$srcdir"/websocket_client-$pkgver
-  python setup.py test
-
-  cd "$srcdir"/websocket_client-$pkgver-py2
-  python2 setup.py test
-}
-
-package_python-websocket-client() {
-  depends=('python-six')
-
-  cd websocket_client-$pkgver
-  python setup.py install --root="$pkgdir" --optimize=1
-  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}
-
-package_python2-websocket-client() {
-  depends=('python2-six')
-
-  cd websocket_client-$pkgver-py2
-  python2 setup.py install --root="$pkgdir" --optimize=1
-  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-
-  mv "$pkgdir"/usr/bin/wsdump{,2}.py
-}
-
-# vim:set ts=2 sw=2 ft=sh et:

Copied: python-websocket-client/repos/community-any/PKGBUILD (from rev 434677, python-websocket-client/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2019-02-20 11:54:49 UTC (rev 434678)
@@ -0,0 +1,67 @@
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Thore Bödecker <foxxx0 at archlinux.org>
+# Contributor: Matmas <matmas at matmas.net>
+# Contributor: Thomas Gubler <thomasgubler at gmail.com>
+# Contributor: Daniel YC Lin <dlin.tw at gmail>
+# Contributor: Florian Bruhin <archlinux.org at the-compiler.org>
+
+_pkgbase='websocket-client'
+__pkgbase="${_pkgbase//-/_}"
+pkgname=("python-${_pkgbase}" "python2-${_pkgbase}")
+pkgver=0.54.0
+pkgrel=2
+pkgdesc="WebSocket client library for Python"
+arch=(any)
+url="https://github.com/${_pkgbase}/${_pkgbase}"
+license=('LGPL')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-six' 'python2-six')
+source=("https://pypi.io/packages/source/w/${_pkgbase}/${__pkgbase}-${pkgver}.tar.gz"
+        'retry-connect-on-EINTR.patch')
+sha512sums=('ba4dfb6b879ec88ca446f44a77b91bbace55faa1a276f493174f3dc5b96b4d400d43c886798666da98e331610f71b4629f894d97f4614acf8d64affe8370bfec'
+            '51c1c84de6f6c7600aa4bbacb923908acd69b4ae2dc21e0861c9f3e14e339580b0b094991821c2b34277fb427d4cbbd2407360316b267a3e67354ca89725c50c')
+
+prepare() {
+  # Not sure why the conditions are not working :/
+  sed -i "s/'backports.ssl_match_hostname'//" "${srcdir}/${__pkgbase}-${pkgver}/setup.py"
+
+  cd "${srcdir}/${__pkgbase}-${pkgver}"
+  patch -p1 -N -l -i "${srcdir}/retry-connect-on-EINTR.patch"
+
+  cp -a "${srcdir}/${__pkgbase}-${pkgver}"{,-py2}
+}
+
+build() {
+  cd "${srcdir}/${__pkgbase}-${pkgver}"
+  python setup.py build
+
+  cd "${srcdir}/${__pkgbase}-${pkgver}-py2"
+  python2 setup.py build
+}
+
+check() {
+  cd "${srcdir}/${__pkgbase}-${pkgver}"
+  python setup.py test
+
+  cd "${srcdir}/${__pkgbase}-${pkgver}-py2"
+  python2 setup.py test
+}
+
+package_python-websocket-client() {
+  depends=('python-six')
+
+  cd "${srcdir}/${__pkgbase}-${pkgver}"
+  python setup.py install --root="$pkgdir" --optimize=1
+  install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-websocket-client() {
+  depends=('python2-six')
+
+  cd "${srcdir}/${__pkgbase}-${pkgver}-py2"
+  python2 setup.py install --root="$pkgdir" --optimize=1
+  install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+  mv "$pkgdir"/usr/bin/wsdump{,2}.py
+}
+
+# vim:set ts=2 sw=2 ft=sh et:

Copied: python-websocket-client/repos/community-any/retry-connect-on-EINTR.patch (from rev 434677, python-websocket-client/trunk/retry-connect-on-EINTR.patch)
===================================================================
--- retry-connect-on-EINTR.patch	                        (rev 0)
+++ retry-connect-on-EINTR.patch	2019-02-20 11:54:49 UTC (rev 434678)
@@ -0,0 +1,68 @@
+From 9a146e32e153fa1e0111b216f32c4b0e35ec9c12 Mon Sep 17 00:00:00 2001
+From: Trygve Aaberge <trygveaa at gmail.com>
+Date: Tue, 19 Feb 2019 23:55:59 +0100
+Subject: [PATCH] Retry connect on "Interrupted system call"
+
+When connecting to a socket, EINTR ("Interrupted system call") may be
+raised if the application receives a signal at the same time. Prior to
+Python 3.5, applications has to handle this themselves by retrying the
+connection. For more details, see https://www.python.org/dev/peps/pep-0475/
+
+Fixes #527
+---
+ websocket/_http.py | 38 ++++++++++++++++++++++----------------
+ 1 file changed, 22 insertions(+), 16 deletions(-)
+
+diff --git a/websocket/_http.py b/websocket/_http.py
+index e7f1e2e..dd982db 100644
+--- a/websocket/_http.py
++++ b/websocket/_http.py
+@@ -166,26 +166,32 @@ def _open_socket(addrinfo_list, sockopt, timeout):
+             sock.setsockopt(*opts)
+ 
+         address = addrinfo[4]
+-        try:
+-            sock.connect(address)
+-            err = None
+-        except ProxyConnectionError as error:
+-            err = WebSocketProxyException(str(error))
+-            err.remote_ip = str(address[0])
+-            continue
+-        except socket.error as error:
+-            error.remote_ip = str(address[0])
++        err = None
++        while not err:
+             try:
+-                eConnRefused = (errno.ECONNREFUSED, errno.WSAECONNREFUSED)
+-            except:
+-                eConnRefused = (errno.ECONNREFUSED, )
+-            if error.errno in eConnRefused:
+-                err = error
++                sock.connect(address)
++            except ProxyConnectionError as error:
++                err = WebSocketProxyException(str(error))
++                err.remote_ip = str(address[0])
+                 continue
++            except socket.error as error:
++                error.remote_ip = str(address[0])
++                try:
++                    eConnRefused = (errno.ECONNREFUSED, errno.WSAECONNREFUSED)
++                except:
++                    eConnRefused = (errno.ECONNREFUSED, )
++                if error.errno == errno.EINTR:
++                    continue
++                elif error.errno in eConnRefused:
++                    err = error
++                    continue
++                else:
++                    raise error
+             else:
+-                raise error
++                break
+         else:
+-            break
++            continue
++        break
+     else:
+         raise err
+ 



More information about the arch-commits mailing list