- bmptopnm: Don't crash on invalid zero value of image height in
the BMP header of a compressed file. Always broken.
- bmptopnm: don't crash on large invalid value of 'colorsused' in
the BMP header.
- ilbmtoppm: Don't crash on image that has a transparent color
index, but no color map.
"pkgsrc" changes:
- Add a lot of patches written by Thomas Klausner and me to make this
compile with PNG 1.5.
Changes since version 10.35.76:
- ppmtompeg: fix crash with free of unallocated memory.
- Build: don't expect snprintf() to exist.
- Build: don't use <strings.h> or bzero().
* Pnmtopng: -libversion doesn't report level of linked libz.
It was a modularity violation and caused build failures on
Mac OS X, because Pnmtopng per se doesn't know about libz --
it's used by libpng.
* Build: don't fail due to SIGRTMIN, SIGRTMAX being undefined.
Changes 10.35.75:
* palmtopnm: fix for pixel size 16.
* pamscale: fix -reduce. Introduced in 10.27.
* configure: default to 'none' for Svgalib if it doesn't appear to
be installed (per 'ldconfig'). Ported from 10.38, released March 2007.
Changes 10.35.74:
* pbmtext: don't crash when font file contains a blank line.
Fail cleanly.
* ppmtoilbm: fix arithmetic overflow with image dimension
represented as 16 bit integer.
* pbmpage: fix garbage output.
* pnmhistmap: Fix crash with -width. Always broken.
* Build: don't fail due to SIGPWR being undefined.
is asking for trouble. On solaris these options are mutually exclusive
because 600 needs C99 and 500 is not allowed to use C99.
I lowered the requirement to _XOPEN_SOURCE=500 and the build succeeded.
While here I'll note that PR pkg/42897 (netbpm link error on Solaris 10)
should now be fixed by libpng-1.2.41nb1.
changes: many bugfixes, especially:
xpmtoppm: fix wild pointer with color index > 127.
which fixes a stack-based buffer overflow (CVE-2009-4274)
pkgsrc change: use a fixed PLIST instead of generating on install,
helps to detect problems
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
Changes 10.34:
* Add pamthreshold, pamx, pamtoxvmini.
* pammasksharpen: Add -threshold.
* pnmtopng: make "N colors found" message verbose-only.
* pnmtopng: make "no room in palette" message non-verbose.
* picttoppm: Tolerate various PICT file corruptions.
* picttoppm: Don't issue warning message when file named
'fontdir' doesn't exist.
* libnetpbm: Add ppmd_fill_path().
* ppmtobmp: Fix for PBM input.
* bmptopnm: Don't crash on BMP with no color map.
* bmptopnm: Fix wrong file name in error messages.
* ppmtogif: fix bug: always produces garbage output.
* ppmtompeg: fix input from Standard Input.
* pnmflip: fix bug: -rotate90, -rotate180, and -rotate270
(and synonyms) don't work when followed by other rotation options.
* ppmtoilbm: Fig bug: generates more planes than necessary.
* pamtofits: fix buffer overflow in asembling header.
* picttoppm: fix bug - interprets some images wrong because of
bogus "rowBytes" value.
* Redo asprintfN(), etc. so as not to use va_list in a way
that doesn't work on some machines.
* cameratopam: remove definition of memmem() so it doesn't collide
with same in some C libraries. Add memmemN() and MEMEQ to libnetpbm.
* Fix build of filename.o.
Add pamtosvg.
g3topbm: Add -width, -paper_size.
libnetpbm / most newer programs: Fix bug that produces
plain format output when it should be raw because
pnm_readpaminit() does not set 'plainformat' and most
programs just copy the input pam to the output pam.
pamflip: fix bug with left/right flip of PBM that has
width an even multiple of 8 plus something less than 8.
pnmquant: turn on autoflush when creating seekable file.
install: fix symbolic link pnmdepth -> pamdepth.
build: fix some importinc dependencies.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
without underscores (REPLACE.*.old, REPLACE.*.new, and REPLACE_FILES.*).
Also convert REPLACE.*.new= ${SH:Q} back to ${SH}, as it should not be quoted
here, if at all.
Ok with rillig.
* Add rlatopam.
* Add pgmmake.
* bmptopnm: Understands RLE4/RLE8 compressed BMP.
* pnmgamma: Add -bt709tosrgb -srgbtobt709, -bt709tolinear,
-lineartobt709, -gamma, -rgamma, -ggamma, -bgamma (gammma
values were formerly specified as parameters).
* pnmgamma: Rename -cieramp to -bt709ramp.
* ppmdraw: work on multi-image streams.
* anytopnm: add mime time image/x-ms-bmp for BMP
* pamchannel: works on multi-image streams.
* pamstack: works on multi-image streams.
* Convert pnmdepth to pamdepth. Add multi-image stream
capability.
* pamcut: works on multi-image streams.
* pnmtops: allow -flate and -rle together.
* pnmtops: overhaul of -psfilter output.
* pnmrotate: fine adjustment to arithmetic (rounding,
pixel quantization).
* pbmtopsg3: Put currentfile ... in exec block.
* pbmtopsg3: Add missing /EndOfBlock.
* pnmtops: Don't claim EPSF if using setpagedevice.
* giftopnm: do "reading image sequence N" message only if
being verbose.
* ppmtobmp, bmptopnm: major speed improvement for PBM.
* other
Add pambayer.
Add pamrgbatopng.
Add pamtilt. Thanks Gregg Townsend <gmt@cs.arizona.edu>.
pamtotiff: create from pnmtotiff.
pamtofits: create from pnmtofits.
pamaddnoise: crate from pnmaddnoise.
pamarith: Add -divide.
pammasksharpen: Add -sharpness.
pnmtopng: add -comp_mem_level, -comp_strategy, -comp_method,
-comp_window_bits, -comp_buffer_size.
pnmtopng: use Shhopt command line processor; replace
-chroma with -rgb, -phys with -size, -time with -modtime.
pnmremap: Handle multiple image stream.
xpmtoppm: Expand capacity from 2K character input lines to
8K character input lines.
libnetpbm: improved messages for "color xxx cannot be
represented precisely with maxval M"
libnetpbm color specification parsing: Improve warning message
about rounding.
libnetpbm/everything: speed up ppm_writeppmrow() and
pgm_writepgmrow() by doing one fwrite per row instead of
a pgm_writerawsample() per sample.
pnmtopng: fix "meaningful bits" optimization of PGM so it
optimizes all the way instead of stopping at 4 bits.
pnmtopng: fix crash when no -alpha option, due to dereferencing
of undefined alpha_mask.
pnmtopng: fix bug: arbitrary color made transparent in
paletted PNG when nothing should be transparent.
pnmtops: bug: selects wrong Postscript level.
bmptopnm: Don't crash on BMP with no color map.
bmptopnm: Fix wrong file name in error messages.
ppmtowinicon: use REALLOCARRAY instead of arithmetic-overflowing
realloc().
anytopnm: fix bug: fails when 'file' database doesn't
have mime type but does have human-readable type.
manweb: recognize directory as not executable in search of PATH.
pgm_allocrow(), ppm_allocrow(), pnm_allocrow(): cure
arithmetic overflow.
libnetpbm: On plain formats, check for sample value exceeding
maxval.
libnetpbm: reject maxval > 65535 in "pam" functions.
pamarith: Use normalized libnetpbm facilities to get
proper accuracy. Thanks Thomas Henlich
<http://sourceforge.net/users/thenlich/>.
pamarith: fix bug: shift functions don't work when maxvals
are not identical.
pamarith: fix rounding error on multiply.
pgmtexture: correct calculation of normalizing constants
for d > 1. Thanks Marc Breithecker
<Marc.Breithecker@informatik.uni-erlangen.de>.
pnmnorm: fix divide by zero crash.
pnmnorm: fix bug that doesn't let you specify
-luminosity, -colorvalue, or -saturation.
ilbmtoppm: fix variable used before set.
pnmtofits: fix 16 bit sample values > 2**15.
pnmtopsnr: minor adjustments to messages.
pnmnorm: don't crash when wvalue == bvalue. Thanks Thomas
<http://sourceforge.net/users/thenlich/>.
pnmnorm: fix rounding of output values. Thanks Thomas
<http://sourceforge.net/users/thenlich/>.
pnmhisteq: Fix external map to have width maxval + 1 instead
of maxval, so full intensity input pixels map properly.
pnmhisteq: Fix -rmap.
Fix typos in error messages in various programs.
pgmmedian: change syntax to Netpbm standard.
pammasksharpen: fix signedness bug that caused random bright
pixels at edges.
pammasksharpen: fix bug with maxval != 255.
Clean up a bunch of function prototypes so some broken
compilers don't complain about missing "const" in them.
Remove dependency of pnmtops on basename(). It isn't in
some C libraries and we don't want to mess with linking
extra libraries.
Build of ppmsvgalib: work properly when LINUXSVGALIB is
a "default path" value such as "libvga.so".
hadn't already fixed. The list:
http://sourceforge.net/project/shownotes.php?group_id=5128&release_id=349291
The problems fixed in this PKGREVISION bump:
* pnmtopng: can crash due to wild pointer if you don't use the
-alpha option.
* pammasksharpen: Multiple bugs cause it to produce incorrect
output.
* pnmhisteq: -rmap doesn't work.
Addresses my own PR pkg/31314, with thanks to Nathan Arthur for
bringing these patches to my attention.
error: invalid lvalue in assignment
in editor/pnmaddnoise.c.
This was noticed on DragonFly with gcc 3.4.5.
Found idea from DarwinPorts.
Also tested on NetBSD 2.0.2 (gcc 3.3.3) and Linux (gcc 3.3.5).
I do not know if this is improved in netpbm upstream yet.
Okay'ed by maintainer.
strips out the logic that determines which integer types are available,
and yet building the jasper library relies on those integer types to
be correctly provided. Just punt on the whole thing and use the
graphics/jasper dependency instead. This fixes building netpbm on
Solaris and older versions of FreeBSD.
Bump the PKGREVISION to 1. The jasper library is only linked into two
executables, so there is no need to do a recursive PKGREVISION bump.
Add ppmdraw.
Add pammixinterlace. Thanks Bruce Guenter <bruceg@em.ca>.
Add pgmmedian.
Add pnmaddnoise.
pnmtopclxl: add -rendergray option.
pnmtopclxl: add -jobsetup option.
pstopnm: add -dSAFER Ghostscript option.
pnmcrop: add -margin option.
pnmcrop: add -borderfile option.
pnmnorm: add -luminosity (which was already default),
-colorvalue, and -saturation.
pnmtopng: Don't include any alpha info if supplied alpha mask
is all opaque.
ppmcie: Make white point mark more visible.
pamdice: Remove restriction of 100 slices in each direction.
pnmtopng: Fix bug: erroneous transparent pixels when supplied
alpha mask is all opaque.
Fix bytesToWordInt(): converts incorrectly on a machine that
has pointer size != word size and uses the general case code.
libnetpbm: fix basic pm_readlittleshort() bug introduced
in 10.27. Affects mdatopbm, rawtopgm, lispmtopgm,
pcxtoppm, winicontoppm, bmptopnm, sirtopnm, xwdtopnm,
cameratopam.
pamlookup: fix universal crash. Thanks "Colley, Anthony
W." <Anthony.Colley@ngc.com>
pbmtolj: fix bug from 10.28: crashes with a line which is
a multiple of 8 plus 7 pixels wide not counting white right
margin.
ppmtompeg: fix uname() rc test (sometimes > 0 is success).
- use graphics/jasper instead of built-in jasper which has little hope
of building on Solaris
- use putenv() instead of setenv()
- fix abuse of _XOPEN_SOURCE
no PKGREVISION bump as no dependency change except on Solaris, where
this didn't build before.
run-time dependency (DEPENDS) on a tool is to append a ":run" modifier
to the tool name, e.g.,
USE_TOOLS+= perl:run
Tools without modifiers or with an explicit ":build" modifier will
cause build dependencies (BUILD_DEPENDS) on those tools to be added.
This makes the notation a bit more compact.
should be OK since the netpbm Makefile has the following:
# Fiasco has some special requirements that make it fail to compile on
# some systems, and since it isn't very important, just set this to "N"
# and skip it on those systems unless you want to debug it and fix it.
BUILD_FIASCO = Y
* libnetpbm: fix crash with -builtin=fixed
* pbmtoppa: fix floating point exception
Changes 10.26.8:
* pnmgamma: Correct math in -srgbramp
* ppmshadow: fix blurring
Pkgsrc:
* fixed problem on DragonFly (courtesy of Joerg Sonnenberger)