Good evening,

Here is the nmudiff with a new patch. See
https://salsa.debian.org/owncloud-team/owncloud-client/merge_requests/1 for
a gitted version.

The second patch fixes other errors that may happen, and that were
mentionned in the forwarded bug on github.

The upload will probably occur in the coming day. :)

Cheers,

-- 
Pierre-Elliott Bécue
GPG: 9AE0 4D98 6400 E3B6 7528  F493 0D44 2664 1949 74E2
It's far easier to fight for one's principles than to live up to them.
diff -Nru owncloud-client-2.4.1+dfsg/debian/changelog owncloud-client-2.4.1+dfsg/debian/changelog
--- owncloud-client-2.4.1+dfsg/debian/changelog	2018-03-29 13:44:36.000000000 +0200
+++ owncloud-client-2.4.1+dfsg/debian/changelog	2018-05-24 03:40:48.000000000 +0200
@@ -1,3 +1,16 @@
+owncloud-client (2.4.1+dfsg-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add d/p/0010 to fix the nemo/nautilus shell integration encoding issues.
+    (Closes: #897436)
+  * Add d/p/0011 to remove debug messages with nautilus integration that may
+    also raise encoding errors.
+  * d/control:
+    - Drop the X-Python3-Version that is obsolete
+    - Bump Standards-Version to 4.1.4. No change required.
+
+ -- Pierre-Elliott Bécue <be...@crans.org>  Thu, 24 May 2018 03:40:48 +0200
+
 owncloud-client (2.4.1+dfsg-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru owncloud-client-2.4.1+dfsg/debian/control owncloud-client-2.4.1+dfsg/debian/control
--- owncloud-client-2.4.1+dfsg/debian/control	2018-03-29 13:35:54.000000000 +0200
+++ owncloud-client-2.4.1+dfsg/debian/control	2018-05-24 03:40:15.000000000 +0200
@@ -31,10 +31,9 @@
                      texlive-latex-extra,
                      texlive-latex-recommended,
                      xsltproc
-X-Python3-Version: >= 3.0
 Vcs-Git: https://salsa.debian.org/owncloud-team/owncloud-client.git
 Vcs-Browser: https://salsa.debian.org/owncloud-team/owncloud-client
-Standards-Version: 4.1.3
+Standards-Version: 4.1.4
 Homepage: https://owncloud.org/sync-clients/
 
 Package: owncloud-client
diff -Nru owncloud-client-2.4.1+dfsg/debian/patches/0010-Fix-nautilus-nemo-shell-integration-encoding-issues.patch owncloud-client-2.4.1+dfsg/debian/patches/0010-Fix-nautilus-nemo-shell-integration-encoding-issues.patch
--- owncloud-client-2.4.1+dfsg/debian/patches/0010-Fix-nautilus-nemo-shell-integration-encoding-issues.patch	1970-01-01 01:00:00.000000000 +0100
+++ owncloud-client-2.4.1+dfsg/debian/patches/0010-Fix-nautilus-nemo-shell-integration-encoding-issues.patch	2018-05-24 03:36:38.000000000 +0200
@@ -0,0 +1,70 @@
+From: =?utf-8?q?Pierre-Elliott_B=C3=A9cue?= <be...@crans.org>
+Date: Wed, 23 May 2018 19:18:04 +0200
+Subject: Fix nautilus/nemo shell integration encoding issues
+
+The problem was that plain encode()/decode() in python2 use ascii
+encoding, not utf8.
+
+Upstream git hash: 29557ea550a0baa6c223e87fdd54042944a5dd43
+
+---
+ shell_integration/nautilus/syncstate.py | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/shell_integration/nautilus/syncstate.py b/shell_integration/nautilus/syncstate.py
+index 77a233d..4429588 100644
+--- a/shell_integration/nautilus/syncstate.py
++++ b/shell_integration/nautilus/syncstate.py
+@@ -38,8 +38,10 @@ print("Initializing "+appname+"-client-nautilus extension")
+ def get_local_path(url):
+     if url[0:7] == 'file://':
+         url = url[7:]
+-    unquote = urllib.parse.unquote if python3 else urllib.unquote
+-    return unquote(url)
++    if python3:
++        return urllib.parse.unquote(url)
++    else:
++        return urllib.unquote(url).decode('utf-8')
+ 
+ def get_runtime_dir():
+     """Returns the value of $XDG_RUNTIME_DIR, a directory path.
+@@ -61,7 +63,7 @@ class SocketConnect(GObject.GObject):
+         self._watch_id = 0
+         self._sock = None
+         self._listeners = [self._update_registered_paths]
+-        self._remainder = ''.encode()
++        self._remainder = ''.encode('utf-8')
+         self.nautilusVFSFile_table = {}  # not needed in this object actually but shared 
+                                          # all over the other objects.
+ 
+@@ -79,7 +81,7 @@ class SocketConnect(GObject.GObject):
+         # print("Server command: " + cmd)
+         if self.connected:
+             try:
+-                self._sock.send(cmd.encode())
++                self._sock.send(cmd.encode('utf-8'))
+             except:
+                 print("Sending failed.")
+                 self.reconnect()
+@@ -118,17 +120,17 @@ class SocketConnect(GObject.GObject):
+         # Prepend the remaining data from last call
+         if len(self._remainder) > 0:
+             data = self._remainder + data
+-            self._remainder = ''.encode()
++            self._remainder = ''.encode('utf-8')
+ 
+         if len(data) > 0:
+             # Remember the remainder for next round
+-            lastNL = data.rfind('\n'.encode());
++            lastNL = data.rfind('\n'.encode('utf-8'));
+             if lastNL > -1 and lastNL < len(data):
+                 self._remainder = data[lastNL+1:]
+                 data = data[:lastNL]
+ 
+-            for l in data.split('\n'.encode()):
+-                self._handle_server_response(l.decode())
++            for l in data.split('\n'.encode('utf-8')):
++                self._handle_server_response(l.decode('utf-8'))
+         else:
+             return False
+ 
diff -Nru owncloud-client-2.4.1+dfsg/debian/patches/0011-Nautilus-Fix-Python3-and-remove-many-debug.patch owncloud-client-2.4.1+dfsg/debian/patches/0011-Nautilus-Fix-Python3-and-remove-many-debug.patch
--- owncloud-client-2.4.1+dfsg/debian/patches/0011-Nautilus-Fix-Python3-and-remove-many-debug.patch	1970-01-01 01:00:00.000000000 +0100
+++ owncloud-client-2.4.1+dfsg/debian/patches/0011-Nautilus-Fix-Python3-and-remove-many-debug.patch	2018-05-24 03:39:03.000000000 +0200
@@ -0,0 +1,55 @@
+From: =?utf-8?q?Pierre-Elliott_B=C3=A9cue?= <be...@crans.org>
+Date: Thu, 24 May 2018 03:33:28 +0200
+Subject: Nautilus: Fix Python3 and remove many debug
+
+Remove most of the debug message which happens during normal operation.
+They are mostly spamming the nautilus console, and can also cause bug
+as they may throw exception in case of wrong encoding.
+
+Adapted from upstream commit f8a4994307030d26a62ae2f6039807802e214802
+---
+ shell_integration/nautilus/syncstate.py | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/shell_integration/nautilus/syncstate.py b/shell_integration/nautilus/syncstate.py
+index 4429588..fadc0fe 100644
+--- a/shell_integration/nautilus/syncstate.py
++++ b/shell_integration/nautilus/syncstate.py
+@@ -96,18 +96,15 @@ class SocketConnect(GObject.GObject):
+             self._sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+             sock_file = os.path.join(get_runtime_dir(), appname, "socket")
+             try:
+-                print("Socket File: " + sock_file)
+                 self._sock.connect(sock_file) # fails if sock_file doesn't exist
+                 self.connected = True
+-                print("Setting connected to %r." % self.connected )
+                 self._watch_id = GObject.io_add_watch(self._sock, GObject.IO_IN, self._handle_notify)
+-                print("Socket watch id: " + str(self._watch_id))
+ 
+                 self.sendCommand('GET_STRINGS:\n')
+ 
+                 return False  # Don't run again
+             except Exception as e:
+-                print("Could not connect to unix socket. " + str(e))
++                print("Could not connect to unix socket " + sock_file + ". " + str(e))
+         except Exception as e:  # Bad habbit
+             print("Connect could not be established, try again later.")
+             self._sock.close()
+@@ -137,7 +134,7 @@ class SocketConnect(GObject.GObject):
+         return True  # Run again
+ 
+     def _handle_server_response(self, line):
+-        print("Server response: " + line)
++        # print("Server response: " + line)
+         parts = line.split(':')
+         action = parts[0]
+         args = parts[1:]
+@@ -264,7 +261,7 @@ class MenuExtension(GObject.GObject, Nautilus.MenuProvider):
+ 
+     def context_menu_action(self, menu, action, file):
+         filename = get_local_path(file.get_uri())
+-        print("Context menu: " + action + ' ' + filename)
++        # print("Context menu: " + action + ' ' + filename)
+         socketConnect.sendCommand(action + ":" + filename + "\n")
+ 
+ 
diff -Nru owncloud-client-2.4.1+dfsg/debian/patches/series owncloud-client-2.4.1+dfsg/debian/patches/series
--- owncloud-client-2.4.1+dfsg/debian/patches/series	2017-12-31 10:53:56.000000000 +0100
+++ owncloud-client-2.4.1+dfsg/debian/patches/series	2018-05-24 03:39:03.000000000 +0200
@@ -7,3 +7,5 @@
 0007-move-translations.patch
 0008-make-reproducable.patch
 0009-fix-installpath-of-dolphin-plugin.patch
+0010-Fix-nautilus-nemo-shell-integration-encoding-issues.patch
+0011-Nautilus-Fix-Python3-and-remove-many-debug.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to