[Pkg-gmagick-im-team] Bug#842619: game-data-packager: FTBFS (improper image header `data/soltys.xpm')

Simon McVittie smcv at debian.org
Sun Oct 30 21:58:30 UTC 2016


Control: clone 842619 -1
Control: reassign -1 imagemagick
Control: retitle -1 no longer supports XPM with > 8464 colours
Control: found -1 8:6.9.6.2+dfsg-2
Control: severity -1 important
Control: fixed 842619 46

ImageMagick maintainers, for context: game-data-package used to
contain this:
<https://anonscm.debian.org/git/pkg-games/game-data-packager.git/plain/data/soltys.xpm?id=191bdf09b238f1953115c76b6d3972288050fe43>
which it converted to PNG with convert(1) at build time, and that no
longer works.

On Sun, 30 Oct 2016 at 20:46:15 +0000, Santiago Vila wrote:
> convert-im6.q16: improper image header `data/soltys.xpm' @ error/xpm.c/ReadXPMImage/348.
...
> This could be a problem with imagemagick, which entered testing today,
> but I'm not 100% sure that imagemagick is to blame.

I think this is a feature regression in ImageMagick: XPM images that
encode a single pixel as three or more characters are no longer supported:

http://git.imagemagick.org/repos/ImageMagick/commit/76edbbafe01574ee2d6539f9b87e30a3f33ccd51

I previously thought this was something that needed to be fixed in
game-data-packager, and I fixed it in experimental by shipping a PNG
instead of an oversized XPM (the version in experimental isn't fully
ready for unstable for unrelated reasons, but the change would be trivial
to backport if g-d-p is in danger of being autoremoved). However,
looking at ImageMagick again, I'm less sure that this regression was
actually intended - it's intentionally more strict than it used to be,
but I don't think it was meant to be quite as strict as this.

The commit message was "The number of colors is limited to 65535", and the
size of the palette is indeed now limited to MaxColormapSize = 65536.
However, the number of characters used to represent a pixel ("width")
is now limited to 2, which is not enough. XPM effectively encodes each
pixel as a number in base 92, so 2 characters per pixel is only enough for
8464 colours. A palette of 65536 distinct colours would need 3 characters
per pixel (although the most significant character would only take a subset
of its possible values).

I don't think this is necessarily RC for imagemagick, so I'm using a
cloned bug at important severity, and keeping the original RC FTBFS
bug open; I'll avoid the FTBFS in game-data-packager soon anyway,
either by doing a 45.1 release or by uploading a new version 47
to unstable. However, it's a regression which deserves looking at.
Feel free to increase or decrease severity according to what you think
its likely impact is.

    S



More information about the Pkg-gmagick-im-team mailing list