Based on a patch from Claes Nästén, distfiles generated by
myself.
CHANGE HISTORY
--------------
21.10.17 BJH Release 10.86.25
pamtogif: Fix bug: doesn't ignore the input alpha mask when user
specified -transparent. Broken in Netpbm 10.37 (December 2006).
libnetpbm: When validating computable size of width and height,
allow for adding up to 10 instead of 2, to account for rounding
up to a multiple of 8 in processing bit maps.
21.08.30 BJH Release 10.86.24
ximtoppm: Fix bug: invalid memory references with pathological
image input. Broken in Netpbm 86.15 (June 2020).
21.06.30 BJH Release 10.86.23
pamtopng: Fix -transparent option - program recognized
-transparency instead. Always broken (pamtopng was new in
Netpbm 10.71 (June 2015)).
Build: make it work on systems that don't have date +%s. Broken
in Netpbm 10.78 (March 2017). Thanks Claes Nästén
(pekdon@gmail.com).
21.05.15 BJH Release 10.86.22
pamtopng: Fix rejection of all BLACKANDWHITE_ALPHA images with
message about wrong depth. Always broken (pamtopng was new in
Netpbm 10.71 (June 2015)). Thanks Karol Kosek
<krkk@krkk.ct8.pl>.
pamtopng: Fix failure with GRAYSCALE_ALPHA images with maxval
less than 255. Always broken (pamtopng was new in Netpbm 10.71
(June 2015)). Thanks Karol Kosek <krkk@krkk.ct8.pl>.
pamtopng: Fix: treats all tuple types that start with BLA as
BLACKANDWHITE. Always broken (pamtopng was new in Netpbm 10.71
(June 2015)).
pamtogif: Fix failure with bogus message about wrong depth with
grayscale and black and white PAM images with transparency.
Always broken (pamtogif was new in Netpbm 10.37 (December 2006)).
Thanks Karol Kosek <krkk@krkk.ct8.pl>.
21.04.11 BJH Release 10.86.21
Build: fix failure of pammixmulti to compile for Mingw for lack
of drand48. Always broken (pammixmulti was new in Netpbm 10.85
(December 2018)).
make package: fix no such file pcdovtoppm.exe failure on
Windows.
21.03.21 BJH Release 10.86.20
pnmtopng: fix incorrect transparency in output when requesting
transparency. Introduced after Netpbm 10.35 (August 2006) but
not after Netpbm 10.47 (June 2009).
pnmtopng: fix buffer overrun or bogus "too many color/
transparency pairs" failure when requesting transparency.
Introduced after Netpbm 10.26 (January 2005) but not after
Netpbm 10.35 (August 2006).
pnmtops: Fix incorrect output (arithmetic overflow) when
bounding box is exactly INT_MAX high or wide. Always broken.
Pnmtops was in primordial Netpbm.
21.03.07 BJH Release 10.86.19
pamscale: fix bogus "bad magic number" or similar failure most
of the time with -nomix. Broken since Netpbm 10.49 (December
2009).
libnetpbm: pm_system: Fix bug: standard input feeder process
repositions unrelated files. Always broken (pm_system was new
in Netpbm 10.13 (September 2003).
Pamtowinicon: Fix crash or incorrect output with PNG encoding
(result of pm_system bug above). Always broken (Pamtowinicon
was new in Netpbm 10.63 (June 2013).
20.12.08 BJH Release 10.86.18
pamarith: Fix bug: fails with more than two operands for
-mulitply, -minimum, -maximum, -nand, and -nor.
pamaddnoise: fix bug: garbage output with -type impulse. Always
broken (pamaddnoise's precursors pnmaddnoise was new to Netpbm
in Netpbm 10.29 (August 2005).
20.09.26 BJH Release 10.86.17
pamfunc: Fix always wrong output with -not. Always broken.
(-not was new in Netpbm 10.40 (September 2007)).
jpeg2ktopam: Fix crash whenever the program fails. Broken in
Netpbm 10.42 (March 2008).
pamtojpeg2k: Fix failure with most -progression values. Always
broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
pamtojpeg2k: Fix wrong result with -tilegrdtly. Always
broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
pamarith: Fix crash with -compare where inputs are PBM. Broken
in Netpbm 10.14 (February 2003).
pamfunc: Fix crash with -changemaxval and PBM input. Always
broken. -changemaxval was new in Netpbm 10.65 (December 2013).
pammixmulti: Fix bug: -randomseed ignored on some systems.
Always broken. (pammixmulti was new in Netpbm 10.85 (December
2018).
pcdovtoppm: Fix some garbage from the conversion from csh to sh
in Netpbm 9.12 (March 2001) in conversion from csh arrays that
should have stopped it from working at all, despite reports from
users that they were using it.
20.08.29 BJH Release 10.86.16
anytopnm, pnmmargin: Fail properly when unable to create
temporary file. Broken in Netpbm 10.75 (June 2016).
pamdepth: fix bug: doesn't work on PAM with black and white
tuple type.
pnmnorm: Fix bug: output too dark when -bpercent and -wpercent
indicate overlapping values. Broken since Netpbm 10.43 (June
2008).
pcdovtoppm: Fix some garbage from the conversion from csh to sh
in Netpbm 9.12 (March 2001) in conversion from csh arrays that
should have stopped it from working at all, despite reports from
users that they were using it.
20.06.27 BJH Release 10.86.15
winicontoppm: Fix undefined behavior for various invalid input.
Always broken. Winicontoppm was new in Netpbm 9.3 (June 2000).
winicontoppm: Fix incorrect output with 256 pixel wide or high
image. Always broken. Winicontoppm was new in Netpbm 9.3 (June
2000).
cameratopam: Fix buffer overrun. Always present. (cameratopam
was new in Netpbm 10.28 (June 2005)).
ppmtompeg: Fix buffer overruns with very long names in input
parameter files. Always broken. Ppmtompeg was new in
Netpbm 8.4 (April 2000).
ximtoppm: Fix possible program crash due to invalid memory
reference. Always broken. ximtoppm was in primordial Netpbm,
ca 1989.
pjtoppm: Fix handling of input with width unspecified or not
positive. Always broken. (Pjtoppm was in primordial Netpbm, ca
1991).
20.06.06 BJH Release 10.86.14
pjtoppm: Handle input stream with no transmission mode command.
Always broken. Pjtoppm was in primordial Netpbm (1991).
picttoppm: Fix bug with an input file that specifies a clip
region (ClipRgn opcode) that is not contained within the
picture frame. Result is invalid memory access. Broken
some time 1994-2002.
picttoppm: Fix incorrect output (sheared) when a blit must be
scaled. Broken in Netpbm 10.34 (June 2006) or 10.35 (August
2006).
20.05.06 BJH Release 10.86.13
pbmtonokia: Fix incorrect output with -txt option.
pbmtonokia: Fix incorrect output with newer compiler.
20.03.26 BJH Release 10.86.12
Build: make deb: don't include empty Recommends; newer dpkg-deb
won't accept it.
20.03.26 BJH Release 10.86.11
pbmtopgm: Fix incorrect output when convolution area is not
square. Always broken. pbmtopgm was in primordial Netpbm,
ca 1991.
pbmtopgm: Fix crash when convolution matrix too large for word
size. Always broken. pbmtopgm was in primordial Netpbm, ca
1991.
pnmshear: Fix arithmetic overflow with shear angle near +/- 90
degrees.
20.03.15 BJH Release 10.86.10
pamdice: Fix crash when -width or -height is zero.
pamdice: Fix incorrect file names when -outstem contains "%s",
etc.
pnmquantall: remove accidentally published debugging trace.
20.02.14 BJH Release 10.86.09
pamdice: Fix junk output when -width or -height not specified.
libnetpbm: pm_getline, xvminitoppm, pamtris : Fix bug: crash
when reading empty line.
libnetpbm: pm_read_unknown_size, rawtopgm, zeisstopnm: crash
when out of memory
19.12.25 BJH Release 10.86.08
pamrubber: Fix bug: -frame doesn't work. Always broken.
(Pamrubber was new in Netpbm 10.54 (March 2011).
19.12.03 BJH Release 10.86.07
anytopnm: Fix unpredictable behavior when file name contains
spaces.
19.09.28 BJH Release 10.86.06
jpeg2ktopam, pamtojpeg2k: fix negative array index. Always
broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
jpeg2ktopam, pamtojpeg2k: fix assertion failure. Always
broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
jpeg2ktopam: Fix memory leak after decoder failure. Always
broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
jpeg2ktopam: fix null pointer dereference. Always broken
(pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
Build: fix for Cygwin, "no rule to make pm_config.h".
19.08.09 BJH Release 10.86.05
pnmtorle, rletopnm: fix wild pointer dereference when a memory
allocation fails.
19.06.15 BJH Release 10.86.04
pamtris: Fix bug: debug trace left in
pbmtozinc: Fix wrong output on big-endian machines. Broken in
Netpbm 10.71 (June 2015).
19.05.04 BJH Release 10.86.03
pnmtopng: Fix bug: Defaults to no filters. Should be all
filters. Effect is larger PNG output. Broken after Netpbm
10.26 (January 2005) but no later than Netpbm 10.35 (August
2006).
pnmtopng: Fix bug: Doesn't allow multiple filter options.
Broken after Netpbm 10.26 (January 2005) but no later than
Netpbm 10.35 (August 2006).
pnmcrop: Don't allow -borderfile with -reportXXX. It doesn't
work.
19.04.10 BJH Release 10.86.02
pnmcrop: fix bug: -bgcolor doesn't work. Always present
(-bgcolor was introduced in Netpbm 10.86 (March 2019)).
19.04.06 BJH Release 10.86.01
pnmcrop: fix bug: incorrect identification of background with
-bgcolor and PBM or PGM image. Always present (-bgcolor was
introduced in Netpbm 10.86 (March 2019)).
19.03.30 BJH Release 10.86.00
Add pamfind.
Add pambrighten.
Add pamhue.
pnmcrop: Add -bg-color, bg-corner, -reportfull, -reportsize,
-blank-image .
pamtopng: Add -interlace .
pamenlarge: Add -scale, -xscale, -yscale .
pamenlarge: Much faster for PBM with xscale factor above 10;
slightly faster for xscale factor 2-10.
pamfile: Add -machine and -size .
pamscale: Add -reportonly
pamstretch-gen: Add -quiet, -plain.
pamstretch-gen: Use -dropedge on the 'pamstretch' piece for
better looking output.
pamstretch: Accept scale factor of 1 as a parameter (already
was accepted with -xscale and -yscale options).
pamstretch: Don't mess with edge when scale factor is 1,
regardless of -dropedge and -blackedge.
ppmwheel: Add -huevalue, -huesaturation, -maxval .
various: Fix unnormalizing code so a value exactly between two
sample values rounds consistently up. Affects many programs.
pstopnm: Fix bug: -textalphabits has no effect. Always broken.
(-textalphabits was new in Netpbm 10.53 (December 2010)).
pamtopng: Fix sBit chunk, bit shift value for 1-, 2-, and 4-bit-
per-sample images. Always broken (Pamtopng was new in Netpbm
10.71 (June 2015)).
pamtopng: Fix buffer overrun. Always broken (Pamtopng was new
in Netpbm 10.71 (June 2015)).
pnmtopng: fix bug: -interlace ignored. Broken in 10.55
(June 2011).
pamstretch: Reject very large scale factors instead of producing
incorrect output.
ppmbrighten: Fix crash with -normalize when there is only one
intensity in the image. Always broken - Ppmbrighten was new in
the first Netpbm release in 1991.
ppmdraw: Fix bug: 'setlinetype nodiag' says invalid type.
Always broken. (Ppmdraw was new in Netpbm 10.29 (August 2005)).
Build: split link/ directory in package tree into staticlink/
and sharedlink/ . Make 'installnetpbm' do separate prompts to
install static libraries and shared library stubs. Make
'installnetpbm' install clean symlink in the usual case that the
shared library stub and shared library are in the same
directory.
Build: update 'mkdeb' so it works on Debian 9 (in addition to
Debian 8). Thanks Neil R Ormos <ormos@ormos.org>.
18.12.29 BJH Release 10.85.00
pnmpaste: Add -nand, -nor, and -nxor.
pamcut: add -cropleft, -cropright, -croptop, -cropbottom.
ppmtobmp: respect -bpp with PBM input.
bmptopnm: allow single color colormap with bpp 1.
bmptopnm: validate plane count = 1.
bmptopnm: Add RLE4 compression decoding. This was ostensibly
added in Netpbm 10.32 (February 2006), but never worked.
Add pammixmulti. Thanks Scott Pakin (scott+pbm@pakin.org).
pamtotga: Add -cmap16 .
pamtris: Add -rgb, -grayscale. Add w parameter to vertex
instructions. Fix perspective correctness. Thanks Lucas Brunno
Luna <lucaslunar32@hotmail.com>.
picttoppm: accept rectangle specifications in input that have
the corners in any order, not just upper left, then lower right.
pamtotga: identify compressed colormapped format in error
message saying the program doesn't know how to interpret it.
pamtotga: Ignore extra planes in black and white or grayscale
input instead of generating junk output.
Merge build: make old names for JPEG, TIFF, and PNG converter
programs work (function previously omitted by design because it
was too hard).
bmptopnm: Fix wrong output for non-colormapped OS2 BMP. Broken
in Netpbm 10.18 (September 2003).
bmptopnm: Fix array bounds violation when index value in raster
is too big. Broken after Netpbm 10.11 (October 2002) but before
10.19 (November 2003).
libnetpbm: Fix invalid memory reference in color name processing
when trivial memory allocation fails.
pamtojpeg2k: fix incorrect interpretation of -ilyrrates option
when it contains multiple delimiter characters in a row. Always
broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
pnmtojbig: fix incorrect handling of -x option. Always broken
(pnmtojbig was new in Netpbm 9.2 (May 2000)).
pjtoppm, pbmtoppa: fix arithmetic overflow.
Build: fix parallel make.
Build: fix reference to nonexistent getline on Mac OS X 10.6.
Build: fix reference to nonexistent strndup on Mac OS X 10.6.
Merge build: fix duplicate symbol 'prefabCode' in g3topbm,
pbmtog3. Introduced in Netpbm 10.79 (June 2017).
18.09.29 BJH Release 10.84.00
Add pamaltsat. Thanks Anton Shepelev <anton.txt@gmail.com>.
Add pamtris. Thanks Lucas Brunno Luna
<lucaslunar32@hotmail.com>.
libpbmfont, pbmtext: fix bugs with BDF file lines with
insufficient number of fields. Unknown effect.
pbmtext: -wchar works with built-in fonts.
pbmtext: improved -verbose information about BDF fonts:
include CHARSET_REGISTRY, CHARSET_ENCODING.
libnetpbm font facilities: built-in fonts work with wide
characters.
pbmtext; libnetpbm BDF font processing: fix invalid memory
reference when BDF font file has invalid syntax. Broken
in primordial Netpbm, ca 1993.
pamgetcolor: fix bug: gets color of only the top half of a
region.
pnmfiasco, fiascotopnm: Fix trivial memory leak. Always broken
(programs were new in Netpbm 9.6, July 2000).
18.06.30 BJH Release 10.83.00
Add pamlevels. Thanks Anton Shepelev <anton.txt@gmail.com>.
Add pamgetcolor. Thanks Anton Shepelev <anton.txt@gmail.com>.
Add rgb-<maxval>:r/g/b color specification format.
pngtopam: Fix bogus warning of non-square pixels when image does
not contain pixel resolution information. Introduced in Netpbm
10.48 (September 2009).
pstopnm: Fix divide-by-zero crash when Postscript input says
the image has zero size.
pstopnm: Fix divide-by-zero crash when computed resolution
rounds down to zero dots per inch.
pbmmask: Fix invalid memory reference with zero-dimension
input image. Broken in primordial Netpbm, ca 1989.
pamtojpeg2k: Fix incorrect metadata in output with GRAYSCALE PAM
input. Always broken (pamtojpeg2k was new in Netpbm 10.12
(November 2002)).
libnetpbm: Add pnm_colorspec_rgb_integer,
pnm_colorspec_rgb_norm, pnm_colorspec_rgb_x11,
pnm_colorspec_dict, pnm_colorspec_dict_close.
libnetpbm: Add pnm_parsecolor2.
libnetpbm: Add pnm_allocpamtuplen, pnm_freepamtuplen.
libnetpbm: Make the normalized tuple functions respect the
allocation depth specified in struct pam (member
'allocation_depth') instead of using the actual tuple depth
(member 'depth').
ilbmtoppm: Fix bug: may fail with bogus error message about an
invalid CLUT chunk if image has a CLUT chunk. Introduced after
Netpbm 10.26 (January 2005) and at or before Netpbm 10.35
(August 2006).
18.03.25 BJH Release 10.82.00
pbmtext: Add -wchar.
pbmtext: Add -text-dump option.
ppmhist: Add color summary to top of output, (except with
-noheader).
pnmremap: Add -randomseed.
pnmquant: Add -norandom, -randomseed.
pamtogif: Add -noclear option.
giftopnm: Check "data width" value from GIF image properly:
can't be bigger than 11, because the minimum code size is one
more than the data width and the maximum code size is 12. (Note
that GIF spec prohibits anything more than 8).
pnmpsnr: Add -targetX options.
ppmrainbow: Add "ppmrainbow: " to error messages, like other
programs.
ppmrainbow: improve error message.
g3topbm: Fix bug - produces invalid empty PBM image if input
image is empty.
ppmpat: Fix bug - crash or junk output with -camo or -anticamo
and no -color. Introduced in Netpbm 10.78 (March 2017).
mrftopbm: Fix bug - wrong error messages or output when input
invalidly short. Always broken (mrftopbm was new in Netpbm
10.18 (September 2003).
Build: fix compile failure on systems without strnlen (such
as MacOS X before 10.7). Broken in 10.81 (December 2017).
17.12.30 BJH Release 10.81.00
sldtoppm: -lib and -dir don't work - always says slide not
found. Broken in Netpbm 10.63 (June 2013).
sldtoppm: fix bug: says AutoCAD slide file isn't an AutoCAD
slide file. Broken after Netpbm 10.26 (January 2005), but no
later than 10.35 (August 2006).
sldtoppm: fix bug: wild memory accesses, weird messages when
invalid input file has unterminated strings.
17.09.30 BJH Release 10.80.00
pnmtopalm: Refuse to create a compressed image with more than 8
bits per pixel.
pbmtext, libnetpbm font facilities: allow glyphs in font files
that have no bitmap data; just used for their advance value to
code a space.
pbmtext: Improve error message when there is a problem reading
the font file.
libnetpbm font facilities: consider font invalid if a glyph is
more than 65536 pixels high or wide.
ppmshadow: handle images with a black background and low
contrast images (i.e. little difference between foreground and
background).
ppmbrighten: fix bug: red pixels change hue. Introduced in
after Netpbm 10.11 (October 2002) and before Netpbm 10.18
(September 2003).
palmtopnm: fix crash if invalid input contains color index that
is not in the palette. Always broken (palmtopnm was new in
Netpbm 9.10 (October 2001)).
pnmtopalm: fix incorrect output with certain input files and
-packbits_compression. Always broken. -packbits_compression
was new in Netpbm 10.27 (March 2005).
pnmtopalm: Correct error message recommending running
pnmquant when the real solution is to run pnmremap to modify the
image to Palm standard colors.
pnmtopalm: Fix bug causing "color not in colormap" failure with
-colormap and maxval other than 255.
libnetpbm: font facilities: fix invalid memory reference with
certain font files.
libnetpbm: ppm_readcolordict: Improve error message when there is
a problem reading the color dictionary. Affects ppmhist.
pgmmake: Fix bug: treats non-numeric gray-level argument as zero.
Always broken (Pgmmake was new in Netpbm 10.32, February 2006).
pdbimgtopam, pamtopdbimg: fix various cases of incorrect output,
some always present (programs were new in Netpbm 10.52.00
(October 2010)).
libnetpbm: pnm_parsecolorn(), pnm_parsecolor(): fix parsing of
rgb: color specifications: yields value slightly too dim.
Affects many programs. Broken in Netpbm 10.79 (June 2017).
Makeman: make it work with Python 3.6 II.
A bunch of packages had an extra "p" specification character passed to
the pax -p option. One is enough. Committed to reduce the human parsing
costs, should someone else need to examine this. (In my case because it
seems recent Linux distros have changed such that some -p arguments can
now cause an error to occur, where previously they were accepted.)
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
pkgsrc doesn't support PREFIX with spaces or other special characters.
Therefore it is not necessary to add the :Q modifier to this variable
and several others.
17.08.11 BJH Release 10.79.04
libnetpbm: font facilities: fix invalid memory reference with
certain font files.
17.08.02 BJH Release 10.79.03
pbmtoibm23xx: change license terms to GPL 2 or later.
Makeman: make it work with Python 3.6 II.
17.07.08 BJH Release 10.79.02
libnetpbm: pnm_parsecolorn(), pnm_parsecolor(): fix parsing of
rgb: color specifications: yields value slightly too dim.
Affects many programs. Broken in Netpbm 10.79.00 about a week
ago.
17.07.03 BJH Release 10.79.01
Fix 'format-security' GNU compiler warning. Introduced in
Netpbm 10.79.00 a few days ago.
17.06.30 BJH Release 10.79.00
Add pamtable .
pamgauss: Add -maximize, -oversample . Thanks Anton Shepelev
<anton.txt@gmail.com>
pnmconvol: Extend -normalize to be applicable to convolution
kernels specified by PGM file. Thanks Anton Shepelev
<anton.txt@gmail.com>
g3topbm: tolerate fill bits.
pbmtog3: Add -align8, -align16.
ppmshadow: Improve results for very small maxval.
ppmshadow: eliminate extraneous messages from pnmconvol.
libnetpbm: Improve error message for purported image that is
exactly 1 byte long (so ends in the middle of what would be the
magic number).
pbmtox10bm: Get the Perl interpreter for this Perl program from
the PATH instead of hardcoded as /usr/bin/perl (like all other
Netpbm Perl programs).
ppmcolormask: fix incorrect output when input maxval is not 255.
Always broken (ppmcolormask was new in Netpbm 9.0, April 2000).
bmptopnm: fix crash when input is a Windows BMP with negative
number for width. Always broken. (bmptopnm was new, as
bmptoppm, in original Netpbm, 1992).
pamcomp: fix incorrect output with -mixtransparency.
Always broken. (-mixtransparency was new in Netpbm 10.56,
September 2011).
pamcomp: remove debug trace message with -mixtransparency.
Always broken. (-mixtransparency was new in Netpbm 10.56,
September 2011).
pnmtojpeg: fix array bounds violation in argument list. Always
broken (pnmtojpeg was new to Netpbm in Netpbm 8.2 (March 2000).
pamcrater: fix incorrect output with non-square image.
Introduced in Netpbm 10.69 (December 2014).
svgtopam: fix treating negative width or height values in SVG
like twos complement positive numbers; fail instead. Always
broken (svgtopam was new in Netpbm 10.33 (March 2006)).
svgtopam: fix error messages when input has splines or negative
positions. Always broken (svgtopam was new in Netpbm 10.33
(March 2006)).
libnetpbm: fix bug: pm_system_XXX closes Standard Input if you
supply a Standard Output accepter but not a Standard Input
feeder. Broken since Netpbm 10.40 (September 2007).
Windows: fix bug: pm_system_lp() and pm_system_vp() fail
silently instead of with a clear error message in an environment
that does not provide Unix process management. Always broken.
(pm_system_lp and pm_system_vp were new in Netpbm 10.40
(September 2007), but wouldn't even compile until Netpbm 10.42
(March 2008)).
installnetpbm: Accept globs for directory name responses
(notably, ~/DIR).
makeman: Make it work with Python 3.6.
Build: don't try to build standardppmdfont.c if it already
exists (so don't require ppmdcfont to exist). Broken around
Netpbm 10.35 (2006).
Build: Define _XOPEN_SOURCE=500 in source files that use M_PI.
While C libraries in the past have always provided this with
just _XOPEN_SOURCE=null, it appears that M_PI is actually
defined by Single Unix Specification 2, aka UNIX98, for which
you need _XOPEN_SOURCE=500, and Cygwin has changed to enforce
this.
Build: document MinGW _XOPEN_SOURCE incompatibility and add
warning to Configure.
Debian packaging: fix bug: don't try to include Manweb files, as
it is no longer packaged by 'make package'.
17.03.28 BJH Release 10.78.00
ppmpat: Add -color.
ppmpat: Add -argyle1, -argyle2.
pnmtotiff: Fail with -miniswhite or -minisblack on color image
rather than produce an invalid TIFF.
tifftopnmcmyk: Default rows per strip to the TIFF library
default instead of whatever yields 8K strips.
--version global option: with SOURCE_DATE_EPOCH environment
variable, display source code datetime instead of build
datetime. And when displaying build datetime, do it in the
local time of the process running the command instead of the
process that did the build.
tifftonm: Fix incorrect PBM output with two-color paletted TIFF
image. Broken in primordial Netpbm, ca 1990.
tifftopnm: Fix memory corruption when image is more pixels than
can be represented as a C unsigned integer. Broken in Netpbm
10.11 (October 2002).
tifftopnmcmyk: Fix bug: fails with very wide images and no
-rowsperstrip. Always broken. (Tifftopnmcmyk was new in Netpbm
8.2 (March 2000).
svgtopam: Fix crash when out of memory. Always broken (svgtopam
was new in Netpbm 10.33 (March 2006)).
pnmcrop: Add -closeness
libnetpbm: Add ppmd_pathbuilder_* functions.
libnetpbm: ppmd_fill_path: remove debug trace. Always broken
(ppmd_fill_path was new in Netpbm 10.34 (June 2006).
Build: don't create pointer man pages anymore. These were
classic man pages, created by 'make package', one for each
program, that just told the user to get the manual from the web
and that other options for manuals are available at install
time. Getting documentation online is commonplace enough now
that the user doesn't need to be told to do it or that there are
other options. The existence of pointer man pages was,
meanwhile, misleading, since it looked from the outside like
they actually contained documentation.
Build: Don't package or install Manweb setup (for accessing
manuals on the web with Manweb). Probably 100% unused and
distracting.
Debian package: change dependencies to be compatible with
Debian 8.
17.01.24 Release 10.77.02
tifftopnm: Fix memory corruption when image is more pixels
than can be represented as a C unsigned integer. Broken in
Netpbm 10.11 (October 2002).
17.01.11 BJH Release 10.77.01
svgtopam: Fix crash when out of memory. Always broken
(svgtopam was new in Netpbm 10.33 (March 2006)).
16.12.25 BJH Release 10.77.00
pnmpad: fix bug: incorrect output width. Introduced in
Netpbm 10.72 (July 2015).
Makeman: slight improvement to formatting of man pages.
Thanks Werner LEMBERG <wl@gnu.org>.
Test: skip tests of some parts that are configured out of the
build.
16.09.27 BJH Release 10.76.00
pnmquantall: Fix failure when temporary file location is
not the same filesystem as the output file.
pnmquantall: Fix incorrect handling of when the Pnmremap or
the final rename fails.
giftopnm: Fix bug: crash on little-endian computers that can't
toleration unaligned memory access. Thanks Ignatios Souvatzis
(is@netbsd.org). Broken in Netpbm 10.47 (June 2009).
cmuwmtopbm: fix trivial memory leak. Always broken (cmuwmtopbm
was in primordial Pbmplus, in 1988).
Build: Add PKG_CONFIG make variable.
Build: tifftopnm.c: fix undefined WIFSIGNALED, etc. in
16.06.26 BJH Release 10.75.00
pbmtextps: Add -leftmargin, -rightmargin, -topmargin,
-bottommargin, -ascent, -descent, -pad, -crop.
pbmtextps: Add -dump-ps.
pbmtextps: Abort with error instead of generating single space
when user supplies no text.
pbmtextps: Accept fractional -fontsize.
pbmtextps: Change margins for non-default fonts.
pbmtextps: Minor output changes caused by code cleanup.
bmptopnm: Add ability to convert Version 4 and 5 Windows BMP.
pbmtext: remove undocumented -dump option; add 'genfontc'
development tool (buildtools/ directory) to replace it.
pbmtext: Add -dry-run
pbmtext: Add -dump-sheet
pbmtext: Speedup: renders directly in raw PBM.
pbmreduce: add -randomseed.
anytopnm, pnmmargin, pnmquant, ppmquant, pnmquantall, pgmcrater,
ppmfade, ppmrainbow, ppmshadow, pbmtox10bm, pamstretch-gen:
Add -version.
fiascotopnm: change -version to include Netpbm version.
libnetpbm: Add pm_system2(), pm_system2_lp(), pm_system2_vp() -
same as pm_system(), etc. but returns the termination status.
pamarith: fix incorrect output when maxvals differ, for
-add, -multiply, -mean, -min, -max. Broken in Netpbm 10.41
(December 2007).
pbmtextps: Fix bug: input text or font name with Postscript
control characters messes up the Postscript program.
hpcdtoppm dummy version: update web link to real version.
ppmhist: fix incorrect color names. Introduced in
Netpbm 10.19 (November 2003).
ppmshadow: fix bug: don't ignore invalid option. Introduced in
Netpbm 10.9 (September 2002).
pnmpaste: fix possible invalid memory access. Introduced in
Netpbm 1.44 (September 2008).
pbmreduce: fix undefined behavior when scale factor argument is
too big. Always present (pbmreduce was new in September 1989).
pbmtext: Fix bug: invalid memory reference when text contains
code points > 127. Broken in 10.74.
pnmtofiasco, fiascotopnm: Fix incorrect math on systems with
unusual floating point representation. Always broken (programs
were new in Netpbm 9.6 (July 2000).
cameratopam: fix invalid memory reference; effect unknown.
Introduced in Netpbm 10.68 (September 2014).
Install on Windows: fix backward compatibility symlinks for
pnmtoplainpnm, pnmquantall.
Build: Remove use of strndup so it compiles on Mac OS X 10.6.
Broken in 10.74.
Build: Remove use of isfinite so it compiles with C89 standard
compiler.
16.03.27 BJH Release 10.74.00
pbmtext: produce same image when you run pbmtext with -width
explicitly set to the width you get when you don't specify
width.
pbmtext: ignore -nomargins when -width is specified.
pbmtext: report when line ends are dropped because of
truncation.
pbmtext: Fix bug: if input has a code point that is not in the
font, Pbmtext substitutes space, but behavior is undefined if
font doesn't have space either. Now it aborts the program in
that case.
pbmtext: fix bug: Respect -width when specified.
pbmtext: fix bug: Deal correctly with negative -space.
pbmtext: fix bug: Consider all characters in line, not just
first and last, in determining line width.
libnetbpm font facility (so pbmtext): fix bug: undefined
behavior when font definitions are invalid in any of various
ways.
libnetpbm font facility (so pbmtext): fix incorrect font names
in error messages.
pnmtopsnr: Add -machine, -max .
Netpbmlib: add /usr/local/netpbm/lib and /etc/X11 to search
path for rgb.txt.
makeman: Add some text replacements to solve glitches.
Handle &mdash, &minus.
15.12.26 BJH Release 10.73.00
anytopnm: use --mime-type option instead of --mime on newer
'file' program (on which --mime has a new meaning so that
'anytopnm' cannot recognize some file types).
anytopnm: recognize "Netpbm PAM" non-mime output from 'file'
program as indicating PAM.
pnmtops: fix bug: always thinks -level=N is -level=1.
Introduced after Netpbm 10.26 (January 2005) but before 10.35
(August 2006). Manifests only with recent compilers.
pnmpaste: fix bug with PBM: incorrect output. Introduced in
Netpbm 10.44 (September 2008).
Build: fix undefined reference to parse_printf_format etc. on
system that doesn't have that facility. Broken in Netpbm 10.69
(December 2014).
Build: fix superfluous error message when USER environment
variable contains whitespace. Broken since primordial Netpbm.
Windows build: fix bug: make clean doesn't clean icon/netpbm.o.
Broken since Netpbm 10.67 (June 2014).
Test: improved pnmpaste test.
15.09.26 BJH Release 10.72.00
Add pamunlookup .
pamtopng: Implement -itxt .
pamlookup: Add -byplane .
pbmtoescp2: Add -stripeheight .
phmtoescp2: Add -resolution .
pbmtoescp2: Add -formfeed .
pbmtoescp2: Add -raw .
pbmtoescp2: Add -resolution=720 .
pbmtoescp2: Pad output horizontally to a multiple of 8 columns
and vertically to a whole stripe to prevent image loss.
fitstopnm: Add message saying you're probably making a mistake
if you have a 3-D image and don't specify -image. The third
dimension is almost always time in practice.
fitstopnm: Fix -min and -max. Broken in Netpbm 10.39 (June
2007).
pnmtopclxl: fix buffer overrun causing unpredictable behavior.
(Introduced in Netpbm 10.54 (March 2011).
pnmtopclxl: fix wild memory access when out of memory. Always
broken (Pnmtopclxl was new in Netpbm 10.6 (July 2002)).
pnmtopclxl: fix wild memory access with pathologically large and
uncompressible image. Always broken (Pnmtopclxl was new in
Netpbm 10.6 (July 2002)).
pnmtopclxl: fix silent output corruption when a file write
fails. Always broken (Pnmtopclxl was new in Netpbm 10.6 (July
2002)).
escp2topbm: Fix -plain. Always broken (escp2topbm was new in
Netpbm 10.18 (September 2003)).
pnmpad: Add -mheight, -mwidth.
ppmtoilbm: Fix failure with -hamforce and -nocompression.
Broken in Netpbm 9.12 (March 2001).
makeman: fix Python syntax error. Introduced in Netpbm 10.70
(June 2015).
15.06.28 BJH Release 10.71.00
Add pamtopng. Thanks Willem vanSchaik (willem@schaik.com).
pnmtopng: Add -srgbintent.
pamstereogram: Add -xbegin. Change default to render from
center outwards intead of from right to left, thus making the
center of the image the crispest part. Thanks Scott Pakin
(scott@pakin.org).
pamstereogram: Allow -xshift and -yshift to be negative. Thanks
Scott Pakin (scott@pakin.org).
pnmpsnr: Add -rgb.
ppmtoicr: remove -rle option. Actually, it never worked
because of a bug. Now it isn't expected to. Ppmtoicr was
new in 1991.
pnmtopalm: Fix arithmetic overflow with ridiculously large
image. Introduced after Netpbm 10.26 (January 2005) but before
Netpbm 10.35 (August 2006).
palmtopnm: Fix distorted output with PackBits compressed input.
Always broken (Ability to convert PackBits input was new in
Netpbm 10.27 (March 2005).
pbmtoepson: fix -protocol option - never works and sometimes
crashes program. Always broken (-protocol was new in Netpbm
10.23 (July 2004).
pbmtoppa: fix buffer overruns, double-free crashes. Always
broken (pbmtoppa was new in Netpbm 9.1 (March 2000).
pbmtomatrixorbital: fix bug: fails if you specify the input
file name argument. Always broken. (pbmtomatrixorbital was
new in Netpbm 10.18 (Setpember 2003).
sbigtopgm: fix detection of camera type. Always broken
(sbigtopgm was new in Netpbm 8.3 (March 2000)).
sbigtopgm: fix recognition of compressed image. Broken in
Netpbm 10.70 (March 2015).
pbmtogo: Fix bug: garbage first row. Broken at least since
November 1989.
pbmtogo: Fix bug: buffer overrun with certain input. Broken
at least since November 1989.
pbmtoescp2: Fix bug: overrun on certain input. Always broken
(pbmtoescp2 was new in Netpbm 10.18 (September 2003)).
escp2topbm: Fix buffer overrun on certain input. Always broken
(escp2topbm was new in Netpbm 10.18 (September 2003)).
libnetpbm: pm_stripeq: fix bug: wild pointer access when
comparator is shorter than comparand. Doesn't affect function,
but could cause crash or privacy exposure. Affects reading of a
PAM file by any program. Introduced in one of Netpbm 10.27
(March 2005) through 10.35 (August 2006).
pnmconvol: Fix bug: wrong output for pixels that convolve to
negative values (should be clipped to zero). Introduced in
Netpbm 10.68 (September 2014).
pbmtog3: Fix buffer overrun. Introduced in Netpbm 10.23
(July 2004).
cameratopam: Fix arithmetic underflow in JPEG processing;
unknown effect.
pbmtoxbm: Fix bug: crash with zero width input. Broken in
Netpbm 10.37 (December 2006).
sbigtopgm: fix buffer overrun with invalid input image. Always
present (sbigtopgm was new in Netpbm 8.3 (March 2000)).
pnmtorle: Fix buffer overrun with long file name. Always
present. (pnmtorle was new to Netpbm in Netpbm 9.0 (April
2000)).
pbmtopk: Fix buffer overrun with long file name. Always
present. (pbmtopk was new in Netpbm 1 (March 1991)).
pktopbm: Fix buffer overrun with long file name. Always
present. (pbmtopk was new in Netpbm 1 (March 1991)).
ppmtoyuvsplit: Fix buffer overrun with long file name. Always
present. (New in Netpbm 1 (March 1991)).
pbmtopi3: Fix bug: wrong output when input is higher or wider
than 640 pixels. Always broken (pbmtopi3 was new in September
1991).
st4topgm: Fix bug: with no argument, uses file named "'" instead
of Standard Input. Always present (st45topgm was new in Netpbm
10.70 (March 2015).
pbmtomgr: Fix incorrect output when input is too large (must be
at most 4095 pixels high or wide). Always broken. (pbmtomgr
was new in 1989).
pbmtomacp: fix wild pointer dereference with -b larger than
image height. Always broken. (pbmtomacp was new in X.V11R3
(March 1988).
ppmtorgb3: Fix buffer overflow with long input file name.
Always present. (ppmtorgb3 was new in X.V11R4 (November 1989).
ppmtoarbtxt: fix bug: wrong output when high numbers represent
darker. Broken in Netpbm 10.69 (November 2014).
ppmtoarbtxt: better rounding in sample values.
libnetpbm: Remove bitio.h as an external interface.
test: replace some GNU-only code with more portable code that
works on OS X. Thanks Ryan Schmidt <ryandesign@macports.org>.
makeman: deal properly with backlash in source. But something
was wrong with this change and it caused the program always to
fail, so we reversed this change in 10.72.
Build: don't build and install libjbig and libjasper if we
are using external versions of them instead.
Build: various cross-compile fixes, especially for MinGW.
Build: work around bug in GCC < 4.2 related to SSE2 builtins
that causes compile of pamflip to fail.
Build: fix 'make package' where config.mk sets a subdirectory
other than 'man' for the manual.
Build: improve pointer man page text.
15.03.29 BJH Release 10.70.00
Add st4topgm, pgmtost4.
Add pgmtosbig. Mainly a test tool for sbigtopgm.
Add yuy2topam. Thanks Michael Haardt.
tifftopnm: allow input file to be nonseekable.
Thanks Ludolf Holzheid <ludolf.holzheid@gmx.de>.
pnmhisteq: add -noblack and -nowhite. Idea from Andrew Brooks
<arb@sat.dundee.ac.uk>.
pgmmorphconv: add -gradient. Thanks Michael Haardt
<michael@moria.de>.
giftopnm: Fix bug: crashes if purported GIF has neither a global
color map nor a local one.
pgmmorphconv: fix bug: always produces PGM Plain format. Always
present (progam was added to Netpbm in Release 10.0 (June 2002)).
pamtilt: fix bug: unconditional crash. Broken in Netpbm 10.63
(June 2013).
pnmgamma -srgbtobt709, -bt709tosrgb: fix bug; incorrect output
nearly always. Always broken (These options were new in
Netpbm 10.32 (February 2006)).
pamtosvg: fix use of unset variable; probably results in a
crash. Always present (pamtosvg was new in Netpbm 10.33 (March
2006)).
cameratopam: fix bug: variable used before set; unknown impact.
Introduced in Netpbm 10.66 (March 2014).
On Windows, don't leave temporary files around (previous code
did so because unlink of an open file fails in Windows; new
code deletes temporary files via atexit). Thanks
Ludolf Holzheid <ludolf.holzheid@gmx.de>.
Libnetpbm: fix external header file pm.h so it does not include
internal header file pm_c_util.h. Introduced in Netpbm
10.69 (December 2014).
build: fix incompatible type compilation error in giftopnm.
Introduced in Netpbm 10.38 (March 2007) (but obviously manifests
only in recent build environments).
build: fix compile failure in wordint_access_be.h with Bigendian
target platforms. Introduced in Netpbm 10.63 (June 2013).
build: fix compile failure in pbmtomacp, ppmtoacad, pgmabel:
TRUE redefined. Introduced in Netpbm 10.69 (December 2014).
14.12.25 BJH Release 10.69.00
pnmnorm: add -bsingle, -wsingle.
ppmtoarbtxt: Do some validation of format strings. Thanks
Akira F Urushibata <afu@wta.att.ne.jp>.
pamcrater: Add -verbose.
ppmtoarbtxt: Fail if a #() escape sequence runs off end of
file or is too long to process; before, the program would
treat the text from # to EOF or where the buffer filled up
as literal text, even ignoring any #() within.
NetBSD: show actual numbers in messages instead of "f" or
no information, by using NetBSD's vasprintf.
Make %g in messages display the actual number instead of "g" in
messages where platform doesn't have vasprintf. (But scores of
%f are still left).
anytopnm: convert all images in a multi-image GIF instead of
just the first.
Improve "bad magic number" message from pbmXXX, and pgmXXX, and
pnmXXX programs.
Fix bogus message from ppmXXX programs when the input is not
(per the magic number) a Netpbm image. Introduced after
Netpbm 10.26 (January 2005) but before Netpbm 10.35 (August
2006).
ppmtoarbtxt: Fix some undefined behavior when program limits
are exceeded (i.e. buffer overruns).
pambackground: fix bug: segfault or incorrect results in most
cases. Thanks Ludolf Holzheid (ludolf.holzheid@gmx.de).
Introduced in Netpbm 10.37 (December 2006).
Windows build: fix universal build failure with "No rule to make
...icon.netpbm.oLINKERISCOMPILER...". Broken in Netpbm 10.67
(June 2014).
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
This is incomplete in that the X11 locations should probably be patched,
too; OTOH, the netpbm rgb.txt is found now, and the environment variable
RGBDEF works also.
fixed upstream.
14.11.23 BJH Release 10.68.02
pambackground: fix bug: segfault or incorrect results in most
cases. Thanks Ludolf Holzheid (ludolf.holzheid@gmx.de).
Introduced in Netpbm 10.37 (December 2006).
14.09.28 BJH Release 10.68.01
Windows build: fix universal build failure with "No rule to make
...icon.netpbm.oLINKERISCOMPILER...". Broken in Netpbm 10.67
(June 2014).
14.09.26 BJH Release 10.68.00
Split pgmcrater into pamcrater and pamshadedrelief.
pnmconvol: add -bias .
Remove pnmcomp, install a pnmcomp symlink for pamcomp.
Fix incorrect option parsing when there are multiple common
options (e.g. -plain -quiet). Always broken. (Possibility of
specifying multiple common options that don't cause the program
to ignore every other option (like -version) was new in Netpbm
10.10 (October 2002).
cameratopam: fix buffer overflow. Always present. (cameratopam
was new in Netpbm 10.28 (June 2005)).
cameratopam: fix incorrect output introduced in Netpbm 10.51
(June 2010).
ppmtopict: Fix unconditional crash. Introduced in
Netpbm 10.52 (September 2010).
pcdovtoppm: Fix crash due to invalid operator == on some
systems. Always broken (pcdovtoppm was new sometime between
Netpbm 9.25 (March 2002) and Netpbm 10.11 (Februrary 2010)).
Build: change _XOPEN_SOURCE from 600 back to 500 in 7 files. It
was changed from 500 to 600 in Subversion revision 1731 in
Netpbm 10.60 (September 2012) because that made a similar
version of Netpbm compile on Mac OSX. Without it, strdup did
not get defined. But this is apparently a bug in Mac OSX, since
X/Open 500 does have strdup. Furthermore, many other Netpbm
files use strdup and apparently compile OK on Mac OSX without
600. Finally, we see today that Illumos system header files
deliberately kill the compilation if the compiler is pre-C99 and
_XOPEN_SOURCE is 600. So we go back to 500 and if the problem
on Mac OSX gets reported again, we will look more deeply.
Build: change _XOPEN_SOURCE from 600 back to 500 in
jpeg2ktopam.c and pamtojpeg2k.c. It was changed from 500 to 600
in Netpbm 10.41 (December 2007), reportedly to get int_fast32_t,
etc. defined on AIX, but other files that use int_fast32_t
don't have it today, so that must be wrong. See above for the
drawback of 600.
Build: fix undefined symbols in fiasco converters with
static libraries.
Build: provide means of setting the default search path for
rgb.txt color database via config.mk.
Build: fix bug which prevents JBIG converters from building with
internal JBIG library. Introduced in 10.67.00.
Build: fix bug which makes build of Ppmsvga fail (which is
attempted only on a system with libvga). Introduced in Netpbm
10.63 (June 2013)
Build: fix build failure in an environment that does not have
__inline . Introduced some time between Netpbm 10.26
(January 2005) and Netpbm 10.35 (August 2006).
Build: fix build failure on SCO OpenServer due to SIGURG not
existing. Broken in Netpbm 10.49 (December 2009).
Build: Declare _XOPEN_SOURCE >= 500 in source files that use
strdup.
Build: fix compile failure due to use of reserved word
'stdout'.
Build with 'installosf': Fix crash due to invalid operator ==
on some systems.
scripts from bash to sh, to limit exposure to any still-unfixed or
still-undiscovered bash vulnerabilities.
A quick review of the shell scripts did not turn up any obvious
bashishms. Hopefully they have all been fixed already, but if not,
I'd still rather have one or two scripts be broken (and volunteer to
fix any breakage reported) than have all of them be vulnerable to bash
bugs.
Approved by agc.