[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#862900: unblock (pre-upload): python-x2go/0.5.0.4-3



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please consider unblocking (pre-upload) package python-x2go.

In X2Go upstream we fixed an issue lately that occurs with gevent 1.1. As
I switched to Debian testing only lately with my daily-work machine, this
issue slipped through my fingers, so far.

.debdiff is attached. 

Thanks!
Mike

unblock python-x2go/0.5.0.4-3

-- System Information:
Debian Release: 9.0
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: amd64
 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru python-x2go-0.5.0.4/debian/changelog python-x2go-0.5.0.4/debian/changelog
--- python-x2go-0.5.0.4/debian/changelog	2016-11-30 12:58:26.000000000 +0100
+++ python-x2go-0.5.0.4/debian/changelog	2017-05-18 13:10:48.000000000 +0200
@@ -1,3 +1,13 @@
+python-x2go (0.5.0.4-3) unstable; urgency=medium
+
+  * debian/control:
+    + Add to B-D: dh-python.
+  * debian/patches:
+    + Add 0001_check-lock-state-before-releasing.patch. Required for flawless
+      operation with gevent 1.1. (Closes: #862896).
+
+ -- Mike Gabriel <sunweaver@debian.org>  Thu, 18 May 2017 13:10:48 +0200
+
 python-x2go (0.5.0.4-2) unstable; urgency=medium
 
   * debian/control:
diff -Nru python-x2go-0.5.0.4/debian/control python-x2go-0.5.0.4/debian/control
--- python-x2go-0.5.0.4/debian/control	2016-11-30 12:58:26.000000000 +0100
+++ python-x2go-0.5.0.4/debian/control	2017-05-18 13:10:48.000000000 +0200
@@ -6,6 +6,7 @@
  Mike Gabriel <sunweaver@debian.org>,
 Build-Depends: 
  debhelper (>= 9),
+ dh-python,
  python (>= 2.6.6-14~),
  python-setuptools,
  python-epydoc,
diff -Nru python-x2go-0.5.0.4/debian/patches/0001_check-lock-state-before-releasing.patch python-x2go-0.5.0.4/debian/patches/0001_check-lock-state-before-releasing.patch
--- python-x2go-0.5.0.4/debian/patches/0001_check-lock-state-before-releasing.patch	1970-01-01 01:00:00.000000000 +0100
+++ python-x2go-0.5.0.4/debian/patches/0001_check-lock-state-before-releasing.patch	2017-05-18 13:08:17.000000000 +0200
@@ -0,0 +1,102 @@
+commit 3ed4fed3465e02c605c80e057c265ca4a5d4b2ac
+Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Date:   Tue May 9 12:24:20 2017 +0200
+
+    Don't blindly release gevent locked. We need to checked if a semaphore is locked in some case and only then release it. (Fixes: #1016).
+
+#diff --git a/debian/changelog b/debian/changelog
+#index aeca116..cd549f0 100644
+#--- a/debian/changelog
+#+++ b/debian/changelog
+#@@ -3,6 +3,9 @@ python-x2go (0.5.0.5-0x2go1) UNRELEASED; urgency=low
+#   [ Mike Gabriel ]
+#   * New upstream version (0.5.0.5):
+#     - documentation: Fix wording in docstring.
+#+    - Don't blindly release gevent locked. We need to checked if a
+#+      semaphore is locked in some case and only then release it.
+#+      (Fixes: #1016).
+# 
+#   [ Mihai Moldovan ]
+#   * New upstream version (0.5.0.5):
+diff --git a/x2go/backends/control/plain.py b/x2go/backends/control/plain.py
+index 73807e5..3dcc3ef 100644
+--- a/x2go/backends/control/plain.py
++++ b/x2go/backends/control/plain.py
+@@ -324,7 +324,8 @@ class X2GoControlSession(paramiko.SSHClient):
+                 timer.cancel()
+ 
+             self.sftp_client = None
+-        self._transport_lock.release()
++        if self._transport_lock.locked():
++            self._transport_lock.release()
+ 
+     def _x2go_sftp_write(self, remote_path, content, timeout=20):
+         """
+@@ -380,7 +381,8 @@ class X2GoControlSession(paramiko.SSHClient):
+                 timer.cancel()
+ 
+             self.sftp_client = None
+-        self._transport_lock.release()
++        if self._transport_lock.locked():
++            self._transport_lock.release()
+ 
+     def _x2go_sftp_remove(self, remote_path, timeout=20):
+         """
+@@ -431,7 +433,8 @@ class X2GoControlSession(paramiko.SSHClient):
+                 timer.cancel()
+ 
+             self.sftp_client = None
+-        self._transport_lock.release()
++        if self._transport_lock.locked():
++            self._transport_lock.release()
+ 
+     def _x2go_exec_command(self, cmd_line, loglevel=log.loglevel_INFO, timeout=20, **kwargs):
+         """
+@@ -520,7 +523,8 @@ class X2GoControlSession(paramiko.SSHClient):
+             self._transport_lock.release()
+             raise x2go_exceptions.X2GoControlSessionException('the X2Go control session is not connected (while issuing SSH command=%s)' % cmd)
+ 
+-        self._transport_lock.release()
++        if self._transport_lock.locked():
++            self._transport_lock.release()
+ 
+         # sanitized X2Go relevant data, protect against data injection via .bashrc files
+         (_stdin, _stdout, _stderr) = _retval
+@@ -1204,7 +1208,8 @@ class X2GoControlSession(paramiko.SSHClient):
+         self._session_auth_rsakey = None
+ 
+         # in any case, release out internal transport lock
+-        self._transport_lock.release()
++        if self._transport_lock.locked():
++            self._transport_lock.release()
+ 
+         # close SSH agent auth forwarding objects
+         if self.agent_handler is not None:
+diff --git a/x2go/backends/terminal/plain.py b/x2go/backends/terminal/plain.py
+index 786ad8d..1ea43ea 100644
+--- a/x2go/backends/terminal/plain.py
++++ b/x2go/backends/terminal/plain.py
+@@ -421,7 +421,8 @@ class X2GoTerminalSession(object):
+           - clear the session info
+ 
+         """
+-        self._share_local_folder_lock.release()
++        if self._share_local_folder_lock.locked():
++            self._share_local_folder_lock.release()
+         self.release_telekinesis()
+         self.release_proxy()
+         self.session_window = None
+diff --git a/x2go/session.py b/x2go/session.py
+index d37c038..b1f836d 100644
+--- a/x2go/session.py
++++ b/x2go/session.py
+@@ -1374,7 +1374,8 @@ class X2GoSession(object):
+         self.terminated = None
+         self.faults = None
+         self.active = False
+-        self._lock.release()
++        if self._lock.locked():
++            self._lock.release()
+         self.unset_master_session()
+         try:
+             self.update_status(force_update=True)
diff -Nru python-x2go-0.5.0.4/debian/patches/series python-x2go-0.5.0.4/debian/patches/series
--- python-x2go-0.5.0.4/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ python-x2go-0.5.0.4/debian/patches/series	2017-05-18 13:08:25.000000000 +0200
@@ -0,0 +1 @@
+0001_check-lock-state-before-releasing.patch

Reply to: