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

Bug#787806: jessie-pu: package python-reportlab/3.1.8-3+deb8u1



Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Hello,

I would like to update python-reportlab in jessie as it suffers from a
regression compared to wheezy in the way it handles PNG with transparency
(see #785023 for details). Working code now throws exceptions when it
processes such files.

The patch we used is an upstream patch and the modified code is thus
in use in unstable in the new upstream version that just landed (3.2.0-1).

I checked with the bug reporter that the proposed update does fix
the issue with him.

The debdiff is attached.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Support Debian LTS: http://www.freexian.com/services/debian-lts.html
Learn to master Debian: http://debian-handbook.info/get/
diff -Nru python-reportlab-3.1.8/debian/changelog python-reportlab-3.1.8/debian/changelog
--- python-reportlab-3.1.8/debian/changelog	2014-08-18 16:44:41.000000000 +0200
+++ python-reportlab-3.1.8/debian/changelog	2015-06-03 21:10:38.000000000 +0200
@@ -1,3 +1,12 @@
+python-reportlab (3.1.8-3+deb8u1) jessie; urgency=medium
+
+  * Non-maintainer upload.
+  * Add handle-png-with-transparency.patch to avoid failing when reading
+    a PNG with transparency. Closes: #785023
+    This fixes a regression compared to the version in Wheezy.
+
+ -- Raphaël Hertzog <hertzog@debian.org>  Wed, 03 Jun 2015 21:04:12 +0200
+
 python-reportlab (3.1.8-3) unstable; urgency=medium
 
   * Build-depend on dh-python.
diff -Nru python-reportlab-3.1.8/debian/patches/handle-png-with-transparency.patch python-reportlab-3.1.8/debian/patches/handle-png-with-transparency.patch
--- python-reportlab-3.1.8/debian/patches/handle-png-with-transparency.patch	1970-01-01 01:00:00.000000000 +0100
+++ python-reportlab-3.1.8/debian/patches/handle-png-with-transparency.patch	2015-06-03 21:08:58.000000000 +0200
@@ -0,0 +1,33 @@
+Description: ImageReader handle png indexed with transparency specially
+Bug-Debian: https://bugs.debian.org/785023
+Origin: upstream, https://bitbucket.org/rptlab/reportlab/commits/7df61e325601580bc36db042c6d6a8a776f62eef
+
+diff --git a/src/reportlab/lib/utils.py b/src/reportlab/lib/utils.py
+--- a/src/reportlab/lib/utils.py
++++ b/src/reportlab/lib/utils.py
+@@ -823,7 +823,12 @@
+                         im = im.convert('RGB')
+                         self.mode = 'RGB'
+                     elif mode not in ('L','RGB','CMYK'):
+-                        im = im.convert('RGB')
++                        if im.format=='PNG' and im.mode=='P' and 'transparency' in im.info:
++                            im = im.convert('RGBA')
++                            self._dataA = ImageReader(im.split()[3])
++                            im = im.convert('RGB')
++                        else:
++                            im = im.convert('RGB')
+                         self.mode = 'RGB'
+                     if hasattr(im, 'tobytes'):  #make pillow and PIL both happy, for now
+                         self._data = im.tobytes()
+diff --git a/tests/test_pdfgen_general.py b/tests/test_pdfgen_general.py
+--- a/tests/test_pdfgen_general.py
++++ b/tests/test_pdfgen_general.py
+@@ -715,6 +715,8 @@
+     if haveImages:
+         c.drawImage(gif, 1*inch, 1.2*inch, w, h, mask=myMask)
+         c.drawImage(gif, 3*inch, 1.2*inch, w, h, mask='auto')
++        c.drawImage(os.path.join(testsFolder,'test-rgba.png'),5*inch,1.2*inch,width=10,height=10,mask='auto')
++        c.drawImage(os.path.join(testsFolder,'test-indexed.png'),5.5*inch,1.2*inch,width=10,height=10,mask='auto')
+     else:
+         c.rect(1*inch, 1.2*inch, w, h)
+         c.rect(3*inch, 1.2*inch, w, h)
diff -Nru python-reportlab-3.1.8/debian/patches/series python-reportlab-3.1.8/debian/patches/series
--- python-reportlab-3.1.8/debian/patches/series	2014-08-11 23:31:18.000000000 +0200
+++ python-reportlab-3.1.8/debian/patches/series	2015-06-03 21:10:54.000000000 +0200
@@ -1 +1,2 @@
 gsfonts.diff
+handle-png-with-transparency.patch

Reply to: