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

Bug#861054: unblock rss2email/1:3.9-2.1



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

Dear release team,

please unblock version 1:3.9-2.1 of packaage rss2email. It fixes
#833114. Thanks.

Cheers,
-Hilko
diff -Nru rss2email-3.9/debian/changelog rss2email-3.9/debian/changelog
--- rss2email-3.9/debian/changelog	2015-11-23 22:02:41.000000000 +0100
+++ rss2email-3.9/debian/changelog	2017-04-22 00:29:25.000000000 +0200
@@ -1,3 +1,11 @@
+rss2email (1:3.9-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add upstream patch to deal with "OrderedDict mutated during iteration"
+    error (Closes: #833114)
+
+ -- Hilko Bengen <bengen@debian.org>  Sat, 22 Apr 2017 00:29:25 +0200
+
 rss2email (1:3.9-2) unstable; urgency=medium
 
   * Bump Standards-Version to 3.9.6 (no changes needed)
diff -Nru rss2email-3.9/debian/patches/833114.patch rss2email-3.9/debian/patches/833114.patch
--- rss2email-3.9/debian/patches/833114.patch	1970-01-01 01:00:00.000000000 +0100
+++ rss2email-3.9/debian/patches/833114.patch	2017-04-22 00:14:16.000000000 +0200
@@ -0,0 +1,49 @@
+From 60870d9ff7f23441919df79d710ad49ecbcedf73 Mon Sep 17 00:00:00 2001
+From: "W. Trevor King" <wking@tremily.us>
+Date: Wed, 25 Feb 2015 10:07:34 -0800
+Subject: [PATCH] feed: Don't pop from extra_headers while iterating over it
+
+Avoid:
+
+  Traceback (most recent call last):
+    ...
+      for k,v in extra_headers.items():
+    File "/.../Python-3.5.0a1/Lib/_collections_abc.py", line 503, in __iter__
+      for key in self._mapping:
+    File "/.../Python-3.5.0a1/Lib/collections/__init__.py", line 112, in __iter__
+      yield curr.key
+  AttributeError: 'NoneType' object has no attribute 'key'
+
+from continuing to iterate on items() after popping a key.  This
+worked in Python 3.4 but no longer works in Python 3.5.  In any case,
+mutating an object while iterating over it is always a bit
+questionable, so rephrase to find the keys in one pass, and then
+remove them after the iteration completes.
+
+Reported-by: Raniere Silva <raniere@ime.unicamp.br>
+Signed-off-by: W. Trevor King <wking@tremily.us>
+---
+ rss2email/feed.py | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/rss2email/feed.py b/rss2email/feed.py
+index ec5c4f6..f2750ef 100644
+--- a/rss2email/feed.py
++++ b/rss2email/feed.py
+@@ -470,9 +470,10 @@ class Feed (object):
+                 ('X-RSS-URL', self._get_entry_link(entry)),
+                 ('X-RSS-TAGS', self._get_entry_tags(entry)),
+                 ))
+-        for k,v in extra_headers.items():  # remove empty tags, etc.
+-            if v is None:
+-                extra_headers.pop(k)
++        # remove empty tags, etc.
++        keys = {k for k, v in extra_headers.items() if v is None}
++        for key in keys:
++            extra_headers.pop(key)
+         if self.bonus_header:
+             for header in self.bonus_header.splitlines():
+                 if ':' in header:
+-- 
+2.11.0
+
diff -Nru rss2email-3.9/debian/patches/series rss2email-3.9/debian/patches/series
--- rss2email-3.9/debian/patches/series	2015-11-23 22:02:34.000000000 +0100
+++ rss2email-3.9/debian/patches/series	2017-04-22 00:14:46.000000000 +0200
@@ -4,3 +4,4 @@
 sslv3.patch
 dont-overwrite-config.patch
 prettify.patch
+833114.patch

Reply to: