Accepting request 980378 from home:mcalabkova:branches:devel:languages:python

- Add patch tiff-readcount.patch to fix build with the new tiff

OBS-URL: https://build.opensuse.org/request/show/980378
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Pillow?expand=0&rev=129
This commit is contained in:
Oliver Kurz 2022-06-01 15:44:59 +00:00 committed by Git OBS Bridge
parent d5dc9f519d
commit 2fcadec505
3 changed files with 51 additions and 0 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Wed Jun 1 12:28:33 UTC 2022 - Markéta Machová <mmachova@suse.com>
- Add patch tiff-readcount.patch to fix build with the new tiff
-------------------------------------------------------------------
Sun May 29 18:37:16 UTC 2022 - Dirk Müller <dmueller@suse.com>

View File

@ -26,6 +26,8 @@ Summary: Python Imaging Library (Fork)
License: HPND
URL: https://python-pillow.org/
Source: https://files.pythonhosted.org/packages/source/P/Pillow/Pillow-%{version}.tar.gz
# PATCH-FIX-UPSTREAM https://github.com/python-pillow/Pillow/commit/40a918d274182b7d7c063d7797fb77d967982c4a Set readcount to TIFF_VARIABLE for a variable number of values
Patch0: tiff-readcount.patch
BuildRequires: %{python_module devel >= 3.7}
BuildRequires: %{python_module olefile}
BuildRequires: %{python_module pytest >= 4.0}

44
tiff-readcount.patch Normal file
View File

@ -0,0 +1,44 @@
From 40a918d274182b7d7c063d7797fb77d967982c4a Mon Sep 17 00:00:00 2001
From: Andrew Murray <radarhere@users.noreply.github.com>
Date: Sat, 28 May 2022 20:14:05 +1000
Subject: [PATCH] Set readcount to TIFF_VARIABLE for a variable number of
values
---
src/libImaging/TiffDecode.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c
index f818f19d50..3bb444c804 100644
--- a/src/libImaging/TiffDecode.c
+++ b/src/libImaging/TiffDecode.c
@@ -815,11 +815,11 @@ ImagingLibTiffMergeFieldInfo(
// custom fields added with ImagingLibTiffMergeFieldInfo are only used for
// decoding, ignore readcount;
- int readcount = 1;
+ int readcount = is_var_length ? TIFF_VARIABLE : 1;
// we support writing a single value, or a variable number of values
- int writecount = 1;
+ int writecount = is_var_length ? TIFF_VARIABLE : 1;
// whether the first value should encode the number of values.
- int passcount = 0;
+ int passcount = (is_var_length && field_type != TIFF_ASCII) ? 1 : 0;
TIFFFieldInfo info[] = {
{key,
@@ -831,14 +831,6 @@ ImagingLibTiffMergeFieldInfo(
passcount,
"CustomField"}};
- if (is_var_length) {
- info[0].field_writecount = -1;
- }
-
- if (is_var_length && field_type != TIFF_ASCII) {
- info[0].field_passcount = 1;
- }
-
n = sizeof(info) / sizeof(info[0]);
// Test for libtiff 4.0 or later, excluding libtiff 3.9.6 and 3.9.7