Hi Jackson, I noticed that you also commited changes to Git which is *very* appreciated.
For the patch below (and also for your commits): There is no point in adding the upstream changes to a patch and if you inject the latest upstream source please use git import-orig --pristine-tar <upstreamtarball> I did so now (please `git pull`). Just ping me if you have finished possibly other changes. Kind regards Andreas. On Tue, Jan 21, 2014 at 04:25:18PM +1100, Jackson Doak wrote: > package: pngquant > version: 2.0.1-1 > tags: patch > priority: wishlist > > A new release of pngquant is now out. Could it please be uploaded? I have > included an upload ready debdiff. > diff -Nru pngquant-2.0.1/debian/changelog pngquant-2.0.2/debian/changelog > --- pngquant-2.0.1/debian/changelog 2013-11-26 08:46:18.000000000 +1100 > +++ pngquant-2.0.2/debian/changelog 2014-01-21 16:22:51.000000000 +1100 > @@ -1,3 +1,10 @@ > +pngquant (2.0.2-1) UNRELEASED; urgency=medium > + > + * New upstream release > + * Use upstream's manpage, it's more complete > + > + -- Jackson Doak <nosk...@ubuntu.com> Tue, 21 Jan 2014 16:20:54 +1100 > + > pngquant (2.0.1-1) unstable; urgency=low > > * New upstream version > diff -Nru pngquant-2.0.1/debian/manpages pngquant-2.0.2/debian/manpages > --- pngquant-2.0.1/debian/manpages 2013-11-26 08:46:18.000000000 +1100 > +++ pngquant-2.0.2/debian/manpages 2014-01-21 16:22:32.000000000 +1100 > @@ -1 +1 @@ > -debian/pngquant.1 > +pngquant.1 > diff -Nru pngquant-2.0.1/debian/pngquant.1 pngquant-2.0.2/debian/pngquant.1 > --- pngquant-2.0.1/debian/pngquant.1 2013-11-26 08:46:18.000000000 +1100 > +++ pngquant-2.0.2/debian/pngquant.1 1970-01-01 10:00:00.000000000 +1000 > @@ -1,42 +0,0 @@ > -.TH PNGQUANT 1 "Thu, 07 Dec 2006 00:33:40 -0200" > -.SH NAME > -pngquant \- PNG image optimising utility > -.SH SYNOPSIS > -.B pngquant > -.RI "[ options ] <ncolors> [pngfile [pngfile ...]]" > -.br > -.B pngquant > -.RI "[ options ] \-map mapfile [pngfile [pngfile ...]]" > -.br > -.PP > -Note that it's \fBrequired\fP to specify the number of colors > (\fI<ncolors>\fP) or the \fImapfile\fP. Arguments in square brackets are > optional. > -.SH DESCRIPTION > -This manual page documents briefly the > -.B pngquant > -command. > -.PP > -\fBpngquant\fP quantizes one or more 32-bit RGBA PNGs to 8-bit (or smaller) > RGBA-palette PNGs using either ordered dithering or Floyd-Steinberg diffusion > dithering (default). The output filename is the same as the input name except > that it ends in \fI-fs8.png\fP or \fI-or8.png\fP (unless the input is stdin, > in which case the quantized image will go to stdout). The default behavior > if the output file exists is to skip the conversion; use \fI-force\fP to > overwrite. > -.SH OPTIONS > -.TP > -.B \-force > -Overwrite existing output files. > -.TP > -.B \-ordened, \-nofloyd, \-nofs > -Use ordered dithering. > -.TP > -.B \-verbose, \-noquiet > -Print status messages. > -.TP > -.B NOTE: > -the \-map option is NOT YET SUPPORTED. > -.SH EXAMPLE > -Creating a new image with the number of colors reduced to 64: > -.TP > - pngquant 64 image.png > -.TP > -The resulting image will have 64 colors and will be saved as > \fBimage-fs8.png\fP. > -.SH AUTHOR > -pngquant was written by Greg Roelofs <n...@pobox.com>. > -.PP > -This manual page was written by Nelson A. de Oliveira <nao...@debian.org>, > -for the Debian project (but may be used by others). > diff -Nru pngquant-2.0.1/INSTALL pngquant-2.0.2/INSTALL > --- pngquant-2.0.1/INSTALL 2013-10-24 09:20:48.000000000 +1100 > +++ pngquant-2.0.2/INSTALL 2014-01-17 09:12:45.000000000 +1100 > @@ -14,6 +14,7 @@ > pngquant uses GNU Makefile. To compile on FreeBSD you will need to use gmake, > and on Windows the MinGW compiler (MSVC does not support C99). > > +pngquant will compile with libpng 1.2, but you should use 1.5 or later. > > ##Compilation with OpenMP > > diff -Nru pngquant-2.0.1/lib/libimagequant.c > pngquant-2.0.2/lib/libimagequant.c > --- pngquant-2.0.1/lib/libimagequant.c 2013-10-24 09:20:48.000000000 > +1100 > +++ pngquant-2.0.2/lib/libimagequant.c 2014-01-17 09:12:45.000000000 > +1100 > @@ -68,12 +68,6 @@ > void *log_flush_callback_user_info; > }; > > -struct pngquant_options { > - liq_attr *liq; > - liq_image *fixed_palette_image; > - bool floyd, using_stdin, force, ie_mode; > -}; > - > struct liq_image { > const char *magic_header; > void* (*malloc)(size_t); > diff -Nru pngquant-2.0.1/lib/libimagequant.h > pngquant-2.0.2/lib/libimagequant.h > --- pngquant-2.0.1/lib/libimagequant.h 2013-10-24 09:20:48.000000000 > +1100 > +++ pngquant-2.0.2/lib/libimagequant.h 2014-01-17 09:12:45.000000000 > +1100 > @@ -1,6 +1,6 @@ > -// > -// http://pngquant.org > -// > +/* > + * http://pngquant.org > + */ > > #ifndef LIBIMAGEQUANT_H > #define LIBIMAGEQUANT_H > diff -Nru pngquant-2.0.1/lib/Makefile pngquant-2.0.2/lib/Makefile > --- pngquant-2.0.1/lib/Makefile 2013-10-24 09:20:48.000000000 +1100 > +++ pngquant-2.0.2/lib/Makefile 2014-01-17 09:12:45.000000000 +1100 > @@ -9,11 +9,15 @@ > DLLIMP=libimagequant_dll.a > DLLDEF=libimagequant_dll.def > > -CFLAGSOPT ?= -DNDEBUG -O3 -fstrict-aliasing -ffast-math -funroll-loops > -fomit-frame-pointer -ffinite-math-only > +CFLAGSOPT ?= -DNDEBUG -O3 -ffast-math -funroll-loops -fomit-frame-pointer > > CFLAGS ?= -Wall -Wno-unknown-pragmas -I. $(CFLAGSOPT) > CFLAGS += -std=c99 $(CFLAGSADD) > > +ifdef USE_SSE > +CFLAGS += -DUSE_SSE=$(USE_SSE) > +endif > + > OBJS = pam.o mediancut.o blur.o mempool.o viter.o nearest.o libimagequant.o > > BUILD_CONFIGURATION="$(CC) $(CFLAGS) $(LDFLAGS)" > @@ -30,10 +34,10 @@ > $(MAKE) CFLAGSADD="-DLIQ_EXPORT='__declspec(dllexport)'" $(DLL) > > openmp:: > - $(MAKE) CFLAGSADD=-fopenmp OPENMPFLAGS="-Bstatic -lgomp" -j8 > -$(MAKEFLAGS) > + $(MAKE) CFLAGSADD=-fopenmp OPENMPFLAGS="-Bstatic -lgomp" -j8 > > $(DLL) $(DLLIMP): $(OBJS) > - $(CC) -shared -o $(DLL) $(OBJS) $(LDFLAGS) > -Wl,--out-implib,$(DLLIMP),--output-def,$(DLLDEF) > + $(CC) -fPIC -shared -o $(DLL) $(OBJS) $(LDFLAGS) > -Wl,--out-implib,$(DLLIMP),--output-def,$(DLLDEF) > > $(STATICLIB): $(OBJS) > $(AR) $(ARFLAGS) $@ $^ > diff -Nru pngquant-2.0.1/lib/MANUAL.md pngquant-2.0.2/lib/MANUAL.md > --- pngquant-2.0.1/lib/MANUAL.md 2013-10-24 09:20:48.000000000 +1100 > +++ pngquant-2.0.2/lib/MANUAL.md 2014-01-17 09:12:45.000000000 +1100 > @@ -1,42 +1,44 @@ > -#libimagequant—Image Quantization Library > +# libimagequant—Image Quantization Library > > Small, portable C library for high-quality conversion of RGBA images to > 8-bit indexed-color (palette) images. > It's powering [pngquant2](http://pngquant.org). > > -##License > +## License > > > [BSD-like](https://raw.github.com/pornel/improved-pngquant/master/lib/COPYRIGHT). > It can be linked with both free and closed-source software. > > -##Download > +## Download > > -The library is currently a part of the [pngquant2 > project](https://github.com/pornel/improved-pngquant/tree/lib/lib). > +The [library](http://pngquant.org/lib) is currently a part of the [pngquant2 > project](https://github.com/pornel/improved-pngquant/tree/lib/lib). > > -Files needed for the library are only in the `lib/` directory inside the > repository. > +Files needed for the library are only in the `lib/` directory inside the > repository (and you can ignore the rest). > > -##Compiling and Linking > +## Compiling and Linking > > The library can be linked with ANSI C and C++ programs. It has no external > dependencies. > > -To build it run: > +To build on Unix-like systems run: > > make -C lib > > it will create `lib/libimagequant.a` which you can link with your program. > > - gcc yourprogram.c lib/libimagequant.a > + gcc yourprogram.c /path/to/lib/libimagequant.a > > Alternatively you can compile the library with your program simply by > including all `.c` files (and define `NDEBUG` to get fast build): > > gcc -std=c99 -O3 -DNDEBUG lib/*.c yourprogram.c > > -###Compiling on Windows > +### Compiling on Windows/Visual Studio > > -The library can be compiled with any C compiler that has at least basic > support for C99 (GCC, clang, ICC, C++ Builder, even Tiny C Compiler). > Unfortunately as of 2013 Visual Studio (MSVC) has not yet been updated to > support C newer than the 1989 version. > +The library can be compiled with any C compiler that has at least basic > support for C99 (GCC, clang, ICC, C++ Builder, even Tiny C Compiler), but > Visual Studio 2012 and older are not up to date with the 1999 C standard. > There are 3 options for using `libimagequant` with Visual Studio: > > -On Windows you can compile the library with GCC from MinGW or Cygwin. Use > GCC to build `libimagequant.a` (using instructions above) and add it along > with `libgcc.a` (shipped with the compiler) to your VC project. > + * Use Visual Studio **2013** (MSVC12) or newer. > + * Or use GCC from [MinGW](http://www.mingw.org). Use GCC to build > `libimagequant.a` (using above instructions for Unix) and add it along with > `libgcc.a` (shipped with the MinGW compiler) to your VC project. > + * Or use [C++ version of > `libimagequant`](https://github.com/pornel/pngquant/tree/cpp). The C++ > version is not as up-to-date as C version, but should be compatible with > Visual Studio older than 2013 (VC12). > > -##Overview > +## Overview > > The basic flow is: > > @@ -63,7 +65,7 @@ > liq_image_destroy(image); > liq_result_destroy(res); > > -It's safe to pass `NULL` to any function accepting `liq_attr`, `liq_image`, > `liq_result`. These objects can be reused multiple times. Functions returning > `liq_error` return `LIQ_OK` on success. > +It's safe to pass `NULL` to any function accepting `liq_attr`, `liq_image`, > `liq_result`. These objects can be reused multiple times. Functions returning > `liq_error` return `LIQ_OK` (`0`) on success and non-zero on error. > > There are 3 ways to create image object for quantization: > > @@ -71,7 +73,7 @@ > * `liq_image_create_rgba_rows()` for non-contiguous RGBA bitmaps (that > have padding between rows or reverse order, e.g. BMP). > * `liq_image_create_custom()` for RGB, ABGR, YUV and all other formats > that can be converted on-the-fly to RGBA (you have to supply the conversion > function). > > -##Functions > +## Functions > > ---- > > @@ -79,7 +81,7 @@ > > Returns object that will hold initial settings (atrributes) for the library. > The object should be freed using `liq_attr_destroy()` after it's no longer > needed. > > -Returns `NULL` if the library cannot run on the current machine (e.g. the > library has been compiled for SSE2-capable x86 CPU and run on VIA C3 CPU). > +Returns `NULL` in the unlikely case that the library cannot run on the > current machine (e.g. the library has been compiled for SSE2-capable x86 CPU > and run on VIA C3 CPU). > > ---- > > @@ -209,7 +211,7 @@ > > Freeing `liq_result` also frees any `liq_palette` obtained from it. > > -##Advanced Functions > +## Advanced Functions > > ---- > > @@ -252,11 +254,11 @@ > > ---- > > - liq_image *liq_image_create_custom(liq_attr *attr, > liq_image_get_rgba_row_callback *row_callback, void* user_info, int width, > int height, double gamma); > + liq_image *liq_image_create_custom(liq_attr *attr, > liq_image_get_rgba_row_callback *row_callback, void *user_info, int width, > int height, double gamma); > > <p> > > - void image_get_rgba_row_callback(liq_color row_out[], int row_index, int > width, void* user_info) { > + void image_get_rgba_row_callback(liq_color row_out[], int row_index, int > width, void *user_info) { > for(int column_index=0; column_index < width; column_index++) { > row_out[column_index] = /* generate pixel at (row_index, > column_index) */; > } > @@ -272,7 +274,7 @@ > > To use RGB image: > > - void rgb_to_rgba_callback(liq_color row_out[], int row_index, int width, > void* user_info) { > + void rgb_to_rgba_callback(liq_color row_out[], int row_index, int width, > void *user_info) { > unsigned char *rgb_row = ((unsigned char *)user_info) + > 3*width*row_index; > > for(int i=0; i < width; i++) { > @@ -347,18 +349,18 @@ > > ---- > > - void liq_set_log_callback(liq_attr*, liq_log_callback_function*, void* > user_info); > + void liq_set_log_callback(liq_attr*, liq_log_callback_function*, void > *user_info); > > <p> > > - void log_callback_function(const liq_attr*, const char *message, void* > user_info) {} > + void log_callback_function(const liq_attr*, const char *message, void > *user_info) {} > > ---- > > - void liq_set_log_flush_callback(liq_attr*, > liq_log_flush_callback_function*, void* user_info); > + void liq_set_log_flush_callback(liq_attr*, > liq_log_flush_callback_function*, void *user_info); > <p> > > - void log_flush_callback_function(const liq_attr*, void* user_info) {} > + void log_flush_callback_function(const liq_attr*, void *user_info) {} > > Sets up callback function to be called when the library reports work > progress or errors. The callback must not call any library functions. > > @@ -399,7 +401,7 @@ > Getters for `width`, `height` and `gamma` of the input image. > > > -##Multithreading > +## Multithreading > > The library is stateless and doesn't use any global or thread-local storage. > It doesn't use any locks. > > @@ -408,7 +410,7 @@ > > The library needs to sort unique colors present in the image. Although the > sorting algorithm does few things to make stack usage minimal in typical > cases, there is no guarantee against extremely degenerate cases, so threads > should have automatically growing stack. > > -###OpenMP > +### OpenMP > > The library will parallelize some operations if compiled with OpenMP. > > @@ -416,7 +418,7 @@ > > Callback of `liq_image_create_custom()` may be called from different threads > at the same time. > > -##Acknowledgements > +## Acknowledgements > > Thanks to Irfan Skiljan for helping test the first version of the library. > > diff -Nru pngquant-2.0.1/lib/mempool.c pngquant-2.0.2/lib/mempool.c > --- pngquant-2.0.1/lib/mempool.c 2013-10-24 09:20:48.000000000 +1100 > +++ pngquant-2.0.2/lib/mempool.c 2014-01-17 09:12:45.000000000 +1100 > @@ -35,9 +35,9 @@ > .used = sizeof(struct mempool), > .next = old, > }; > - uintptr_t mptr_used_start = (uintptr_t)(*mptr + (*mptr)->used); > + uintptr_t mptr_used_start = (uintptr_t)(*mptr) + (*mptr)->used; > (*mptr)->used += (ALIGN_MASK + 1 - (mptr_used_start & ALIGN_MASK)) & > ALIGN_MASK; // reserve bytes required to make subsequent allocations aligned > - assert(!((uintptr_t)(*mptr + (*mptr)->used) & ALIGN_MASK)); > + assert(!(((uintptr_t)(*mptr) + (*mptr)->used) & ALIGN_MASK)); > > return mempool_alloc(mptr, size, size); > } > diff -Nru pngquant-2.0.1/Makefile pngquant-2.0.2/Makefile > --- pngquant-2.0.1/Makefile 2013-10-24 09:20:48.000000000 +1100 > +++ pngquant-2.0.2/Makefile 2014-01-17 09:12:45.000000000 +1100 > @@ -1,5 +1,5 @@ > # Makefile for pngquant > -VERSION = $(shell grep 'define PNGQUANT_VERSION' pngquant.c | egrep -Eo > '[12]\.[0-9.]*') > +VERSION = $(shell grep 'define PNGQUANT_VERSION' pngquant.c | grep -Eo > '[12]\.[0-9.]*') > > # This changes default "cc" to "gcc", but still allows customization of the > CC variable > # if this line causes problems with non-GNU make, just remove it: > @@ -13,12 +13,33 @@ > CUSTOMLIBPNG ?= ../libpng > CUSTOMZLIB ?= ../zlib > > -CFLAGSOPT ?= -DNDEBUG -O3 -fstrict-aliasing -ffast-math -funroll-loops > -fomit-frame-pointer -ffinite-math-only > +CFLAGSOPT ?= -DNDEBUG -O3 -ffast-math -funroll-loops -fomit-frame-pointer > > -CFLAGS ?= -Wall -Wno-unknown-pragmas -I. -I$(CUSTOMLIBPNG) -I$(CUSTOMZLIB) > -I/usr/local/include/ -I/usr/include/ -I/usr/X11/include/ $(CFLAGSOPT) > +CFLAGS ?= -Wall -Wno-unknown-pragmas -I. -I/usr/local/include/ > -I/usr/include/ $(CFLAGSOPT) > CFLAGS += -std=c99 $(CFLAGSADD) > > -LDFLAGS ?= -L$(CUSTOMLIBPNG) -L$(CUSTOMZLIB) -L/usr/local/lib/ -L/usr/lib/ > -L/usr/X11/lib/ > +LDFLAGS ?= -L/usr/local/lib/ -L/usr/lib/ > + > +ifneq "$(wildcard /usr/X11/lib/)" "" > +LDFLAGS += -L/usr/X11/lib/ > +CFLAGS += -I/usr/X11/include/ > +endif > + > +ifneq "$(wildcard /opt/local/lib)" "" > +LDFLAGS += -L/opt/local/lib > +CFLAGS += -I/opt/local/include/libpng15 > +endif > + > +ifneq "$(wildcard $(CUSTOMLIBPNG))" "" > +LDFLAGS += -L$(CUSTOMLIBPNG) -L$(CUSTOMLIBPNG)/lib > +CFLAGS += -I$(CUSTOMLIBPNG) -I$(CUSTOMLIBPNG)/include > +endif > + > +ifneq "$(wildcard $(CUSTOMZLIB))" "" > +LDFLAGS += -L$(CUSTOMZLIB) -L$(CUSTOMZLIB)/lib > +CFLAGS += -I$(CUSTOMZLIB) -I$(CUSTOMZLIB)/include > +endif > + > LDFLAGS += -lpng -lz -lm lib/libimagequant.a -lm $(LDFLAGSADD) > > OBJS = pngquant.o rwpng.o > @@ -41,7 +62,7 @@ > all: $(BIN) > > lib/libimagequant.a:: > - $(MAKE) -C lib -$(MAKEFLAGS) static > + $(MAKE) -C lib static > > openmp:: > $(MAKE) CFLAGSADD="$(CFLAGSADD) -fopenmp" OPENMPFLAGS="-Bstatic -lgomp" > -j8 $(MKFLAGS) > @@ -73,7 +94,7 @@ > > clean: > rm -f $(BIN) $(OBJS) $(COCOA_OBJS) $(TARFILE) build_configuration > - $(MAKE) -C lib -$(MAKEFLAGS) clean > + $(MAKE) -C lib clean > > build_configuration:: > @test -f build_configuration && test $(BUILD_CONFIGURATION) = "`cat > build_configuration`" || echo > build_configuration $(BUILD_CONFIGURATION) > diff -Nru pngquant-2.0.1/pngquant.c pngquant-2.0.2/pngquant.c > --- pngquant-2.0.1/pngquant.c 2013-10-24 09:20:48.000000000 +1100 > +++ pngquant-2.0.2/pngquant.c 2014-01-17 09:12:45.000000000 +1100 > @@ -13,7 +13,7 @@ > ** implied warranty. > */ > > -#define PNGQUANT_VERSION "2.0.1 (September 2013)" > +#define PNGQUANT_VERSION "2.0.2 (January 2014)" > > #define PNGQUANT_USAGE "\ > usage: pngquant [options] [ncolors] [pngfile [pngfile ...]]\n\n\ > @@ -41,6 +41,9 @@ > #include <stdbool.h> > #include <getopt.h> > > +extern char *optarg; > +extern int optind, opterr; > + > #if defined(WIN32) || defined(__WIN32__) > # include <fcntl.h> /* O_BINARY */ > # include <io.h> /* setmode() */ > diff -Nru pngquant-2.0.1/rwpng.c pngquant-2.0.2/rwpng.c > --- pngquant-2.0.1/rwpng.c 2013-10-24 09:20:48.000000000 +1100 > +++ pngquant-2.0.2/rwpng.c 2014-01-17 09:12:45.000000000 +1100 > @@ -31,6 +31,7 @@ > > #include <stdio.h> > #include <stdlib.h> > +#include <string.h> > > #include "png.h" > #include "rwpng.h" > @@ -48,8 +49,18 @@ > > void rwpng_version_info(FILE *fp) > { > + const char *pngver = png_get_header_ver(NULL); > + > fprintf(fp, " Compiled with libpng %s; using libpng %s.\n", > - PNG_LIBPNG_VER_STRING, png_get_header_ver(NULL)); > + PNG_LIBPNG_VER_STRING, pngver); > + > +#if PNG_LIBPNG_VER < 10600 > + if (strcmp(pngver, "1.3.") < 0) { > + fputs("\nWARNING: Your version of libpng is outdated and may produce > corrupted files.\n" > + "Please recompile pngquant with newer version of libpng (1.5 > or later.)\n", fp); > + } > +#endif > + > #if USE_COCOA > fputs(" Compiled with Apple Cocoa image reader.\n", fp); > #endif > @@ -142,9 +153,7 @@ > > if (!(color_type & PNG_COLOR_MASK_ALPHA)) { > #ifdef PNG_READ_FILLER_SUPPORTED > - /* GRP: expand palette to RGB, and grayscale or RGB to GA or RGBA */ > - if (color_type == PNG_COLOR_TYPE_PALETTE) > - png_set_expand(png_ptr); > + png_set_expand(png_ptr); > png_set_filler(png_ptr, 65535L, PNG_FILLER_AFTER); > #else > fprintf(stderr, "pngquant readpng: image is neither RGBA nor GA\n"); > @@ -291,6 +300,7 @@ > > /* set the image parameters appropriately */ > int sample_depth; > +#if PNG_LIBPNG_VER > 10400 /* old libpng corrupts files with low depth */ > if (mainprog_ptr->num_palette <= 2) > sample_depth = 1; > else if (mainprog_ptr->num_palette <= 4) > @@ -298,6 +308,7 @@ > else if (mainprog_ptr->num_palette <= 16) > sample_depth = 4; > else > +#endif > sample_depth = 8; > > png_set_IHDR(png_ptr, info_ptr, mainprog_ptr->width, > mainprog_ptr->height, > _______________________________________________ > Pkg-phototools-devel mailing list > pkg-phototools-de...@lists.alioth.debian.org > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-phototools-devel -- http://fam-tille.de -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org