[arch-commits] Commit in python-pillow/trunk (PKGBUILD pull325.diff)

Kyle Keen kkeen at nymeria.archlinux.org
Sun Sep 15 21:52:25 UTC 2013


    Date: Sunday, September 15, 2013 @ 23:52:25
  Author: kkeen
Revision: 97264

upgpkg: python-pillow 2.1.0-5, fix FS#36945

Added:
  python-pillow/trunk/pull325.diff
Modified:
  python-pillow/trunk/PKGBUILD

--------------+
 PKGBUILD     |   10 +++++++---
 pull325.diff |   38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-09-15 21:50:11 UTC (rev 97263)
+++ PKGBUILD	2013-09-15 21:52:25 UTC (rev 97264)
@@ -6,14 +6,17 @@
 pkgname=(python-pillow python2-pillow)
 _appname=Pillow
 pkgver=2.1.0
-pkgrel=4
+pkgrel=5
 pkgdesc="Python Imaging Library (PIL) fork. Python3 version."
 arch=('i686' 'x86_64')
 url="http://python-imaging.github.io/"
 license=('BSD')
 makedepends=('python-setuptools' 'python2-setuptools' 'lcms' 'libwebp' 'tk' 'sane')
-source=("http://pypi.python.org/packages/source/P/$_appname/$_appname-$pkgver.zip")
-md5sums=('ec630d8ae15d4a3c4ae7b7efdeac8200')
+# remove pull325.diff on 2.1.1 release, fixes FS#36945
+source=("http://pypi.python.org/packages/source/P/$_appname/$_appname-$pkgver.zip"
+  "pull325.diff")
+md5sums=('ec630d8ae15d4a3c4ae7b7efdeac8200'
+         'aa3fa12bd2d61041f6d01fedddab39fb')
 
 build() {
   cd "$srcdir"
@@ -49,6 +52,7 @@
   conflicts=('python-imaging' 'python2-imaging')
   replaces=('python2-imaging')
   cd "$srcdir/${_appname}2-$pkgver"
+  patch -Np1 -i ../pull325.diff
   python2 setup.py install --root="$pkgdir/" --optimize=0
   pushd Sane
     python2 setup.py install --root="$pkgdir/" --optimize=0

Added: pull325.diff
===================================================================
--- pull325.diff	                        (rev 0)
+++ pull325.diff	2013-09-15 21:52:25 UTC (rev 97264)
@@ -0,0 +1,38 @@
+diff --git a/PIL/Image.py b/PIL/Image.py
+index bb15aaa..2e120e5 100644
+--- a/PIL/Image.py
++++ b/PIL/Image.py
+@@ -706,7 +706,7 @@ def convert(self, mode=None, data=None, dither=None,
+         if self.mode == "L" and mode == "RGBA" and "transparency" in self.info:
+             from PIL import ImagePalette
+             self.mode = "P"
+-            bytePalette = bytes([i//3 for i in range(768)])
++            bytePalette = bytes(bytearray([i//3 for i in range(768)]))
+             self.palette = ImagePalette.raw("RGB", bytePalette)
+             self.palette.dirty = 1
+             self.load()
+diff --git a/_imaging.c b/_imaging.c
+index 9f48030..84f06e9 100644
+--- a/_imaging.c
++++ b/_imaging.c
+@@ -287,6 +287,7 @@ int PyImaging_GetBuffer(PyObject* buffer, Py_buffer *view)
+ static const char* wrong_raw_mode = "unrecognized raw mode";
+ static const char* outside_image = "image index out of range";
+ static const char* outside_palette = "palette index out of range";
++static const char* wrong_palette_size = "invalid palette size";
+ static const char* no_palette = "image has no palette";
+ static const char* readonly = "image is readonly";
+ /* static const char* no_content = "image has no content"; */
+@@ -1413,6 +1414,11 @@ int PyImaging_GetBuffer(PyObject* buffer, Py_buffer *view)
+     return NULL;
+     }
+ 
++    if ( palettesize * 8 / bits > 256) {
++    PyErr_SetString(PyExc_ValueError, wrong_palette_size);
++    return NULL;
++    }
++
+     ImagingPaletteDelete(self->image->palette);
+ 
+     strcpy(self->image->mode, "P");
+




More information about the arch-commits mailing list