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

Bug#861761: marked as done (unblock: (pre-approval) offlineimap/7.0.14+dfsg1-2)



Your message dated Sun, 21 May 2017 13:32:38 +0000
with message-id <E1dCQyM-0001FQ-GY@respighi.debian.org>
and subject line unblock offlineimap
has caused the Debian Bug report #861761,
regarding unblock: (pre-approval) offlineimap/7.0.14+dfsg1-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
861761: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861761
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Dear Release Team,

One of the UIs for OfflineIMAP, namely Blinkenlights, is broken in the
current version of OfflineIMAP. More specifically, the output of
Blinkenlights becomes "garbled" and eventually results in a crash of the
Python process. For more information, see the upstream bug report:

    https://github.com/OfflineIMAP/offlineimap/issues/160

This has been broken for more than a year, but only recently fixed.
Since the patch is fairly small, and users have already complained about
this in the past[1], I would like to update OfflineIMAP to fix this bug.
What do you think?

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809676#31

unblock offlineimap/7.0.14+dfsg1-2

Kind Regards,

-- 
Ilias
diff -Nru offlineimap-7.0.12+dfsg1/debian/changelog offlineimap-7.0.12+dfsg1/debian/changelog
--- offlineimap-7.0.12+dfsg1/debian/changelog	2016-12-01 13:04:38.000000000 +0200
+++ offlineimap-7.0.12+dfsg1/debian/changelog	2017-05-03 18:40:38.000000000 +0300
@@ -1,3 +1,11 @@
+offlineimap (7.0.12+dfsg1-2) unstable; urgency=medium
+
+  * Backport upstream patch to fix Blinkenlights UI.
+    Fix the Blinkenlights UI where the terminal is garbled and eventually
+    OfflineIMAP crashes.
+
+ -- Ilias Tsitsimpis <i.tsitsimpis@gmail.com>  Wed, 03 May 2017 18:40:38 +0300
+
 offlineimap (7.0.12+dfsg1-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru offlineimap-7.0.12+dfsg1/debian/patches/Acquire-lock-before-updating-the-CursesLogHandler-window.patch offlineimap-7.0.12+dfsg1/debian/patches/Acquire-lock-before-updating-the-CursesLogHandler-window.patch
--- offlineimap-7.0.12+dfsg1/debian/patches/Acquire-lock-before-updating-the-CursesLogHandler-window.patch	1970-01-01 02:00:00.000000000 +0200
+++ offlineimap-7.0.12+dfsg1/debian/patches/Acquire-lock-before-updating-the-CursesLogHandler-window.patch	2017-05-03 18:29:54.000000000 +0300
@@ -0,0 +1,60 @@
+From: Ilias Tsitsimpis <i.tsitsimpis@gmail.com>
+Date: Wed, 12 Apr 2017 13:25:46 +0300
+Subject: Acquire lock before updating the CursesLogHandler window
+
+Make sure that we refresh the screen atomically, since the emit()
+function may be called by more that one threads at a time.
+
+Also, modify the draw_bannerwin() method which used to fail in case the
+window would become too small. Make sure that the provided offsets to
+the window.addstr() method are properly bounded.
+
+Closes #160: blinkenlights display is broken
+Tested-by: Cyril Brulebois
+Tested-by: Gaudenz Steinlin
+Signed-off-by: Ilias Tsitsimpis <i.tsitsimpis@gmail.com>
+Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
+
+Origin: upstream, https://github.com/OfflineIMAP/offlineimap/commit/7bc54d241cce
+Bug: https://github.com/OfflineIMAP/offlineimap/issues/160
+Bug-Debian: https://bugs.debian.org/809676
+---
+ offlineimap/ui/Curses.py | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/offlineimap/ui/Curses.py b/offlineimap/ui/Curses.py
+index 152c5d6..e97bed0 100644
+--- a/offlineimap/ui/Curses.py
++++ b/offlineimap/ui/Curses.py
+@@ -315,11 +315,11 @@ class CursesLogHandler(logging.StreamHandler):
+             y,x = self.ui.logwin.getyx()
+             if y or x: self.ui.logwin.addch(10) # no \n before 1st item
+             self.ui.logwin.addstr(log_str, color)
++            self.ui.logwin.noutrefresh()
++            self.ui.stdscr.refresh()
+         finally:
+             self.ui.unlock()
+             self.ui.tframe_lock.release()
+-        self.ui.logwin.noutrefresh()
+-        self.ui.stdscr.refresh()
+ 
+ class Blinkenlights(UIBase, CursesUtil):
+     """Curses-cased fancy UI.
+@@ -611,11 +611,12 @@ class Blinkenlights(UIBase, CursesUtil):
+             color = curses.A_REVERSE
+         self.bannerwin.clear() # Delete old content (eg before resizes)
+         self.bannerwin.bkgd(' ', color) # Fill background with that color
+-        string = "%s %s"% (offlineimap.__productname__,
+-            offlineimap.__version__)
+-        self.bannerwin.addstr(0, 0, string, color)
+-        self.bannerwin.addstr(0, self.width -len(offlineimap.__copyright__) -1,
+-                              offlineimap.__copyright__, color)
++        string = "%s %s" % (offlineimap.__productname__,
++                            offlineimap.__version__)
++        spaces = " " * max(1, (self.width - len(offlineimap.__copyright__)
++                               - len(string) - 1))
++        string = "%s%s%s" % (string, spaces, offlineimap.__copyright__)
++        self.bannerwin.addnstr(0, 0, string, self.width - 1, color)
+         self.bannerwin.noutrefresh()
+ 
+     def draw_logwin(self):
diff -Nru offlineimap-7.0.12+dfsg1/debian/patches/series offlineimap-7.0.12+dfsg1/debian/patches/series
--- offlineimap-7.0.12+dfsg1/debian/patches/series	2016-12-01 13:04:11.000000000 +0200
+++ offlineimap-7.0.12+dfsg1/debian/patches/series	2017-05-03 18:29:54.000000000 +0300
@@ -1,2 +1,3 @@
 Do-not-use-the-Internet-to-fetch-DTD.patch
 Document-the-configuration-options-in-the-manpage.patch
+Acquire-lock-before-updating-the-CursesLogHandler-window.patch

--- End Message ---
--- Begin Message ---
Unblocked offlineimap.

--- End Message ---

Reply to: