tags 331068 patch tags 338659 patch tags 330026 patch thanks Hello,
The enclosed patch will allow pngcrush to build and the resulting binary seems to work but I don't know if the developer wants to do things this way. Upstream author wishes to make use of the png and zlib routines that are provided with the pngcrush source rather than the libpng and zlib packages. So we build directly using Makefile.gcc after reverting part of the maintainer's patch to pngcrush.c. This increases the size of the binary to about double. Regards, Kapil. encl: interdiff --
diff -u pngcrush-1.5.10/pngcrush.c pngcrush-1.5.10/pngcrush.c --- pngcrush-1.5.10/pngcrush.c +++ pngcrush-1.5.10/pngcrush.c @@ -416,7 +416,7 @@ */ #define PNG_INTERNAL -#include <png.h> +#include "png.h" /* we don't need the some of the extra libpng transformations * so they are ifdef'ed out in a special version of pngconf.h, which @@ -2394,6 +2394,7 @@ outname=out_string; } + if(pngcrush_mode == DIRECTORY_MODE || pngcrush_mode == DIREX_MODE) { #ifdef __riscos @@ -2819,14 +2820,14 @@ #endif #if defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) - png_set_keep_unknown_chunks(read_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(read_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)NULL, 0); #endif #if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED) if(nosave == 0) { if(all_chunks_are_safe) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)NULL, 0); else { @@ -2858,47 +2859,47 @@ if(keep_unknown_chunk("alla",argv) && keep_unknown_chunk("allb",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_IF_SAFE, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_IF_SAFE, (png_bytep)NULL, 0); else - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_NEVER, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_NEVER, (png_bytep)NULL, 0); /* Process the following chunks as if safe-to-copy since it is known that recompressing the IDAT chunks has no effect on them */ #if !defined(PNG_cHRM_SUPPORTED) if(keep_unknown_chunk("cHRM",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)png_cHRM, 1); #endif #if !defined(PNG_hIST_SUPPORTED) if(keep_unknown_chunk("hIST",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)png_hIST, 1); #endif #if !defined(PNG_iCCP_SUPPORTED) if(keep_unknown_chunk("iCCP",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)png_iCCP, 1); #endif #if !defined(PNG_sCAL_SUPPORTED) if(keep_unknown_chunk("sCAL",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)png_sCAL, 1); #endif #if !defined(PNG_pCAL_SUPPORTED) if(keep_unknown_chunk("pCAL",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)png_pCAL, 1); #endif #if !defined(PNG_sPLT_SUPPORTED) if(keep_unknown_chunk("sPLT",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)png_sPLT, 1); #endif #if !defined(PNG_tIME_SUPPORTED) if(keep_unknown_chunk("tIME",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, (png_bytep)png_tIME, 1); #endif #else /* PNG_UINT_IHDR is defined; we are using libpng newer than 1.0.6 */ @@ -2913,17 +2914,17 @@ if(keep_unknown_chunk("alla",argv) && keep_unknown_chunk("allb",argv)) - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_IF_SAFE, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_IF_SAFE, (png_bytep)NULL, 0); else - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_NEVER, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_NEVER, (png_bytep)NULL, 0); #if !defined(PNG_cHRM_SUPPORTED) if(keep_unknown_chunk("cHRM",argv)) { png_save_uint_32(chunk_name, PNG_UINT_cHRM); - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, chunk_name, 1); } #endif @@ -2931,7 +2932,7 @@ if(keep_unknown_chunk("hIST",argv)) { png_save_uint_32(chunk_name, PNG_UINT_hIST); - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, chunk_name, 1); } #endif @@ -2939,7 +2940,7 @@ if(keep_unknown_chunk("iCCP",argv)) { png_save_uint_32(chunk_name, PNG_UINT_iCCP); - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, chunk_name, 1); } #endif @@ -2947,7 +2948,7 @@ if(keep_unknown_chunk("sCAL",argv)) { png_save_uint_32(chunk_name, PNG_UINT_sCAL); - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, chunk_name, 1); } #endif @@ -2955,7 +2956,7 @@ if(keep_unknown_chunk("pCAL",argv)) { png_save_uint_32(chunk_name, PNG_UINT_pCAL); - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, chunk_name, 1); } #endif @@ -2963,7 +2964,7 @@ if(keep_unknown_chunk("sPLT",argv)) { png_save_uint_32(chunk_name, PNG_UINT_sPLT); - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, chunk_name, 1); } #endif @@ -2971,7 +2972,7 @@ if(keep_unknown_chunk("tIME",argv)) { png_save_uint_32(chunk_name, PNG_UINT_tIME); - png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_ALWAYS, + png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_ALWAYS, chunk_name, 1); } #endif diff -u pngcrush-1.5.10/debian/rules pngcrush-1.5.10/debian/rules --- pngcrush-1.5.10/debian/rules +++ pngcrush-1.5.10/debian/rules @@ -20,7 +20,7 @@ build-stamp: dh_testdir - $(MAKE) + $(MAKE) -f Makefile.gcc /usr/bin/docbook-to-man debian/pngcrush.sgml > debian/pngcrush.1 touch build-stamp @@ -31,7 +31,7 @@ rm -f build-stamp configure-stamp debian/pngcrush.1 # Add here commands to clean up after the build process. - -$(MAKE) clean + -$(MAKE) -f Makefile.gcc clean dh_clean
signature.asc
Description: Digital signature