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)
* pnmremap: fix rounding error where map maxval is small
and unequal to image maxval.
* ppmtompeg: fix compile failures on "no parallel" builds
and where prototypes don't match definitions in bitio.c.
Changes 10.26.2:
* Build: handle zlib prerequisite of tiff library.
* giftopnm: fix crash with input that has bogus color indices
in the raster.
* giftopnm: fix crash with input that has a bogus minimum code
length field.
* pnmtopalm: fix padding with -offset.
* pnmtopalm: fix compressed images. use 0 compressed size
field - not totally correct, but passable.
* palmtopnm: fix incorrect handling of some combinations of
PALM_IS_COMPRESSED flag and compression type field.
* palmtopnm: fix totally broken RLE and scanline compression.
* palmtopnm: fix wrong check for disallowed combination of
-transparent and -rendition.
* pamcomp: fix bug that duplicates last row of overlay image.
* pamcut: fix bug that fills the rightmost column with black.
* pnmtopalm: fix bug with -offset option.
* ppmforge: fix bug: crash due to wild pointer with -night.
Changes 10.26:
* pnmhistmap: Add -dots, -nmax, -red, -green, -blue, -lval,
-rval, -height, and -width options.
* pnmnorm: accept -wpercent and -wvalue (or -bpercent and -bvalue)
together. Thanks Gregg Townsend <gmt@CS.Arizona.EDU>.
* xwdtopnm: Add -headerdump option.
* pnmtoxwd: Include 256 color color maps in direct color instead
of zero. Zero has a weird effect.
* pamtotga: recognize RGB_ALPHA instead of RGBA.
* palmtopnm: fix bug in determination of compression type.
* palmtopnm: fix bug in handling of multi-image streams.
* pnmtopalm: fix bugs in computation of nextDepthOffset.
* pamtotga: fix TGA pixel size for TGA with alpha. Don't do
colormap if input has transparency.
* pamtotga: fix crash due to uninitialized "id" field in TGA header.
* pbm_writepbmrow(): Fix bug in MMX/SSE code that causes segmentation fault.
* pnmhistmap: Fix bug: doesn't work with maxval != 255.
* pbmtext: fix crash with code point > 127.
* ppmtompeg: major cleanup.
* pnmtopng: fix "internal error" and crash bug with -transparent.
* pnmtoxwd: fix endianness on littleendian machines.
* pnmtoxwd: fix bug: doesn't work if you specify an option.
* jpegtopnm: fix bug: -dumpexif all wrong.
* jpegtopnm: fix bug: newline written to stdout instead of stderr with -dumpexif.
* Add missing 'col' declaration so -msse compile works.
* pcdovtoppm: fix syntax error
* pnmtojbig/jbigtopnm: add newline to "usage" message.
* pamperspective: fix bugs with -frame_include, etc.
* build: Jeg2k programs build properly with newer Jasper library.
* build: Fix bug: "no rule to build xxx.so" with external
* Jasper or Jbig library.
* Add NAME and DESCRIPTION section to pointer man pages.
* palmtopnm: fix bug in handling of multi-image streams
* pnmtopalm: fix bugs in computation of nextDepthOffset
* pamtotga: fix crash due to uninitialized "id" field in TGA header
* pamtotga: fix TGA pixel size for TGA with alpha
* pnmtoxwd: fix endianness on little-endian machines
* pnmtoxwd: include 256 colour map in direct colour instead of zero
* pnmtoxwd: fix bug: doesn't work if you specify an option
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
* make error message instaed of invalid output for -plain global option on
a "pam" program
* pnmtojpeg: fix bug with large exif files (negative malloc)
* ppntowinicon: fix bogus "out of memory" failre
* ppmtompeg: fix crash with input that is not a multiple of 16 pixels high
and wide
* pamtotga: fix crash due to freeing nonexistent color table
* pamtotga: fix bug: invalid TGA when you use -rgb with a non-color input
* pgmtopbm: fix calculations that divide by maxval+1; should divide by maxval
* pbm_readpbmrowpacked(): Fix bug: ORs bits into return value instead of
setting them
* Don't try to install pm_gamma (which does not exist in this level)
* pamflip: fix bug with random memory accesses due to signed/unsigned comparison
Changes 10.18.11:
* pnmtopng: fix bug with -transparent
Changes 10.18.10:
* Include pm_system.h, pm_gamma.h in install package
* Fix the ftell/ftello distinction for many platforms
* ppmtogif: Don't violate array bounds when GIF color map is larger
than internal color map.
* yuvsplittoppm: Fix -ccir601 option
* ppmtomap: Change #/bin/sh to #!/bin/sh
Changes 10.18.9:
* ppmtobmp: Fix bug: Generates invalid bits per pixel (e.g. 3) when input
image has small number of colors
* pbmtog3: fix buffer overrun when image > 1728 columns
* pnmtotiffcmyk: Correct abs to fabs so -theta works
* sldtoppm: Correct abs to fabs
* pgmramp: Correct abs to fabs so -rectangle and -ellipse work
* pgmramp: Don't crash with -rectangle and height or width = 1
* pnmtojpeg: interpret "length" field in exif data as unsigned 16 bit
instead of signed.
* ppmforge: Correct abs to fabs so the planet is more than 2 pixels wide
Changes 10.18.8:
* pnmrotate: fix bug: always crashes in memory free
* pnmrotate: remove debugging messages
Changes 10.18.7:
* ppmshadow: Fix crash in all invocations
* pnmquant: Fix bug wherein all options are rejected
Changes 10.18.6:
* Add default RPATHOPT = rpath setting to Makefile.config.in
* Add stdlib.h and pm_config.h to mallocvar.h
* lib/Makefile: $(LIBNETPBMSUFFIX) instead of .so
* fitstopnm: Don't produce maxval 0
Changes 10.18.5:
* pnmtopng: fix bug with array bounds violation with -alpha
Usual symptom: "internal inconsistency" message
Changes 10.18.4:
* anytopnm: Remove "function" so it works on FreeBSD
Changes 10.18.3:
* Fix stack corruption in pXm_check() on systems that have both 32 and 64 bit
file offsets
Changes 10.18.2:
* installnetpbm: don't crash on mkdir on old Perl
* bmptopnm: fix bug with BMPs that end prematurely
Changes 10.11.15:
* Bmptopnm goes into an infinite loop if you give it a BMP file that ends
prematurely. The bug is in the way the program interprets the return code
from fread() in readrow(). You can get the fix from the 10.18.1-10.18.2 diff.
* xwdtopnm: Doesn't work with at least one direct color 24 bits-per-pixel
xwd generated by Xfree86's Xwd.
* ppmquant does not choose the best set of colors. pnmquant does, though.
* giftopnm doesn't understand GIFs with the same color both transparent and
opaque.
pnmtopng -alpha fails with "internal inconsistency detected" message
Changes 10.11.14:
* pstopnm: fix bug in which Standard Input never works
* ppmtobmp: change 'char' to 'unsigned char' to work around a Solaris C library bug
* ppmtobmp: handle maxval properly for maxval != 256 truecolor BMP
Changes 10.11.13:
* Explicitly set SCRIPTS make variable to null so environment
variable of the same name doesn't screw things up.
* stamp_date: don't use LOGNAME as a variable (on AIX, you can't).
* configure: put space after -o in test compiles.
* ppmtompeg: adjust header files in parallel.c so it compiles on AIX
Changes 10.11.12:
* pnmpsnr: fix bug: Cr and Cb interchanged
* Fix crash in pnmstitch
Changes 10.11.10:
* Declare internal subroutines in pgmabel as 'static' so they don't conflict
with some C libraries
Changes 10.11.9:
* pstopnm: fix bug: encapsulated postscript confused with regular postscript,
so all pages get overlaid as one page
by moving the inclusion of buildlink3.mk files outside of the protected
region. This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.
BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list. This ordering property is used to check for builtin
packages in the correct order. The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end. However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives
a value only once due to the multiple inclusion protection in the
bulldlink3.mk files. In the case where a package includes several
buildlink3.mk files that each want a slightly different version of another
dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the
strictest <pkg> dependency to be matched.
In some cases, gtar had problems, like:
/bin/tar: share/doc/netpbm: Cannot unlink: Directory not empty
/bin/tar: share/netpbm: Cannot unlink: Directory not empty
USE_GCC2 or USE_GCC3 where appropriate.
the functionality of the old gcc.buildlink2.mk has been rolled into
compiler.mk now, which is automatically used.
more changes to come later...