[Python-modules-team] Bug#948737: stretch-pu: package python-pgmagick/0.6.4-1+deb9u1
Adrian Bunk
bunk at debian.org
Sun Jan 12 18:27:35 GMT 2020
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org at packages.debian.org
Usertags: pu
https://tests.reproducible-builds.org/debian/rb-pkg/stretch/amd64/python-pgmagick.html
* Backport upstream FTBFS fix to handle version detection
of graphicsmagick security updates that identify themself
as version 1.4.
The fix is already included in the version in buster.
-------------- next part --------------
diff -Nru python-pgmagick-0.6.4/debian/changelog python-pgmagick-0.6.4/debian/changelog
--- python-pgmagick-0.6.4/debian/changelog 2017-01-22 15:45:47.000000000 +0200
+++ python-pgmagick-0.6.4/debian/changelog 2020-01-12 19:44:17.000000000 +0200
@@ -1,3 +1,12 @@
+python-pgmagick (0.6.4-1+deb9u1) stretch; urgency=medium
+
+ * Non-maintainer upload.
+ * Backport upstream FTBFS fix to handle version detection
+ of graphicsmagick security updates that identify themself
+ as version 1.4.
+
+ -- Adrian Bunk <bunk at debian.org> Sun, 12 Jan 2020 19:44:17 +0200
+
python-pgmagick (0.6.4-1) unstable; urgency=medium
* New upstream release
diff -Nru python-pgmagick-0.6.4/debian/patches/0001-Refactor-DPGMAGICK_LIB_GRAPHICSMAGICK-detection.patch python-pgmagick-0.6.4/debian/patches/0001-Refactor-DPGMAGICK_LIB_GRAPHICSMAGICK-detection.patch
--- python-pgmagick-0.6.4/debian/patches/0001-Refactor-DPGMAGICK_LIB_GRAPHICSMAGICK-detection.patch 1970-01-01 02:00:00.000000000 +0200
+++ python-pgmagick-0.6.4/debian/patches/0001-Refactor-DPGMAGICK_LIB_GRAPHICSMAGICK-detection.patch 2020-01-12 19:43:47.000000000 +0200
@@ -0,0 +1,65 @@
+From 360e1d7e833189339146dc633176ccda15be04d6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Juraj=20Koma=C4=8Dka?= <komackaj at gmail.com>
+Date: Wed, 12 Jul 2017 08:11:55 +0200
+Subject: Refactor -DPGMAGICK_LIB_GRAPHICSMAGICK detection
+
+Use new function library_supports_api that will provide easy way to support different major and minor versions in the future.
+---
+ setup.py | 34 ++++++++++++++++++++++------------
+ 1 file changed, 22 insertions(+), 12 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 00a1bde..b32e1a4 100644
+--- a/setup.py
++++ b/setup.py
+@@ -75,6 +75,24 @@ def find_file(filename, search_dirs):
+ return root
+ return False
+
++def library_supports_api(library_version, api_version, different_major_breaks_support=True):
++ """
++ Returns whether api_version is supported by given library version.
++ E. g. library_version (1,3,21) returns True for api_version (1,3,21), (1,3,19), (1,3,'x'), (1,2,'x'), (1, 'x')
++ False for (1,3,24), (1,4,'x'), (2,'x')
++
++ different_major_breaks_support - if enabled and library and api major versions are different always return False
++ ex) with library_version (2,0,0) and for api_version(1,3,24) returns False if enabled, True if disabled
++ """
++ assert isinstance(library_version, (tuple, list)) # won't work with e.g. generators
++ assert len(library_version) == 3
++ sequence_type = type(library_version) # assure we will compare same types
++ api_version = sequence_type(0 if num == 'x' else num for num in api_version)
++ if different_major_breaks_support and library_version[0] != api_version[0]:
++ return False
++ assert len(api_version) <= 3 # otherwise following comparision won't work as intended, e.g. (2, 0, 0) > (2, 0, 0, 0)
++ return library_version >= api_version
++
+ # find to header path
+ header_path = find_file('Magick++.h', search_include_dirs)
+ if not header_path:
+@@ -138,18 +156,10 @@ if _version:
+ # ex) 1.2 -> 1.2.0
+ _version.append(0)
+ if LIBRARY == 'GraphicsMagick':
+- ext_compile_args = []
+- if _version[0] == 1 and _version[1] == 3 and _version[2] >= 24:
+- ext_compile_args.append("-DPGMAGICK_LIB_GRAPHICSMAGICK_1_3_24")
+- if _version[0] == 1 and _version[1] == 3 and _version[2] >= 22:
+- ext_compile_args.append("-DPGMAGICK_LIB_GRAPHICSMAGICK_1_3_22")
+- if _version[0] == 1 and _version[1] == 3 and _version[2] >= 20:
+- ext_compile_args.append("-DPGMAGICK_LIB_GRAPHICSMAGICK_1_3_20")
+- if _version[0] == 1 and _version[1] == 3 and _version[2] == 19:
+- ext_compile_args.append("-DPGMAGICK_LIB_GRAPHICSMAGICK_1_3_19")
+- if _version[0] == 1 and _version[1] == 3 and _version[2] >= 6:
+- # for not Ubuntu10.04
+- ext_compile_args.append("-DPGMAGICK_LIB_GRAPHICSMAGICK_1_3_6")
++ # 1.3.6 for not Ubuntu10.04
++ _tested_api_versions = ((1,3,26), (1,3,24), (1,3,22), (1,3,20), (1,3,19), (1,3,6))
++ _supportedApiVersions = (v for v in _tested_api_versions if library_supports_api(_version, v))
++ ext_compile_args = ["-DPGMAGICK_LIB_GRAPHICSMAGICK_" + '_'.join(map(str, version)) for version in _supportedApiVersions]
+ if not (_version[0] == 1 and _version[1] == 1):
+ # for GM version 1.3.x and higher
+ ext_compile_args.append("-DPGMAGICK_LIB_GRAPHICSMAGICK_1_3_x")
+--
+2.20.1
+
diff -Nru python-pgmagick-0.6.4/debian/patches/series python-pgmagick-0.6.4/debian/patches/series
--- python-pgmagick-0.6.4/debian/patches/series 1970-01-01 02:00:00.000000000 +0200
+++ python-pgmagick-0.6.4/debian/patches/series 2020-01-12 19:38:30.000000000 +0200
@@ -0,0 +1 @@
+0001-Refactor-DPGMAGICK_LIB_GRAPHICSMAGICK-detection.patch
More information about the Python-modules-team
mailing list