Bug#820439: imview: diff for NMU version 1.1.9c-12.1

Tobias Frost tobi at debian.org
Fri Apr 8 14:24:20 UTC 2016


Control: tags 820439 + patch
Control: tags 820439 + pending

Dear maintainer,

I've prepared an NMU for imview (versioned as 1.1.9c-12.1) and
uploaded it to DELAYED/5. Please feel free to tell me if I
should delay it longer.

Regards.
diff -Nru imview-1.1.9c/debian/changelog imview-1.1.9c/debian/changelog
--- imview-1.1.9c/debian/changelog	2013-05-07 21:00:45.000000000 +0200
+++ imview-1.1.9c/debian/changelog	2016-04-08 16:23:52.000000000 +0200
@@ -1,3 +1,10 @@
+imview (1.1.9c-12.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix for libpng1.6 (Closes: #820439)
+
+ -- Tobias Frost <tobi at debian.org>  Fri, 08 Apr 2016 16:23:52 +0200
+
 imview (1.1.9c-12) unstable; urgency=low
 
   [ Sebastian Ramacher ]
diff -Nru imview-1.1.9c/debian/patches/08_fix_libpng16.patch imview-1.1.9c/debian/patches/08_fix_libpng16.patch
--- imview-1.1.9c/debian/patches/08_fix_libpng16.patch	1970-01-01 01:00:00.000000000 +0100
+++ imview-1.1.9c/debian/patches/08_fix_libpng16.patch	2016-04-08 16:23:37.000000000 +0200
@@ -0,0 +1,80 @@
+Description: Patch for libpng1.6
+ libpng1.6 removed direct access of its member functions.
+Author: Tobias Frost <tobi at debian.org>
+Bug-Debian: https://bugs.debian.org/820439
+Forwarded: no
+Last-Update: 2016-04-08
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/io/readpng.cxx
++++ b/io/readpng.cxx
+@@ -96,7 +96,7 @@
+     pp   = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+     info = png_create_info_struct(pp);
+ 
+-    if (setjmp(pp->jmpbuf))
++    if (setjmp(png_jmpbuf(pp)))
+     {
+         errprintf("PNG file \"%s\" contains errors!\n", pngfilename);
+         return 103;
+@@ -108,28 +108,40 @@
+     // Get the image dimensions and convert to grayscale or RGB...
+     png_read_info(pp, info);
+ 
+-    if (info->color_type == PNG_COLOR_TYPE_PALETTE)
++    png_uint_32 width;
++    png_uint_32 height;
++    int bit_depth;
++    int color_type;
++    int interlace_type;
++    int compression_type;
++    int filter_method;
++
++    png_get_IHDR(pp, info, &width, &height,
++       &bit_depth, &color_type, &interlace_type,
++       &compression_type, &filter_method);
++
++    if (color_type == PNG_COLOR_TYPE_PALETTE)
+         png_set_expand(pp);
+ 
+-    if (info->color_type & PNG_COLOR_MASK_COLOR)
++    if (color_type & PNG_COLOR_MASK_COLOR)
+         channels = 3;
+     else
+         channels = 1;
+ 
+-    if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
++    if ((color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
+         channels ++;
+ 
+-    w = (int)(info->width);
+-    h = (int)(info->height);
++    w = (int)(width);
++    h = (int)(height);
+     d = channels;
+ 
+-    if (info->bit_depth < 8)
++    if (bit_depth < 8)
+     {
+         png_set_packing(pp);
+         png_set_expand(pp);
+     }
+     // we ought to read the 16-bit data correctly, since we can !
+-    else if (info->bit_depth == 16)
++    else if (bit_depth == 16)
+         png_set_strip_16(pp);
+ 
+ #  if defined(HAVE_PNG_GET_VALID) && defined(HAVE_PNG_SET_TRNS_TO_ALPHA)
+--- a/io/readpng.cxx
++++ b/io/readpng.cxx
+@@ -128,7 +128,9 @@
+     else
+         channels = 1;
+ 
+-    if ((color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
++    int num_trans;
++    png_get_tRNS(pp, info, NULL, &num_trans, NULL);
++    if ((color_type & PNG_COLOR_MASK_ALPHA) || num_trans)
+         channels ++;
+ 
+     w = (int)(width);
diff -Nru imview-1.1.9c/debian/patches/series imview-1.1.9c/debian/patches/series
--- imview-1.1.9c/debian/patches/series	2013-05-07 20:20:40.000000000 +0200
+++ imview-1.1.9c/debian/patches/series	2016-04-08 15:45:09.000000000 +0200
@@ -5,3 +5,4 @@
 05_fix_dangerous_use_of_strncpy.patch
 06_fix_format_not_a_string.patch
 07_fix_kfreebsd_FTBFS.patch
+08_fix_libpng16.patch



More information about the debian-science-maintainers mailing list