[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