--- Begin Message ---
Package: pngmeta
Version: 1.11-7
Severity: normal
Tags: patch pending
Dear maintainer,
I've prepared an NMU for pngmeta (versioned as 1.11-7.1) and
uploaded it to DELAYED/5. Please feel free to tell me if I
should delay it longer.
Regards.
diff -u pngmeta-1.11/pngmeta.c pngmeta-1.11/pngmeta.c
--- pngmeta-1.11/pngmeta.c
+++ pngmeta-1.11/pngmeta.c
@@ -51,6 +51,9 @@
/* Needed to access various internal PNG chunk routines */
#define PNG_INTERNAL
#include <png.h>
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+#include <zlib.h>
+#endif
#ifdef __TURBOC__
#include <mem.h>
@@ -463,7 +466,11 @@
}
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ if (setjmp(png_jmpbuf((png_ptr))))
+#else
if (setjmp(png_ptr->jmpbuf))
+#endif
{
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
fprintf(STDERR, "%s: libpng read error for %s\n", progname, pngfile);
@@ -497,21 +504,33 @@
*/
char value[80]; /* Sorry for the fixed-size buffer (big enough) */
-
+ png_uint_32 height, width;
+ int bit_depth, color_type, interlace_type;
+
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth,
&color_type, &interlace_type, NULL, NULL);
+#else
+ bit_depth = info_ptr->bit_depth;
+ width = info_ptr->width;
+ height = info_ptr->height;
+ color_type = info_ptr->color_type;
+ interlace_type = info_ptr->interlace_type;
+#endif
+
print_kv(out_fp, output_type, "image-format", "PNG");
-
- sprintf(value, "%d", info_ptr->bit_depth);
+
+ sprintf(value, "%d", bit_depth);
print_kv(out_fp, output_type, "image-colors", value);
- sprintf(value, "%ld", info_ptr->width);
+ sprintf(value, "%ld", width);
print_kv(out_fp, output_type, "image-width", value);
- sprintf(value, "%ld", info_ptr->height);
+ sprintf(value, "%ld", height);
print_kv(out_fp, output_type, "image-height", value);
sprintf(value, "%s, %sinterlaced",
- (info_ptr->color_type>6) ? png_color_type[1] :
png_color_type[info_ptr->color_type],
- info_ptr->interlace_type ? "" : "non-");
+ (color_type>6) ? png_color_type[1] : png_color_type[color_type],
+ interlace_type ? "" : "non-");
print_kv(out_fp, output_type, "image-type", value);
}
@@ -531,15 +550,30 @@
print_kv(out_fp, output_type, end_info->text[i].key,
end_info->text[i].text);
#endif
-
+
+ {
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ int valid = png_get_valid(png_ptr, info_ptr, 0);
+ int end_valid = png_get_valid(png_ptr, end_info, 0);
+ png_timep *mod_time, *end_mod_time;
+
+ png_get_tIME(png_ptr, info_ptr, mod_time);
+ png_get_tIME(png_ptr, end_info, end_mod_time);
+#else
+ int valid = info_ptr->valid;
+ int end_valid = end_info->valid;
+ png_timep *mod_time = &info_ptr->mod_time;
+ png_timep *end_mod_time = &end_info->mod_time;
+#endif
+
/* Print modification time (tIME chunk) if present */
- if (info_ptr->valid & PNG_INFO_tIME)
+ if (valid & PNG_INFO_tIME)
print_kv(out_fp, output_type, "Modification Time",
- png_convert_to_rfc1123(png_ptr, &info_ptr->mod_time));
- else if (end_info->valid & PNG_INFO_tIME)
+ png_convert_to_rfc1123(png_ptr, &mod_time));
+ else if (end_valid & PNG_INFO_tIME)
print_kv(out_fp, output_type, "Modification Time",
- png_convert_to_rfc1123(png_ptr, &end_info->mod_time));
-
+ png_convert_to_rfc1123(png_ptr, &end_mod_time));
+ }
print_end_image(out_fp, output_type);
@@ -550,9 +584,8 @@
print_finish(out_fp, output_type);
-
/* Cleanup */
- png_read_destroy(png_ptr, info_ptr, end_info);
+ png_destroy_read_struct(png_ptr, info_ptr, end_info);
fclose(in_fp);
diff -u pngmeta-1.11/debian/changelog pngmeta-1.11/debian/changelog
--- pngmeta-1.11/debian/changelog
+++ pngmeta-1.11/debian/changelog
@@ -1,3 +1,11 @@
+pngmeta (1.11-7.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix "FTBFS with libpng 1.5", apply patch from Nobuhiro (Closes: #636998)
+ * Replace png_read_destroy with png_read_destroy_struct (Closes: #808534)
+
+ -- Tobias Frost <[email protected]> Wed, 06 Jan 2016 23:46:51 +0100
+
pngmeta (1.11-7) unstable; urgency=low
* Change of address.
--- End Message ---