Package: release.debian.org Severity: normal User: [email protected] 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 <[email protected]> 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 <[email protected]>, 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 <[email protected]> +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

