Bugfixes:
* compile: multiple fixes isnan and isinf defines to make rrdtool compile
with gcc on solaris (with --disable-nls)
* handle gettext/libintl like any other feature, do not try to supply
our own ... rrdtool can work fine without it
* rrd_client: fix potential segfaults
* rrd_client: resolve synmlinks properly
* compile: fix libtool and libtoolize names for OSX compiles
* compile: fix for HAVE_BROKEN_MS_ASYNC (old linux kernels)
* rrd_xport: fix --daemon handling
* rrd_client: explicitly close connection on error
* rrd_update: fix memory leak for COMPUTE datasources
* rrd_daemon: fix segfault when specifying a relative path (-j option)
* compile: make rrdtool compile with gcc 4.5
* portability: use %lld (long long int) for time_t *printf
* compile: link pangocairo and not pango since we do use pangocairo actually
* compile: re-integrate intl into compile dependency so that hosts with
old (or no) gettext can get access to the included copy.
* rrd_cached: exit with status !=0 on invalid cli
Enhancements:
* updated build files and instructions for win32 port by Chris Larsen
* legal: Relicense the RRDCacheD client interface under the MIT license
* legal: Updted FLOSS Exception for latest PHP license
* rrd_cached: better help output
- python bindings memory handling fix by Anders Hammarquist
(deb bug #529291)
- fix getopt_long integration on Solaris. Depending on the phase of
the moon this bug had caused rrdtool to crash reliably as soon as
it read its arguments. Especially when used in language bindings.
Thanks to Ihsan Dogan for helping with the debugging.
- rrd_restore used casting a bit to liberally this caused it to fail
horribly on 64bit platforms. Patch based in input provided by
poster of rrd bug #218.
- make ruby bindings compile with newer ruby versions. #217 patch
provided by rrd trac user
- Generate an error message when using RRDp with graph - this can
not work reliably. (Debian Bug#251701) patch by Sebastian Harl
The new release contains some rather influential changes.
* Holt-Winters rrds should see a drastic speedup.
* Front-ends relying on output from graph --lazy will work again
* updatev does not segfault on 32 bit platforms anymore.
* rrd_dump produces correct output with german locales.
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.
Features:
- a second axis can now be displayed in rrd_graph. look for
documentation on second-axis. feature was sponsored by VoltWerk.
- win32 port of the source. see WIN32-BUILD-TIPS.txt for details.
contributed by exitgames
Bugfixes:
- rrd_fetch: is more careful when seeking. it should not try to seek
outside the file anymore.
- rrd_restore: works on platforms where "NaN" is not represented as
"NaN" works now (HPUX)
- rrd_graph: label ordering in --full-size is correct now.
- ruby bindings: fix for last method
- perl bindings: fix for build on MacOSX
- rrd_update: make sure time stamp of rrd files get updated even on
platforms with broken MS_ASYNC implementations (osx and old linux)
- rrd_graph: CDEF:x= raises an error now and does not segfault
- Solaris isfinite portability improved
- rrd_graph: --font TITLE:12: problem fixed (affecting cacti)
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
* detect short/truncated files on open (rrdtool used to crash later
on some platforms)
* stop rrd_resize from altering the original file (mmap side
effect)
* fix VDEF and SHIFT use. Now it returns correct data and does
not crash anymore.
* fix rrd_xport when used on datasources with different
resolutions. This has been broken from day 1 of this tools
exsitance.
* fixed default prefix for ruby install
* added rpath for perl bindings on bsd
* do not [fm]advise past the end of the file since this
causes crashes on sparc.
While 1.3.2 did fix the data corruption bug, and was much faster
with creating graphs, it did break badly when you tried to supply
your own font names and sizes. 1.3.3 fixes this regression.
* Do not crash when user tries to select a font in rrdgraph
* Another attempt at makeing it compile out-of-the box on solaris 8
MAJOR BUG-FIX:
* When running rrdtool update with multiple updates in one go and
MMAP enabled, there was a data corruption bug at wrap around.
See http://oss.oetiker.ch/rrdtool-trac/ticket/178 for details
Thanks to Kevin Brintnall
OTHER FIXES:
* Forward ported rra cur_row randomization patch from rrdtool
1.2.28 (it got lost in development).
* Contrary to the documentation imginfo did return the full path
of the image and not only the file name.
* Make --lazy mode work even when PRINT commands are present.
http://oss.oetiker.ch/rrdtool-trac/ticket/163
* Fix Ruby Bindings memory leak.
* Fix compilation on solaris 2.8
* Fix a ton of memory leaks in rrd_create and some in rrd_tool as
well. Based on valgrind analysis by Sven Engelhardt. Thanks!
* Fix handling of error conditions in rrd_tool.c (errno is not the
ideal indicator)
ENHANCEMENTS:
* Text Strings entered in the current locale will automatically be
transformed to utf8 for proper handling by Pango.
* Dramatically improved Pango Performance by introducing a static
fontmap. On my test system the persistent fontmap causes the
second graph with the same fonts in a single session to be
created about 0.18s faster than the first one. For a total graph
creation time of 0.21s this is a pretty substantial improvement.
With this patch, performance for the second graph is back to
1.2.x levels or even better.
* image size does get returned properly even with --lazy active
this broke a number of frontends which should work now.
* fix rrd_restore to be able to read rrd 1.0.x generated dumps again.
* several documetation fixes
* make rrdtool.spec work without php
* complain when someone tries to create an rrd file with step size zero.
* added filename to illegal updated interval error message.
* fix number of rows returned by python modules fetch implementation.
Local change warranting nb1 is to prefix some error messages from
rrdupdate with the name of the file the error relates to, carried
over from nb1 of 1.2.27.
Update loosely OKed by martti@
The announcement of 1.3.0 outlines the changes since 1.2.27:
NEW Fast file access methods (Bernhard Fischer / Tobi Oetiker)
----------------------------
* introduced file-accessor functions rrd_read/rrd_seek/rrd_write
* implemented full mmap-based file access with madvise hints for
improved scalability, much reduced memory-footprint and much less
blocking while accessing the disk
* implemented optional full file-descriptor access instead of FILE*
access
NEW Graphing (Tobi Oetiker)
------------
* libart has been replaced by cairo/pango
* pango markup is supported (--pango-markup)
* full grid fitting
* --graph-render-mode=mono for non anti aliased graphing
* --font-render-mode=mono for non anti aliased fonts
* fonts come through fontconfig, use the Pango font nameing scheme
-> 'Times 20' ... it is not possible to use truetype fonts
directly anymore.
* Tabs are position independent.
* TRENDNAN filter that ignores NAN values while calculating the
TREND data. (Timo Stripf)
* --full-size-mode to specify the outer border of the image and not
just of the graphing canvas (Matthew Chambers)
* TEXTALIGN command to alter default text alignment behavior
* C API in-memory graphing with rrd_graph_v (Evan Miller)
* draw dashed lines in graphs (Thomas Gutzler)
* new interface graphv which returns information using the rrd_info
interface (Tobi Oetiker and Mark Plaksin)
* improved horizontal grid. Have a bit more grid lines and y-axis
labels while keeping them far enough apart to not run into each
other.
NEW Forecasting (Evan Miller)
---------------
* the new MHWPREDICT consolidation function uses a variation of the
Holt-Winters method. It is a drop-in replacement for HWPREDICT,
and is better suited for data whose seasonal variations grow or
shrink in proportion to the average.
* If you create an RRD with the new MHWPREDICT function, the
resulting rrd file will be version 0004 and can only be used in
rrdtool 1.3.
Rewrites
--------
* rrd_restore now uses libxml for parsing which makes things much
more tolerant towards xml variations. The old code could mostly
just parse the XML as it was output by rrdtool dump. See also:
the note at the bottom of this document. (by Florian octo
Forster)
* rrd_update rewritten to make it more modular. Fixed two
longstanding HW bugs in the process (Evan Miller)
Internationalization (Takao Fujiwara and Tobi Oetiker)
--------------------
* The help output by rrdtool has been internationalized. There are
no real translations included with rrdtool yet, contributions are
welcome.
* The internationalization will only be compiled if libintl and
friends are available on your system. Use the configure option
--disable-libintl if you want to disable this feature
Language Bindings
-----------------
* ruby rrd_fetch will return step as a last property -- Mike Perham
RRDtool dump / restore incompatibility
--------------------------------------
* rrdtool dump 1.3 does emit completely legal XML. Basically this
means that it contains an XML header and a DOCTYPE definition.
Unfortunately this causes older versions of rrdtool restore to be
unhappy.
* To restore a new dump with an old rrdtool restore version, either
remove the XML header and the doctype by hand (both on the first
line of the dump) or use rrdtool dump --no-header.
error message, since rrdupdate may update more than one rrd database.
Submitted as a feature enhancement request upstream (#162).
Bump package revision.
Changes:
* doc/rrdcreate.pod, doc/rrdgraph.pod, doc/rrdgraph_graph.pod,
doc/rrdgraph_rpn.pod, doc/rrdtutorial.pod: fixes for better web
rendering
* COPYRIGHT: added ZPL 2.1 to floss exception
* src/rrd_graph.c, trunk/program/src/rrd_graph.c: fixed parsing of
fontnames with embeded spaces
* bindings/tcl/tclrrd.c, configure.ac, src/rrd_cgi.c: * fix fadvice
and madvice inclusion ... again * fix rrdcgi warning * fix
warnings in tcl bindings -- Peter Breitenlohner peb mppmu.mpg.de
* src/rrd_graph.c: weekday and time are too tight
* configure.ac: fixing the solaris build
* netware/Makefile, src/rrd_update.c, win32/Makefile: updates for
netware and mingw32 ... allows for crosscompilation
* src/rrd_update.c: make update compile for mingw32 3.4.5
* bindings/perl-shared/Makefile.PL, configure.ac, src/rrd_tool.h,
src/rrd_update.c: * improve portability of compile environment to
netbsd and solaris
* bindings/python/Makefile.am: libtool builds shared libraries
anyway, no need for extra LDFLAGS that bite non GNU ld versions
* src/rrd_tool.c: resolve snprintf overflow warning by using sizeof
The pwd command for server mode was added. Logarithmic graphs were revisited. GPRINT can now access the time component of VDEF values. DNAN and DINF are much faster through caching. Many bugs were killed.
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
Restoring from 1.0.x format XML dumps was enabled.
The stability of rrdtool fetch results was fixed.
A new rrdtool graph and rrdcgi functions were added.
The pipe mode interface was improved. Many bugfixes were made.
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).
file's sole purpose was to provide a dependency on pkg-config and set
some environment variables. Instead, turn pkg-config into a "tool"
in the tools framework, where the pkg-config wrapper automatically
adds PKG_CONFIG_LIBDIR to the environment before invoking the real
pkg-config.
For all package Makefiles that included pkg-config/buildlink3.mk, remove
that inclusion and replace it with USE_TOOLS+=pkg-config.
will install Perl modules into the "vendor" directories:
chat/vicq math/udunits
databases/rrdtool mbone/beacon
devel/p5-subversion
Bump their PKGREVISIONs.
Major Changes between 1.0.x and 1.2.x
Graphing
--------
* rewritten graphics generation based on libart.
- anti-aliased output
- alpha transparency support
- truetype fonts
* additional graphics formats: EPS, PDF, SVG
* extended multi-part documentation
* VDEF support; define and use variables. Find, and use, the
maximum rate seen by rrdtool; compute and show the average
* Sliding window (trend) analysis
Compute a smoother average, for instance over the last 6 CDPs
* percentile (95th or other)
Remove peaks, 95 percent of all rates are at or below the returned value
Logging
-------
* a second logging interface: rrdtool updatev
Verbose updating of the database; show CPDs being created
* Aberrant Behavior Detection with Holt-Winters Forecasting
Compare current data with expected data, detect and log when
the rates are outside expected levels
* COMPUTE data type for artificial data-sources calculating their
input using RPN math and data from the other data-sources.
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.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
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.
RRDs.so shared perl module is built and thus fix runtime failure
described in PR pkg/24292 by Michael van Elst <mlelstv at serpens dot de>.
Also fix sparc64 compilation warnings and runtime failure due to
time_t's size assumption: sizeof(time_t) != sizeof(long) on NetBSD/sparc64.
While here bl3ify, this somewhat simplify the package, and provide
a buildlink3.mk file.
Bump PKGREVISION.
With wulf@'s blessing.
Packages changes: use buildlink2 and perl5/module.mk, documentation
splitted in $PREFIX/share/doc/{rrdtool,html/rrdtool}/*.
Okay'ed by wulf@.
Changes since version 1.0.33:
- bugfix, + enhancement, * contrib, = RELEASE
---------------------------------------------
= 1.0.40 2002/10/11 -- Tobi
- 2002/10/11 Jeffrey Wheat <jeff@nt.cetlink.net>
updated php4 bindings to work with php 4.2.3
- 2002/10/07 Tomoyuki Murakami <tomoyuki@pobox.com>
-z does not take an option
- 2002/10/03 Gonzalo Augusto Arana Tagle <garana@uolsinectis.com.ar>
fix for PREV() operator
- 2002/08/01 Paul Clifford <paul.clifford@bbc.co.uk>
fix for segfault in print_calc function
+ 2002/07/31 "Nenad Antic (EAB)" <Nenad.Antic@era.ericsson.se>
rrdfetch manpage update
- 2002/07/12 Gonzalo Augusto Arana Tagle <garana@uolsinectis.com.ar>
PREV(xxx) match with DEF_NAM_FMT
- 2002/07/12 Joerg Mertin <mertinj@europe.psi.com>
fixed bindings for php4
- 2002/07/02 Philippe.Simonet@swisscom.com
fixed DINF for win32 compile
= 1.0.39 2002/06/20 -- Tobi
+ 2002/06/20 -- Gonzalo Augusto Arana Tagle <garana@uolsinectis.com.ar>
* new CDEF feature PREV(x) which allows for funky new filters
to be created easily
+ 2002/06/14 -- "Shipway, Steve" <steve.shipway@eds.com>
* Improved docs for rrd_resize
- Tobi
* increassed commandline buffer in rrd_tool.c to 100 kilo Byte
* in rrd_graph replace rint by ceil ...its more portable
* remove // comments and replace with /* .... */
* due to popular demand change strftime format to %V for weeks
+ 2002/05/24 -- Joe Griffin <joe.griffin@mscsoftware.com>
* config.guess and config.sub updates for IA64
= 1.0.38 2002/05/22 -- Tobi
- 2002/05/12 -- Tobi
* fix for crash in restore when used with existing file
- 2002/04/29 -- Alex
* fix for PRINT template parser in rrd_graph ...
- 2002/04/16 -- Milan Obuch <milan.obuch@in.nextra.sk>
* fix for --alt-mrtg
+ 2002/05/01 Wolfgang Schrimm <Wolfgang.Schrimm@urz.uni-heidelberg.de>
* new subcommand xport
= 1.0.37 2002/04/13 -- Tobi
- 2002/04/14 -- Thierry Nkaoua <tnka@linux-sottises.net>
* do not change LC_ALL but just LC_TIME ...
= 1.0.36 2002/04/13 -- Tobi
+ 2002/04/13 -- Milan Obuch <milan.obuch@in.nextra.sk>
* added new options to rrdgraph. Check the manpage for
--overlay, --background, --unit, GD (graph output format)
+ 2002/04/09 -- Tobi
* added setlocale and tzset calls to rrd_graph
- 2002/04/09 -- Tobi
* removed description of --goodfor and --refresh from rrdcgi
- 2002/04/02 -- Paul Vixie <paul@vix.com>
* rrd restore should not burn down existing files
- 2002/03/23 -- Oliver Cook <ollie@uk.clara.net>
* kill segfault in diff code for non digit input
- 2002/03/23 -- Ashok Mandala <chakri063@yahoo.com>
* make sure CDEFs work properly even when none of the contributing
data sources start at start of the cdef.
+ 2002/03/20 -- David Lee <t.d.lee@durham.ac.uk>
* Allow link builds through the ../configure syntax
= 1.0.35 2002/03/20 -- Tobi
- 2002/03/20 -- Tobi
* fixed longstanding off by 1 bug in CDEF for cases where RRDs with
different step sizes were mixed in one CDEF
- 2002/03/13 -- Tobi
* Deal with cases where Config{cc} contains an absolute path to perls
C compiler.
- 2002/03/14 -- Matt Galvin <mgalvin@dandd.com>
* new OS detector config files which can deal with macos X
= 1.0.34 2002/03/12 -- Tobi
- 2002/02/12 -- Tobi
* replaced zlib 1.1.3 with 1.1.4
- 2002/02/06 -- Alexander Schwartz <alexander.schwartz@gmx.net>
* allow rrdcgi to deal with umlauts
- 2001/12/27 -- Tom.Bertelson@gecapital.com
* fix overflow error in rrd_fetch
- 2001/11/28 -- Richard A. Steenbergen <ras@e-gerbil.net>
* allow + - and ' ' in printfsring
- 2001/03/31 -- Tobi
* added 'all' dependancy to site-perl-install rule as many seem to skip
this step when instaling cricket ... probably an incomplete cricket doku.
- 2001/03/02 -- Mike Franusich <mike@franusich.com>
* filedescriptor leak fixed in rrd_open for faild open attempts.
- 2001/03/01 -- Tobi
* test if compiler perl wants to use for building its modules is available on the system
* zlib wants to be linked with -fpic on HPUX or it breaks ...
Rearrange several bits of the rrdtool build mechanism so that we're not
cheating quite as much. The end result is that rrdtool now compiles on
both ELF and a.out.
Closes pkg/14606 from Tim Preston <tim at flibble dot org>
all dependencies on packages depending on "png" which contain shared
libraries, all for the (imminent) update to the "png" package.
[List courtesy of John Darrow, courtesy of "bulk-build".]
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.