[arch-commits] Commit in shadowsocks/trunk (PKGBUILD fix-typeerror.patch)

Felix Yan fyan at archlinux.org
Thu Nov 6 06:51:03 UTC 2014


    Date: Thursday, November 6, 2014 @ 07:51:02
  Author: fyan
Revision: 122035

upgpkg: shadowsocks 2.4.1-1

Added:
  shadowsocks/trunk/fix-typeerror.patch
Modified:
  shadowsocks/trunk/PKGBUILD

---------------------+
 PKGBUILD            |   18 ++++++++++++------
 fix-typeerror.patch |   38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-11-06 05:58:39 UTC (rev 122034)
+++ PKGBUILD	2014-11-06 06:51:02 UTC (rev 122035)
@@ -2,7 +2,7 @@
 # Maintainer: Felix Yan <felixonmars at archlinux.org>
 
 pkgname=shadowsocks
-pkgver=2.4
+pkgver=2.4.1
 pkgrel=1
 pkgdesc="A lightweight tunnel proxy"
 license=("MIT")
@@ -14,10 +14,16 @@
 source=("http://pypi.python.org/packages/source/s/shadowsocks/shadowsocks-${pkgver}.tar.gz"
         "$pkgname-LICENSE::https://raw.github.com/clowwindy/shadowsocks/master/LICENSE"
         "shadowsocks at .service"
-        "shadowsocks-server at .service")
+        "shadowsocks-server at .service"
+        fix-typeerror.patch)
 arch=('any')
 install=${pkgname}.install
 
+prepare() {
+  cd shadowsocks-$pkgver
+  patch -p1 -i ../fix-typeerror.patch
+}
+
 check() {
   cd shadowsocks-$pkgver
 
@@ -36,8 +42,7 @@
 package() {
   cd "$srcdir/shadowsocks-$pkgver"
 
-  # 2.4: Setting LANG as a workaround for https://github.com/clowwindy/shadowsocks/pull/203
-  LANG=en_US.utf8 python setup.py install -O1 --root="$pkgdir"
+  python setup.py install -O1 --root="$pkgdir"
   
   install -d "$pkgdir/etc/shadowsocks"
   install -Dm644 "$srcdir/shadowsocks at .service" "$pkgdir/usr/lib/systemd/system/shadowsocks at .service"
@@ -45,7 +50,8 @@
   install -Dm644 "$srcdir/$pkgname-LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
 }
 
-sha512sums=('b50c27202170bbacb87c7578588756a6c9d612981ff31a494d2e6e3cb56ea229e378a95c99915c2d88d987876ba752807e53c8da5cc84b937bef2a453f0dadb0'
+sha512sums=('d5ef9933555b93b68f9b9436282c6b51a784f3583bbb0dc0285a1e5e7d14ca3173b1f54148c2cac3deb4fe8447ad02ba043aabf646a46dc68497ad36282637e9'
             '88abf42d51d7b7baa2b9cef016bfd194373fd178980c2c6f1bbb3ce31d3267dfca71efb013c6596c57c0390fdb95d716ff4acca97bdf960e56e9edf16f770352'
             '96ecb174a476f64dec3ec086732d93a76d27e9a1cc56b1dc3fa87bf8e00d4b3c44076a01a0d525e42174cacc58fd5c16d5c8af5d4636dae13df549dec8204f7d'
-            'f2f8240c18a4483bf3e03b3a5ac8822c3deae713224f732bf28f7fddfcc5d0b02aa91652665ff93f05731e162a9407109c18f43d732a3a9b19d9eacfc806a4df')
+            'f2f8240c18a4483bf3e03b3a5ac8822c3deae713224f732bf28f7fddfcc5d0b02aa91652665ff93f05731e162a9407109c18f43d732a3a9b19d9eacfc806a4df'
+            '78c45e1ab17d62bdb2276e35511e6bbe6dd0b2da53e333e59a44d485729532abdf8a44f59ae42b12a5bba1f9f641657fac68ecfe3ecb2f6fcae7726311d6a90b')

Added: fix-typeerror.patch
===================================================================
--- fix-typeerror.patch	                        (rev 0)
+++ fix-typeerror.patch	2014-11-06 06:51:02 UTC (rev 122035)
@@ -0,0 +1,38 @@
+From fb27cf52a9a7b72ef8d3e3693623de43a477ebaf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=E5=88=98=E7=BC=99?= <jin at wosai-inc.com>
+Date: Wed, 5 Nov 2014 11:04:40 +0800
+Subject: [PATCH] Fix str/byte related TypeError in Python 3.4
+
+Traceback (most recent call last):
+File "/usr/bin/sslocal", line 9, in <module>
+load_entry_point('shadowsocks==2.4', 'console_scripts', 'sslocal')()
+File "/usr/lib/python3.4/site-packages/shadowsocks/local.py", line 68, in main
+loop.run()
+File "/usr/lib/python3.4/site-packages/shadowsocks/eventloop.py", line 230, in run
+handler(events)
+File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 630, in _handle_events
+handler.handle_event(sock, event)
+File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 458, in handle_event
+self._on_local_read()
+File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 377, in _on_local_read
+self._handle_stage_reply(data)
+File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 212, in _handle_stage_reply
+s = remote_sock.sendto(data, MSG_FASTOPEN, self._chosen_server)
+TypeError: 'str' does not support the buffer interface
+---
+ shadowsocks/tcprelay.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shadowsocks/tcprelay.py b/shadowsocks/tcprelay.py
+index 4a30b42..6ccadbe 100644
+--- a/shadowsocks/tcprelay.py
++++ b/shadowsocks/tcprelay.py
+@@ -207,7 +207,7 @@ def _handle_stage_reply(self, data):
+                     self._create_remote_socket(self._chosen_server[0],
+                                                self._chosen_server[1])
+                 self._loop.add(remote_sock, eventloop.POLL_ERR)
+-                data = ''.join(self._data_to_write_to_local)
++                data = b''.join(self._data_to_write_to_local)
+                 l = len(data)
+                 s = remote_sock.sendto(data, MSG_FASTOPEN, self._chosen_server)
+                 if s < l:



More information about the arch-commits mailing list