From 5ae9312d35bd9931a761a15cbf1e8effe2e7b5d4 Mon Sep 17 00:00:00 2001 From: Alexander Wirt Date: Tue, 19 Feb 2008 00:19:55 +0100 Subject: [PATCH] Imported upstream version 1.2.27 --- CHANGES | 72 ++ COPYRIGHT | 180 ++--- bindings/perl-piped/RRDp.pm | 2 +- bindings/perl-shared/Makefile.PL | 5 +- bindings/perl-shared/RRDs.pm | 2 +- bindings/tcl/tclrrd.c | 26 +- configure | 1194 ++++++++++++++++++++++++++++-- configure.ac | 145 +++- doc/bin_dec_hex.1 | 2 +- doc/bin_dec_hex.txt | 2 +- doc/cdeftutorial.1 | 2 +- doc/cdeftutorial.txt | 2 +- doc/rpntutorial.1 | 2 +- doc/rpntutorial.txt | 2 +- doc/rrd-beginners.1 | 2 +- doc/rrd-beginners.txt | 2 +- doc/rrdbuild.1 | 14 +- doc/rrdbuild.html | 12 +- doc/rrdbuild.pod | 12 +- doc/rrdbuild.txt | 14 +- doc/rrdcgi.1 | 2 +- doc/rrdcgi.txt | 2 +- doc/rrdcreate.1 | 25 +- doc/rrdcreate.html | 7 +- doc/rrdcreate.pod | 10 +- doc/rrdcreate.txt | 298 ++++---- doc/rrddump.1 | 2 +- doc/rrddump.txt | 2 +- doc/rrdfetch.1 | 2 +- doc/rrdfetch.txt | 2 +- doc/rrdfirst.1 | 2 +- doc/rrdfirst.txt | 2 +- doc/rrdgraph.1 | 22 +- doc/rrdgraph.html | 12 +- doc/rrdgraph.pod | 14 +- doc/rrdgraph.txt | 164 ++-- doc/rrdgraph_data.1 | 2 +- doc/rrdgraph_data.txt | 2 +- doc/rrdgraph_examples.1 | 2 +- doc/rrdgraph_examples.txt | 2 +- doc/rrdgraph_graph.1 | 156 ++-- doc/rrdgraph_graph.html | 159 +--- doc/rrdgraph_graph.pod | 160 +--- doc/rrdgraph_graph.txt | 122 +-- doc/rrdgraph_rpn.1 | 8 +- doc/rrdgraph_rpn.html | 9 - doc/rrdgraph_rpn.pod | 6 - doc/rrdgraph_rpn.txt | 8 +- doc/rrdinfo.1 | 2 +- doc/rrdinfo.txt | 2 +- doc/rrdlast.1 | 2 +- doc/rrdlast.txt | 2 +- doc/rrdlastupdate.1 | 2 +- doc/rrdlastupdate.txt | 2 +- doc/rrdresize.1 | 2 +- doc/rrdresize.txt | 2 +- doc/rrdrestore.1 | 2 +- doc/rrdrestore.txt | 2 +- doc/rrdthreads.1 | 2 +- doc/rrdthreads.txt | 2 +- doc/rrdtool.1 | 2 +- doc/rrdtool.txt | 2 +- doc/rrdtune.1 | 2 +- doc/rrdtune.txt | 2 +- doc/rrdtutorial.1 | 4 +- doc/rrdtutorial.html | 2 +- doc/rrdtutorial.pod | 2 +- doc/rrdtutorial.txt | 4 +- doc/rrdupdate.1 | 2 +- doc/rrdupdate.txt | 2 +- doc/rrdxport.1 | 2 +- doc/rrdxport.txt | 2 +- netware/Makefile | 26 +- rrd_config.h.in | 115 ++- rrdtool.spec | 2 +- src/Makefile.am | 4 +- src/Makefile.in | 4 +- src/pngsize.c | 2 +- src/rrd.h | 4 +- src/rrd_afm.c | 4 +- src/rrd_afm.h | 2 +- src/rrd_afm_data.c | 2 +- src/rrd_afm_data.h | 2 +- src/rrd_cgi.c | 4 +- src/rrd_create.c | 2 +- src/rrd_diff.c | 4 +- src/rrd_dump.c | 4 +- src/rrd_error.c | 4 +- src/rrd_fetch.c | 4 +- src/rrd_first.c | 2 +- src/rrd_format.c | 4 +- src/rrd_format.h | 2 +- src/rrd_gfx.c | 2 +- src/rrd_gfx.h | 2 +- src/rrd_graph.c | 23 +- src/rrd_graph_helper.c | 2 +- src/rrd_hw.c | 2 +- src/rrd_hw.h | 2 +- src/rrd_info.c | 2 +- src/rrd_is_thread_safe.h | 4 +- src/rrd_last.c | 2 +- src/rrd_lastupdate.c | 2 +- src/rrd_not_thread_safe.c | 4 +- src/rrd_open.c | 4 +- src/rrd_resize.c | 2 +- src/rrd_restore.c | 2 +- src/rrd_rpncalc.c | 2 +- src/rrd_rpncalc.h | 2 +- src/rrd_thread_safe.c | 4 +- src/rrd_thread_safe_nt.c | 4 +- src/rrd_tool.c | 4 +- src/rrd_tool.h | 31 +- src/rrd_tune.c | 4 +- src/rrd_update.c | 20 +- src/rrd_version.c | 2 +- src/rrd_xport.c | 2 +- src/rrd_xport.h | 2 +- src/rrdupdate.c | 6 +- win32/Makefile | 33 +- 119 files changed, 2220 insertions(+), 1098 deletions(-) diff --git a/CHANGES b/CHANGES index 56bf7d0..cf537f8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,75 @@ +2008-02-17 10:09 oetiker + + * rrdtool-1.2-release: prepare for the release of rrdtool-1.2.27 + +2008-02-17 10:08 oetiker + + * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, + configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am, + src/gdpng.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c, + src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h, + src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c, + src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c, + src/rrd_first.c, src/rrd_format.c, src/rrd_format.h, + src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c, + src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h, + src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c, + src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, src/rrd_open.c, + src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c, + src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c, + src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h, + src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c, + src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prepare for + 1.2.27 release + +2008-02-14 07:25 oetiker + + * doc/rrdcreate.pod, doc/rrdgraph.pod, doc/rrdgraph_graph.pod, + doc/rrdgraph_rpn.pod, doc/rrdtutorial.pod: fixes for better web + rendering + +2008-02-04 18:17 oetiker + + * COPYRIGHT: added ZPL 2.1 to floss exception + +2008-02-01 06:52 oetiker + + * src/rrd_graph.c, trunk/program/src/rrd_graph.c: fixed parsing of + fontnames with embeded spaces + +2008-01-14 16:47 oetiker + + * 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 + +2008-01-12 18:36 oetiker + + * src/rrd_graph.c: weekday and time are too tight + +2007-12-08 22:17 oetiker + + * configure.ac: fixing the solaris build + +2007-11-23 18:18 oetiker + + * netware/Makefile, src/rrd_update.c, win32/Makefile: updates for + netware and mingw32 ... allows for crosscompilation + +2007-11-22 12:33 oetiker + + * src/rrd_update.c: make update compile for mingw32 3.4.5 + +2007-11-21 10:51 oetiker + + * configure.ac: fixedspellingfor netbsd + +2007-11-21 06:57 oetiker + + * bindings/perl-shared/Makefile.PL, configure.ac, src/rrd_tool.h, + src/rrd_update.c: * improve portability of compile environment to + netbsd and solaris + 2007-11-20 00:15 oetiker * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm, diff --git a/COPYRIGHT b/COPYRIGHT index ab5c695..22c971f 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,90 +1,90 @@ - RRDTOOL - Round Robin Database Tool - A tool for fast logging of numerical data graphical display - of this data. - - Copyright (c) 1998-2006 Tobias Oetiker - All rights reserved. - - GNU GPL License - =============== - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - - FLOSS License Exception - ======================= - (Adapted from http://www.mysql.com/company/legal/licensing/foss-exception.html) - - I want specified Free/Libre and Open Source Software ("FLOSS") - applications to be able to use specified GPL-licensed RRDtool - libraries (the "Program") despite the fact that not all FLOSS licenses are - compatible with version 2 of the GNU General Public License (the "GPL"). - - As a special exception to the terms and conditions of version 2.0 of the GPL: - - You are free to distribute a Derivative Work that is formed entirely from - the Program and one or more works (each, a "FLOSS Work") licensed under one - or more of the licenses listed below, as long as: - - 1. You obey the GPL in all respects for the Program and the Derivative - Work, except for identifiable sections of the Derivative Work which are - not derived from the Program, and which can reasonably be considered - independent and separate works in themselves, - - 2. all identifiable sections of the Derivative Work which are not derived - from the Program, and which can reasonably be considered independent and - separate works in themselves, - - 1. are distributed subject to one of the FLOSS licenses listed - below, and - - 2. the object code or executable form of those sections are - accompanied by the complete corresponding machine-readable source - code for those sections on the same medium and under the same FLOSS - license as the corresponding object code or executable forms of - those sections, and - - 3. any works which are aggregated with the Program or with a Derivative - Work on a volume of a storage or distribution medium in accordance with - the GPL, can reasonably be considered independent and separate works in - themselves which are not derivatives of either the Program, a Derivative - Work or a FLOSS Work. - - If the above conditions are not met, then the Program may only be copied, - modified, distributed or used under the terms and conditions of the GPL. - - FLOSS License List - ================== - License name Version(s)/Copyright Date - Academic Free License 2.0 - Apache Software License 1.0/1.1/2.0 - Apple Public Source License 2.0 - Artistic license From Perl 5.8.0 - BSD license "July 22 1999" - Common Public License 1.0 - GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1 - IBM Public License, Version 1.0 - Jabber Open Source License 1.0 - MIT License (As listed in file MIT-License.txt) - - Mozilla Public License (MPL) 1.0/1.1 - Open Software License 2.0 - OpenSSL license (with original SSLeay license) "2003" ("1998") - PHP License 3.0 - Python license (CNRI Python License) - - Python Software Foundation License 2.1.1 - Sleepycat License "1999" - W3C License "2001" - X11 License "2001" - Zlib/libpng License - - Zope Public License 2.0 +RRDTOOL - Round Robin Database Tool +A tool for fast logging of numerical data graphical display +of this data. + +Copyright (c) 1998-2008 Tobias Oetiker +All rights reserved. + +GNU GPL License +=============== + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2 of the License, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +FLOSS License Exception +======================= +(Adapted from http://www.mysql.com/company/legal/licensing/foss-exception.html) + +I want specified Free/Libre and Open Source Software ("FLOSS") +applications to be able to use specified GPL-licensed RRDtool +libraries (the "Program") despite the fact that not all FLOSS licenses are +compatible with version 2 of the GNU General Public License (the "GPL"). + +As a special exception to the terms and conditions of version 2.0 of the GPL: + +You are free to distribute a Derivative Work that is formed entirely from +the Program and one or more works (each, a "FLOSS Work") licensed under one +or more of the licenses listed below, as long as: + +1. You obey the GPL in all respects for the Program and the Derivative +Work, except for identifiable sections of the Derivative Work which are +not derived from the Program, and which can reasonably be considered +independent and separate works in themselves, + +2. all identifiable sections of the Derivative Work which are not derived +from the Program, and which can reasonably be considered independent and +separate works in themselves, + +1. are distributed subject to one of the FLOSS licenses listed +below, and + +2. the object code or executable form of those sections are +accompanied by the complete corresponding machine-readable source +code for those sections on the same medium and under the same FLOSS +license as the corresponding object code or executable forms of +those sections, and + +3. any works which are aggregated with the Program or with a Derivative +Work on a volume of a storage or distribution medium in accordance with +the GPL, can reasonably be considered independent and separate works in +themselves which are not derivatives of either the Program, a Derivative +Work or a FLOSS Work. + +If the above conditions are not met, then the Program may only be copied, +modified, distributed or used under the terms and conditions of the GPL. + +FLOSS License List +================== +License name Version(s)/Copyright Date +Academic Free License 2.0 +Apache Software License 1.0/1.1/2.0 +Apple Public Source License 2.0 +Artistic license From Perl 5.8.0 +BSD license "July 22 1999" +Common Public License 1.0 +GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1 +IBM Public License, Version 1.0 +Jabber Open Source License 1.0 +MIT License (As listed in file MIT-License.txt) - +Mozilla Public License (MPL) 1.0/1.1 +Open Software License 2.0 +OpenSSL license (with original SSLeay license) "2003" ("1998") +PHP License 3.0 +Python license (CNRI Python License) - +Python Software Foundation License 2.1.1 +Sleepycat License "1999" +W3C License "2001" +X11 License "2001" +Zlib/libpng License - +Zope Public License 2.0/2.1 diff --git a/bindings/perl-piped/RRDp.pm b/bindings/perl-piped/RRDp.pm index 3dce004..bc95a12 100644 --- a/bindings/perl-piped/RRDp.pm +++ b/bindings/perl-piped/RRDp.pm @@ -120,7 +120,7 @@ sub cmd (@); sub end (); sub read (); -$VERSION=1.2026; +$VERSION=1.2027; sub start ($){ croak "rrdtool is already running" diff --git a/bindings/perl-shared/Makefile.PL b/bindings/perl-shared/Makefile.PL index 863444c..c31f3b9 100644 --- a/bindings/perl-shared/Makefile.PL +++ b/bindings/perl-shared/Makefile.PL @@ -30,8 +30,11 @@ WriteMakefile( 'VERSION_FROM' => 'RRDs.pm', # finds $VERSION 'DEFINE' => "-DPERLPATCHLEVEL=$Config{PATCHLEVEL}", 'INC' => '-I../../src', + 'LIBS' => '-lm -lpng -lz -lfreetype', # Perl will figure out which one is valid - 'dynamic_lib' => {'OTHERLDFLAGS' => "$librrd -lm"}, + #'dynamic_lib' => {'OTHERLDFLAGS' => "$librrd -lm"}, + 'depend' => {'RRDs.c' => "../../src/librrd.la"}, + 'LDFROM' => '$(OBJECT) '.$librrd, 'realclean' => {FILES => 't/demo?.rrd t/demo?.png' } ); diff --git a/bindings/perl-shared/RRDs.pm b/bindings/perl-shared/RRDs.pm index 2c02dad..44b4d8c 100644 --- a/bindings/perl-shared/RRDs.pm +++ b/bindings/perl-shared/RRDs.pm @@ -7,7 +7,7 @@ use vars qw(@ISA $VERSION); require DynaLoader; -$VERSION=1.2026; +$VERSION=1.2027; bootstrap RRDs $VERSION; diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c index b1b43cc..0086cc8 100644 --- a/bindings/tcl/tclrrd.c +++ b/bindings/tcl/tclrrd.c @@ -8,7 +8,7 @@ * See the file "COPYING" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * $Id: tclrrd.c 1044 2007-05-02 05:08:21Z oetiker $ + * $Id: tclrrd.c 1268 2008-01-14 16:47:23Z oetiker $ */ @@ -100,6 +100,8 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar unsigned long int pdp_step = 300; struct rrd_time_value last_up_tv; + (void) clientData; /* slience gcc */ + argv2 = getopt_init(argc, argv); for (argv_i = 1; argv_i < argc; argv_i++) { @@ -169,7 +171,7 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar return TCL_ERROR; } - rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, argv2 + 2); + rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, (const char **) argv2 + 2); getopt_cleanup(argc, argv2); @@ -189,6 +191,8 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar static int Rrd_Dump(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) { + (void) clientData; /* slience gcc */ + if (argc < 2) { Tcl_AppendResult(interp, "RRD Error: needs rrd filename", (char *) NULL); @@ -215,6 +219,8 @@ Rrd_Dump(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv static int Rrd_Last(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[]) { + (void) clientData; /* slience gcc */ + time_t t; if (argc < 2) { @@ -246,6 +252,8 @@ Rrd_Update(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar int argv_i; char **argv2, *template = NULL; + (void) clientData; /* slience gcc */ + argv2 = getopt_init(argc, argv); for (argv_i = 1; argv_i < argc; argv_i++) { @@ -291,7 +299,7 @@ Rrd_Update(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar return TCL_ERROR; } - rrd_update_r(argv2[1], template, argc - 2, argv2 + 2); + rrd_update_r(argv2[1], template, argc - 2, (const char **) argv2 + 2); if (template != NULL) { free(template); @@ -319,6 +327,8 @@ Rrd_Lastupdate(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char Tcl_Obj *listPtr; unsigned long ds_cnt, i; + (void) clientData; /* slience gcc */ + argv2 = getopt_init(argc, argv); if (rrd_lastupdate(argc-1, argv2, &last_update, &ds_cnt, &ds_namv, &last_ds) == 0) { @@ -358,6 +368,8 @@ Rrd_Fetch(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *arg char s[30]; char **argv2; + (void) clientData; /* slience gcc */ + argv2 = getopt_init(argc, argv); if (rrd_fetch(argc, argv2, &start, &end, &step, &ds_cnt, &ds_namv, &data) != -1) { @@ -402,6 +414,8 @@ Rrd_Graph(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *arg char **argv2; CONST84 char *save; + (void) clientData; /* slience gcc */ + /* * If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to * that file descriptor. Will this work with windoze? I have no idea. @@ -496,6 +510,8 @@ Rrd_Tune(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv { char **argv2; + (void) clientData; /* slience gcc */ + argv2 = getopt_init(argc, argv); rrd_tune(argc, argv2); getopt_cleanup(argc, argv2); @@ -517,6 +533,8 @@ Rrd_Resize(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar { char **argv2; + (void) clientData; /* slience gcc */ + argv2 = getopt_init(argc, argv); rrd_resize(argc, argv2); getopt_cleanup(argc, argv2); @@ -538,6 +556,8 @@ Rrd_Restore(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *a { char **argv2; + (void) clientData; /* slience gcc */ + argv2 = getopt_init(argc, argv); rrd_restore(argc, argv2); getopt_cleanup(argc, argv2); diff --git a/configure b/configure index 715e1f9..105dfce 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for rrdtool 1.2.26. +# Generated by GNU Autoconf 2.61 for rrdtool 1.2.27. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. @@ -726,8 +726,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='rrdtool' PACKAGE_TARNAME='rrdtool' -PACKAGE_VERSION='1.2.26' -PACKAGE_STRING='rrdtool 1.2.26' +PACKAGE_VERSION='1.2.27' +PACKAGE_STRING='rrdtool 1.2.27' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/rrdtool-$PACKAGE_VERSION @@ -1453,7 +1453,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rrdtool 1.2.26 to adapt to many kinds of systems. +\`configure' configures rrdtool 1.2.27 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1524,7 +1524,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rrdtool 1.2.26:";; + short | recursive ) echo "Configuration of rrdtool 1.2.27:";; esac cat <<\_ACEOF @@ -1660,7 +1660,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rrdtool configure 1.2.26 +rrdtool configure 1.2.27 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1674,7 +1674,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rrdtool $as_me 1.2.26, which was +It was created by rrdtool $as_me 1.2.27, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2027,7 +2027,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -NUMVERS=1.2026 +NUMVERS=1.2027 ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2472,7 +2472,7 @@ fi # Define the identity of the package. PACKAGE='rrdtool' - VERSION='1.2.26' + VERSION='1.2.27' cat >>confdefs.h <<_ACEOF @@ -19844,7 +19844,8 @@ fi -for ac_header in sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h + +for ac_header in features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -21170,9 +21171,18 @@ _ACEOF fi -{ echo "$as_me:$LINENO: checking whether posix_fadvise is declared" >&5 -echo $ECHO_N "checking whether posix_fadvise is declared... $ECHO_C" >&6; } -if test "${ac_cv_have_decl_posix_fadvise+set}" = set; then + +if test "x$enable_mmap" = "xyes"; then + case "$host" in + *cygwin*) + # the normal mmap test does not work in cygwin + +for ac_func in mmap +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -21181,28 +21191,53 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#define _XOPEN_SOURCE 600 -#include +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif int main () { -#ifndef posix_fadvise - (void) posix_fadvise; -#endif - +return $ac_func (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -21211,58 +21246,60 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_posix_fadvise=yes + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_posix_fadvise=no + eval "$as_ac_var=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_posix_fadvise" >&5 -echo "${ECHO_T}$ac_cv_have_decl_posix_fadvise" >&6; } -if test $ac_cv_have_decl_posix_fadvise = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_POSIX_FADVISE 1 -_ACEOF - - -else +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_POSIX_FADVISE 0 +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - fi +done + if test "x$ac_cv_func_mmap" = "xyes"; then + ac_cv_func_mmap_fixed_mapped=yes + fi + ;; + *) -{ echo "$as_me:$LINENO: checking whether madvise is declared" >&5 -echo $ECHO_N "checking whether madvise is declared... $ECHO_C" >&6; } -if test "${ac_cv_have_decl_madvise+set}" = set; then +for ac_header in sys/mman.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat >conftest.$ac_ext <<_ACEOF + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - -int -main () -{ -#ifndef madvise - (void) madvise; -#endif - - ; - return 0; -} +$ac_includes_default +#include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -21281,33 +21318,1060 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then - ac_cv_have_decl_madvise=yes + ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_madvise=no + ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_madvise" >&5 -echo "${ECHO_T}$ac_cv_have_decl_madvise" >&6; } -if test $ac_cv_have_decl_madvise = yes; then +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MADVISE 1 +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> _ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MADVISE 0 +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF +fi + +done + + +for ac_header in stdlib.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in getpagesize +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +{ echo "$as_me:$LINENO: checking for working mmap" >&5 +echo $ECHO_N "checking for working mmap... $ECHO_C" >&6; } +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_mmap_fixed_mapped=no +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc + +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propagated back to all the places they're supposed to be. + + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ + +#include +#include + +#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H +char *malloc (); +#endif + +/* This mess was copied from the GNU getpagesize.h. */ +#ifndef HAVE_GETPAGESIZE +/* Assume that all systems that can run configure have sys/param.h. */ +# ifndef HAVE_SYS_PARAM_H +# define HAVE_SYS_PARAM_H 1 +# endif + +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# ifdef HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ + +#endif /* no HAVE_GETPAGESIZE */ + +int +main () +{ + char *data, *data2, *data3; + int i, pagesize; + int fd; + + pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + return 1; + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + return 1; + if (write (fd, data, pagesize) != pagesize) + return 1; + close (fd); + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + return 1; + data2 = (char *) malloc (2 * pagesize); + if (!data2) + return 1; + data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1); + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + return 1; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + return 1; + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + return 1; + if (read (fd, data3, pagesize) != pagesize) + return 1; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + return 1; + close (fd); + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_mmap_fixed_mapped=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_mmap_fixed_mapped=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 +echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6; } +if test $ac_cv_func_mmap_fixed_mapped = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MMAP 1 +_ACEOF + +fi +rm -f conftest.mmap + + + + +for ac_func in mmap munmap msync +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + { echo "$as_me:$LINENO: checking whether madvise is declared" >&5 +echo $ECHO_N "checking whether madvise is declared... $ECHO_C" >&6; } +if test "${ac_cv_have_decl_madvise+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef HAVE_SYS_MMAN_H + # include + #endif + +int +main () +{ +#ifndef madvise + (void) madvise; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_madvise=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_madvise=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_madvise" >&5 +echo "${ECHO_T}$ac_cv_have_decl_madvise" >&6; } +if test $ac_cv_have_decl_madvise = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MADVISE 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MADVISE 0 +_ACEOF + + +fi + + + if test "x$ac_cv_have_decl_madvise" = "xyes"; + then + +for ac_func in madvise +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + else + +for ac_func in posix_madvise +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + if test "x$ac_cv_func_posix_madvise" != "xyes"; then + { echo "$as_me:$LINENO: WARNING: madvise() nor posix_madvise() found." >&5 +echo "$as_me: WARNING: madvise() nor posix_madvise() found." >&2;} + fi + fi + ;; + esac + if test "x$ac_cv_func_mmap" != "xyes"; + then + { { echo "$as_me:$LINENO: error: --enable-mmap requested but mmap() was not detected" >&5 +echo "$as_me: error: --enable-mmap requested but mmap() was not detected" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +{ echo "$as_me:$LINENO: checking whether posix_fadvise is declared" >&5 +echo $ECHO_N "checking whether posix_fadvise is declared... $ECHO_C" >&6; } +if test "${ac_cv_have_decl_posix_fadvise+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _XOPEN_SOURCE 600 +#include + +int +main () +{ +#ifndef posix_fadvise + (void) posix_fadvise; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl_posix_fadvise=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl_posix_fadvise=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_posix_fadvise" >&5 +echo "${ECHO_T}$ac_cv_have_decl_posix_fadvise" >&6; } +if test $ac_cv_have_decl_posix_fadvise = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_POSIX_FADVISE 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_POSIX_FADVISE 0 +_ACEOF + + +fi + + + +for ac_func in posix_fadvise +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done if test "x$enable_mmap" = xyes; then @@ -27972,7 +29036,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rrdtool $as_me 1.2.26, which was +This file was extended by rrdtool $as_me 1.2.27, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -28025,7 +29089,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -rrdtool config.status 1.2.26 +rrdtool config.status 1.2.27 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index e09c051..f238427 100644 --- a/configure.ac +++ b/configure.ac @@ -8,13 +8,13 @@ dnl Inspiration from http://autoconf-archive.cryp.to dnl tell automake the this script is for rrdtool dnl the official version number is dnl a.b.c -AC_INIT([rrdtool],[1.2.26]) +AC_INIT([rrdtool],[1.2.27]) dnl for testing a numberical version number comes handy dnl the released version are dnl a.bccc dnl the devl versions will be something like dnl a.b999yymmddhh -NUMVERS=1.2026 +NUMVERS=1.2027 AC_SUBST(NUMVERS) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE @@ -49,15 +49,106 @@ AH_TOP([ /* realloc does not support NULL as argument */ #undef NO_NULL_REALLOC +/* lets enable madvise defines in NetBSD */ +#if defined(__NetBSD__) +# if !defined(_NETBSD_SOURCE) +# define _NETBSD_SOURCE +# endif +#endif + ]) AH_BOTTOM([ -/* enable posix_fadvise on linux */ -#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H) +#ifdef HAVE_FEATURES_H #define _XOPEN_SOURCE 600 +#undef _BSD_SOURCE /* comment to prevent configure from modifying this line */ +#define _BSD_SOURCE 1 +# include +#endif + +#ifdef HAVE_ERRNO_H +# include +#endif + +#if defined(HAVE_SYS_MMAN_H) +#include +#endif + +#ifdef HAVE_SYS_TYPES_H +# include +#endif + +#ifdef HAVE_SYS_PARAM_H +# include +#endif +#ifndef MAXPATH +# ifdef PATH_MAX +# define MAXPATH PATH_MAX +# endif +#endif +#ifndef MAXPATH +/* else try the BSD variant */ +# ifdef MAXPATHLEN +# define MAXPATH MAXPATHLEN +# endif +#endif + +#if !defined HAVE_MADVISE && defined HAVE_POSIX_MADVISE +/* use posix_madvise family */ +# define madvise posix_madvise +# define MADV_NORMAL POSIX_MADV_NORMAL +# define MADV_RANDOM POSIX_MADV_RANDOM +# define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL +# define MADV_WILLNEED POSIX_MADV_WILLNEED +# define MADV_DONTNEED POSIX_MADV_DONTNEED +#endif + +#if defined POSIX_MADV_RANDOM && !defined MADV_RANDOM +#define MADV_RANDOM POSIX_MADV_RANDOM +#endif + + + +#if defined HAVE_MADVISE || defined HAVE_POSIX_MADVISE +# define USE_MADVISE 1 +#endif + +#ifdef HAVE_SYS_STAT_H +# include +#endif + +#ifdef HAVE_FCNTL_H #include #endif +#ifdef HAVE_UNISTD_H +# include +#endif + +#ifdef TIME_WITH_SYS_TIME +# include +# include +#else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#ifdef HAVE_SYS_TIMES_H +# include +#endif + +#ifdef HAVE_SYS_RESOURCE_H +# include +#if (defined(__svr4__) && defined(__sun__)) +/* Solaris headers (pre 2.6) don't have a getrusage prototype. + Use this instead. */ +extern int getrusage(int, struct rusage *); +#endif /* __svr4__ && __sun__ */ +#endif + /* define strrchr, strchr and memcpy, memmove in terms of bsd funcs make sure you are NOT using bcopy, index or rindex in the code */ @@ -104,12 +195,15 @@ char *strchr (), *strrchr (); /* for Solaris */ #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) # define HAVE_ISINF 1 +# ifdef isinf +# undef isinf /* confuse autoconf */ +# endif # define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) #endif /* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ #if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan +# undef isnan /* confuse autoconf to NOT remove this */ # define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) #endif @@ -222,7 +316,7 @@ CONFIGURE_PART(Checking for Header Files) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT -AC_CHECK_HEADERS(sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h) +AC_CHECK_HEADERS( features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -250,9 +344,46 @@ dnl of the form HAVE_FUNCTION AC_CHECK_FUNCS(tzset mbstowcs opendir readdir chdir chroot getuid setlocale strerror strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday posix_fadvise madvise) AC_CHECK_DECLS(fdatasync, [], [], [#include ]) + +dnl XXX: dunno about windows.. add AC_CHECK_FUNCS(munmap) there too? +if test "x$enable_mmap" = "xyes"; then + case "$host" in + *cygwin*) + # the normal mmap test does not work in cygwin + AC_CHECK_FUNCS(mmap) + if test "x$ac_cv_func_mmap" = "xyes"; then + ac_cv_func_mmap_fixed_mapped=yes + fi + ;; + *) + AC_CHECK_HEADERS(sys/mman.h) + AC_FUNC_MMAP + AC_CHECK_FUNCS(mmap munmap msync) + AC_CHECK_DECLS(madvise, [], [], [#ifdef HAVE_SYS_MMAN_H + # include + #endif]) + if test "x$ac_cv_have_decl_madvise" = "xyes"; + then + AC_CHECK_FUNCS(madvise) + else + AC_CHECK_FUNCS(posix_madvise) + if test "x$ac_cv_func_posix_madvise" != "xyes"; then + AC_MSG_WARN([madvise() nor posix_madvise() found.]) + fi + fi + ;; + esac + if test "x$ac_cv_func_mmap" != "xyes"; + then + AC_MSG_ERROR([--enable-mmap requested but mmap() was not detected]) +dnl enable_mmap="no" + fi +fi + +dnl can we use posix_fadvise AC_CHECK_DECLS(posix_fadvise, [], [], [#define _XOPEN_SOURCE 600 #include ]) -AC_CHECK_DECLS(madvise, [], [], [#include ]) +AC_CHECK_FUNCS(posix_fadvise) if test "x$enable_mmap" = xyes; then case "$host" in diff --git a/doc/bin_dec_hex.1 b/doc/bin_dec_hex.1 index 7744188..f09d6e2 100644 --- a/doc/bin_dec_hex.1 +++ b/doc/bin_dec_hex.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "BIN_DEC_HEX 1" -.TH BIN_DEC_HEX 1 "2007-11-20" "1.2.26" "rrdtool" +.TH BIN_DEC_HEX 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" bin_dec_hex \- How to use binary, decimal, and hexadecimal notation. .SH "DESCRIPTION" diff --git a/doc/bin_dec_hex.txt b/doc/bin_dec_hex.txt index 3063ee6..8b86f19 100644 --- a/doc/bin_dec_hex.txt +++ b/doc/bin_dec_hex.txt @@ -371,4 +371,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 BIN_DEC_HEX(1) +1.2.27 2008-02-17 BIN_DEC_HEX(1) diff --git a/doc/cdeftutorial.1 b/doc/cdeftutorial.1 index 052edf5..26cd3e9 100644 --- a/doc/cdeftutorial.1 +++ b/doc/cdeftutorial.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "CDEFTUTORIAL 1" -.TH CDEFTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool" +.TH CDEFTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" cdeftutorial \- Alex van den Bogaerdt's CDEF tutorial .SH "DESCRIPTION" diff --git a/doc/cdeftutorial.txt b/doc/cdeftutorial.txt index 3d01aa7..647b758 100644 --- a/doc/cdeftutorial.txt +++ b/doc/cdeftutorial.txt @@ -799,4 +799,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 CDEFTUTORIAL(1) +1.2.27 2008-02-17 CDEFTUTORIAL(1) diff --git a/doc/rpntutorial.1 b/doc/rpntutorial.1 index a3b0707..83734a8 100644 --- a/doc/rpntutorial.1 +++ b/doc/rpntutorial.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RPNTUTORIAL 1" -.TH RPNTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RPNTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rpntutorial \- Reading RRDtool RPN Expressions by Steve Rader .SH "DESCRIPTION" diff --git a/doc/rpntutorial.txt b/doc/rpntutorial.txt index 0e733c2..f936d2d 100644 --- a/doc/rpntutorial.txt +++ b/doc/rpntutorial.txt @@ -187,4 +187,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RPNTUTORIAL(1) +1.2.27 2008-02-17 RPNTUTORIAL(1) diff --git a/doc/rrd-beginners.1 b/doc/rrd-beginners.1 index 9a2772a..5c67f83 100644 --- a/doc/rrd-beginners.1 +++ b/doc/rrd-beginners.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRD-BEGINNERS 1" -.TH RRD-BEGINNERS 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRD-BEGINNERS 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrd\-beginners \- RRDtool Beginners' Guide .SH "SYNOPSIS" diff --git a/doc/rrd-beginners.txt b/doc/rrd-beginners.txt index dad5251..8c60eeb 100644 --- a/doc/rrd-beginners.txt +++ b/doc/rrd-beginners.txt @@ -318,4 +318,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRD-BEGINNERS(1) +1.2.27 2008-02-17 RRD-BEGINNERS(1) diff --git a/doc/rrdbuild.1 b/doc/rrdbuild.1 index 964629a..52b88b9 100644 --- a/doc/rrdbuild.1 +++ b/doc/rrdbuild.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDBUILD 1" -.TH RRDBUILD 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDBUILD 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdbuild \- Instructions for building RRDtool .SH "DESCRIPTION" @@ -157,14 +157,14 @@ Depending on the shell you are using, you can do either (bash,zsh): .PP .Vb 2 \& BUILD_DIR=/tmp/rrdbuild -\& INSTALL_DIR=/usr/local/rrdtool\-1.2.26 +\& INSTALL_DIR=/usr/local/rrdtool\-1.2.27 .Ve .PP Or if you run tcsh: .PP .Vb 2 \& set BUILD_DIR=/tmp/rrdbuild -\& set INSTALL_DIR=/usr/local/rrdtool\-1.2.26 +\& set INSTALL_DIR=/usr/local/rrdtool\-1.2.27 .Ve .PP If your \fI/tmp\fR is mounted with the option noexec (\s-1RHEL\s0 seems todo that) you have to choose @@ -183,9 +183,9 @@ pre\-installed. Note that these instructions assume that your copies of could be that they are installed as \fBgtar\fR and \fBgmake\fR on your system. .PP .Vb 4 -\& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.2.26.tar.gz -\& tar zxf rrdtool\-1.2.26.tar.gz -\& cd rrdtool\-1.2.26 +\& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.2.27.tar.gz +\& tar zxf rrdtool\-1.2.27.tar.gz +\& cd rrdtool\-1.2.27 \& ./configure \-\-prefix=$INSTALL_DIR && make && make install .Ve .PP @@ -322,7 +322,7 @@ tcl setups that would prevent rrdtool from building if they are included in their current state. .PP .Vb 5 -\& cd $BUILD_DIR/rrdtool\-1.2.26 +\& cd $BUILD_DIR/rrdtool\-1.2.27 \& ./configure \-\-prefix=$INSTALL_DIR \-\-disable\-python \-\-disable\-tcl \& make clean \& make diff --git a/doc/rrdbuild.html b/doc/rrdbuild.html index 2202ec7..455b85d 100644 --- a/doc/rrdbuild.html +++ b/doc/rrdbuild.html @@ -67,11 +67,11 @@ ones before you can build RRDtool.

Depending on the shell you are using, you can do either (bash,zsh):

  BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27

Or if you run tcsh:

  set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27

If your /tmp is mounted with the option noexec (RHEL seems todo that) you have to choose a different directory!

Now make sure the BUILD_DIR exists and go there:

@@ -83,9 +83,9 @@ pre-installed. Note that these instructions assume that your copies of tar and make are actually GNU tar and GNU make respectively. It could be that they are installed as gtar and gmake on your system.

- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
+ tar zxf rrdtool-1.2.27.tar.gz
+ cd rrdtool-1.2.27
  ./configure --prefix=$INSTALL_DIR && make && make install

Ok, this was very optimistic. This try will probably have ended with configure complaining about several missing libraries. If you are on a @@ -216,7 +216,7 @@ because it seems that a fair number of people have ill configured python and tcl setups that would prevent rrdtool from building if they are included in their current state.

- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
  ./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
  make clean
  make
diff --git a/doc/rrdbuild.pod b/doc/rrdbuild.pod
index 07ac7eb..dd3e71e 100644
--- a/doc/rrdbuild.pod
+++ b/doc/rrdbuild.pod
@@ -35,12 +35,12 @@ Once you have decided. Save the two locations into environment variables.
 Depending on the shell you are using, you can do either (bash,zsh):
 
  BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27
 
 Or if you run tcsh:
 
  set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27
 
 If your F is mounted with the option noexec (RHEL seems todo that) you have to choose
 a different directory!
@@ -55,9 +55,9 @@ pre-installed. Note that these instructions assume that your copies of
 B and B are actually B and B respectively. It
 could be that they are installed as B and B on your system.
 
- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
+ tar zxf rrdtool-1.2.27.tar.gz
+ cd rrdtool-1.2.27
  ./configure --prefix=$INSTALL_DIR && make && make install
 
 Ok, this was very optimistic. This try will probably have ended with
@@ -185,7 +185,7 @@ because it seems that a fair number of people have ill configured python and
 tcl setups that would prevent rrdtool from building if they are included in
 their current state.
 
- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
  ./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
  make clean
  make
diff --git a/doc/rrdbuild.txt b/doc/rrdbuild.txt
index 7749d99..d63f139 100644
--- a/doc/rrdbuild.txt
+++ b/doc/rrdbuild.txt
@@ -30,12 +30,12 @@ DDEESSCCRRIIPPTTIIOONN
        (bash,zsh):
 
         BUILD_DIR=/tmp/rrdbuild
-        INSTALL_DIR=/usr/local/rrdtool-1.2.26
+        INSTALL_DIR=/usr/local/rrdtool-1.2.27
 
        Or if you run tcsh:
 
         set BUILD_DIR=/tmp/rrdbuild
-        set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+        set INSTALL_DIR=/usr/local/rrdtool-1.2.27
 
        If your _/_t_m_p is mounted with the option noexec (RHEL seems todo that)
        you have to choose a different directory!
@@ -50,9 +50,9 @@ DDEESSCCRRIIPPTTIIOONN
        ttaarr and mmaakkee are actually GGNNUU ttaarr and GGNNUU mmaakkee respectively. It could
        be that they are installed as ggttaarr and ggmmaakkee on your system.
 
-        wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
-        tar zxf rrdtool-1.2.26.tar.gz
-        cd rrdtool-1.2.26
+        wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
+        tar zxf rrdtool-1.2.27.tar.gz
+        cd rrdtool-1.2.27
         ./configure --prefix=$INSTALL_DIR && make && make install
 
        Ok, this was very optimistic. This try will probably have ended with
@@ -171,7 +171,7 @@ DDEESSCCRRIIPPTTIIOONN
        python and tcl setups that would prevent rrdtool from building if they
        are included in their current state.
 
-        cd $BUILD_DIR/rrdtool-1.2.26
+        cd $BUILD_DIR/rrdtool-1.2.27
         ./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
         make clean
         make
@@ -190,4 +190,4 @@ AAUUTTHHOORR
 
 
 
-1.2.26                            2007-11-20                       RRDBUILD(1)
+1.2.27                            2008-02-17                       RRDBUILD(1)
diff --git a/doc/rrdcgi.1 b/doc/rrdcgi.1
index 5be0d12..f4e67fb 100644
--- a/doc/rrdcgi.1
+++ b/doc/rrdcgi.1
@@ -129,7 +129,7 @@
 .\" ========================================================================
 .\"
 .IX Title "RRDCGI 1"
-.TH RRDCGI 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDCGI 1 "2008-02-17" "1.2.27" "rrdtool"
 .SH "NAME"
 rrdcgi \- Create web pages containing RRD graphs based on templates
 .SH "SYNOPSIS"
diff --git a/doc/rrdcgi.txt b/doc/rrdcgi.txt
index 949a8ef..604bbcc 100644
--- a/doc/rrdcgi.txt
+++ b/doc/rrdcgi.txt
@@ -204,4 +204,4 @@ AAUUTTHHOORR
 
 
 
-1.2.26                            2007-11-20                         RRDCGI(1)
+1.2.27                            2008-02-17                         RRDCGI(1)
diff --git a/doc/rrdcreate.1 b/doc/rrdcreate.1
index b18228f..f32da36 100644
--- a/doc/rrdcreate.1
+++ b/doc/rrdcreate.1
@@ -129,7 +129,7 @@
 .\" ========================================================================
 .\"
 .IX Title "RRDCREATE 1"
-.TH RRDCREATE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDCREATE 1 "2008-02-17" "1.2.27" "rrdtool"
 .SH "NAME"
 rrdcreate \- Set up a new Round Robin Database
 .SH "SYNOPSIS"
@@ -144,12 +144,12 @@ rrdcreate \- Set up a new Round Robin Database
 The create function of RRDtool lets you set up new Round Robin
 Database (\fB\s-1RRD\s0\fR) files.  The file is created at its final, full size
 and filled with \fI*UNKNOWN*\fR data.
-.IP "\fIfilename\fR" 8
+.IP "\fIfilename\fR" 4
 .IX Item "filename"
 The name of the \fB\s-1RRD\s0\fR you want to create. \fB\s-1RRD\s0\fR files should end
 with the extension \fI.rrd\fR. However, \fBRRDtool\fR will accept any
 filename.
-.IP "\fB\-\-start\fR|\fB\-b\fR \fIstart time\fR (default: now \- 10s)" 8
+.IP "\fB\-\-start\fR|\fB\-b\fR \fIstart time\fR (default: now \- 10s)" 4
 .IX Item "--start|-b start time (default: now - 10s)"
 Specifies the time in seconds since 1970\-01\-01 \s-1UTC\s0 when the first
 value should be added to the \fB\s-1RRD\s0\fR. \fBRRDtool\fR will not accept
@@ -157,11 +157,11 @@ any data timed before or at the time specified.
 .Sp
 See also AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0 section in the
 \&\fIrrdfetch\fR documentation for other ways to specify time.
-.IP "\fB\-\-step\fR|\fB\-s\fR \fIstep\fR (default: 300 seconds)" 8
+.IP "\fB\-\-step\fR|\fB\-s\fR \fIstep\fR (default: 300 seconds)" 4
 .IX Item "--step|-s step (default: 300 seconds)"
 Specifies the base interval in seconds with which data will be fed
 into the \fB\s-1RRD\s0\fR.
-.IP "\fB\s-1DS:\s0\fR\fIds-name\fR\fB:\fR\fI\s-1DST\s0\fR\fB:\fR\fIdst arguments\fR" 8
+.IP "\fB\s-1DS:\s0\fR\fIds-name\fR\fB:\fR\fI\s-1DST\s0\fR\fB:\fR\fIdst arguments\fR" 4
 .IX Item "DS:ds-name:DST:dst arguments"
 A single \fB\s-1RRD\s0\fR can accept input from several data sources (\fB\s-1DS\s0\fR),
 for example incoming and outgoing traffic on a specific communication
@@ -185,7 +185,7 @@ For \s-1COMPUTE\s0 data sources, the format is:
 In order to decide which data source type to use, review the
 definitions that follow. Also consult the section on \*(L"\s-1HOW\s0 \s-1TO\s0 \s-1MEASURE\s0\*(R"
 for further insight.
-.RS 8
+.RS 4
 .IP "\fB\s-1GAUGE\s0\fR" 4
 .IX Item "GAUGE"
 is for things like temperatures or number of people in a room or the
@@ -207,9 +207,9 @@ example, to measure the rate of people entering or leaving a
 room. Internally, derive works exactly like \s-1COUNTER\s0 but without
 overflow checks. So if your counter does not reset at 32 or 64 bit you
 might want to use \s-1DERIVE\s0 and combine it with a \s-1MIN\s0 value of 0.
-.RS 4
-.IP "\s-1NOTE\s0 on \s-1COUNTER\s0 vs \s-1DERIVE\s0" 4
-.IX Item "NOTE on COUNTER vs DERIVE"
+.Sp
+\&\s-1NOTE\s0 on \s-1COUNTER\s0 vs \s-1DERIVE\s0
+.Sp
 by Don Baarda 
 .Sp
 If you cannot tolerate ever mistaking the occasional counter reset for a
@@ -226,9 +226,6 @@ for high bandwidth interfaces and a 32bit counter, \s-1DERIVE\s0 with min=0 is
 probably preferable. If you are using a 64bit counter, just about any max
 setting will eliminate the possibility of mistaking a reset for a counter
 wrap.
-.RE
-.RS 4
-.RE
 .IP "\fB\s-1ABSOLUTE\s0\fR" 4
 .IX Item "ABSOLUTE"
 is for counters which get reset upon reading. This is used for fast counters
@@ -247,7 +244,7 @@ of the \s-1COMPUTE\s0 data source (that is the rpn-expression is only applied
 to generate PDPs). In database software, such data sets are referred
 to as \*(L"virtual\*(R" or \*(L"computed\*(R" columns.
 .RE
-.RS 8
+.RS 4
 .Sp
 \&\fIheartbeat\fR defines the maximum number of seconds that may pass
 between two updates of this data source before the value of the
@@ -275,7 +272,7 @@ names of data source listed previously in the create command. This is
 similar to the restriction that \fB\s-1CDEF\s0\fRs must refer only to \fB\s-1DEF\s0\fRs
 and \fB\s-1CDEF\s0\fRs previously defined in the same graph command.
 .RE
-.IP "\fB\s-1RRA:\s0\fR\fI\s-1CF\s0\fR\fB:\fR\fIcf arguments\fR" 8
+.IP "\fB\s-1RRA:\s0\fR\fI\s-1CF\s0\fR\fB:\fR\fIcf arguments\fR" 4
 .IX Item "RRA:CF:cf arguments"
 The purpose of an \fB\s-1RRD\s0\fR is to store data in the round robin archives
 (\fB\s-1RRA\s0\fR). An archive consists of a number of data values or statistics for
diff --git a/doc/rrdcreate.html b/doc/rrdcreate.html
index 8b4d326..a331537 100644
--- a/doc/rrdcreate.html
+++ b/doc/rrdcreate.html
@@ -139,9 +139,9 @@ room. Internally, derive works exactly like COUNTER but without
 overflow checks. So if your counter does not reset at 32 or 64 bit you
 might want to use DERIVE and combine it with a MIN value of 0.

-
-
NOTE on COUNTER vs DERIVE - +
+

NOTE on COUNTER vs DERIVE

+

by Don Baarda <don.baarda@baesystems.com>

@@ -163,7 +163,6 @@ setting will eliminate the possibility of mistaking a reset for a counter wrap.

-
ABSOLUTE
diff --git a/doc/rrdcreate.pod b/doc/rrdcreate.pod index 27ef702..a47acbb 100644 --- a/doc/rrdcreate.pod +++ b/doc/rrdcreate.pod @@ -16,7 +16,7 @@ The create function of RRDtool lets you set up new Round Robin Database (B) files. The file is created at its final, full size and filled with I<*UNKNOWN*> data. -=over 8 +=over =item I @@ -63,7 +63,7 @@ In order to decide which data source type to use, review the definitions that follow. Also consult the section on "HOW TO MEASURE" for further insight. -=over 4 +=over =item B @@ -89,9 +89,7 @@ room. Internally, derive works exactly like COUNTER but without overflow checks. So if your counter does not reset at 32 or 64 bit you might want to use DERIVE and combine it with a MIN value of 0. -=over - -=item NOTE on COUNTER vs DERIVE +NOTE on COUNTER vs DERIVE by Don Baarda Edon.baarda@baesystems.comE @@ -110,8 +108,6 @@ probably preferable. If you are using a 64bit counter, just about any max setting will eliminate the possibility of mistaking a reset for a counter wrap. -=back - =item B is for counters which get reset upon reading. This is used for fast counters diff --git a/doc/rrdcreate.txt b/doc/rrdcreate.txt index 3d2560c..eaa70c1 100644 --- a/doc/rrdcreate.txt +++ b/doc/rrdcreate.txt @@ -15,172 +15,166 @@ DDEESSCCRRIIPPTTIIOONN with _*_U_N_K_N_O_W_N_* data. _f_i_l_e_n_a_m_e - The name of the RRRRDD you want to create. RRRRDD files should end - with the extension _._r_r_d. However, RRRRDDttooooll will accept any file- - name. + The name of the RRRRDD you want to create. RRRRDD files should end with + the extension _._r_r_d. However, RRRRDDttooooll will accept any filename. ----ssttaarrtt|--bb _s_t_a_r_t _t_i_m_e (default: now - 10s) - Specifies the time in seconds since 1970-01-01 UTC when the - first value should be added to the RRRRDD. RRRRDDttooooll will not accept - any data timed before or at the time specified. + Specifies the time in seconds since 1970-01-01 UTC when the first + value should be added to the RRRRDD. RRRRDDttooooll will not accept any data + timed before or at the time specified. - See also AT-STYLE TIME SPECIFICATION section in the _r_r_d_f_e_t_c_h - documentation for other ways to specify time. + See also AT-STYLE TIME SPECIFICATION section in the _r_r_d_f_e_t_c_h docu- + mentation for other ways to specify time. ----sstteepp|--ss _s_t_e_p (default: 300 seconds) - Specifies the base interval in seconds with which data will be - fed into the RRRRDD. + Specifies the base interval in seconds with which data will be fed + into the RRRRDD. DDSS::_d_s_-_n_a_m_e::_D_S_T::_d_s_t _a_r_g_u_m_e_n_t_s - A single RRRRDD can accept input from several data sources (DDSS), - for example incoming and outgoing traffic on a specific commu- - nication line. With the DDSS configuration option you must define - some basic properties of each data source you want to store in - the RRRRDD. - - _d_s_-_n_a_m_e is the name you will use to reference this particular - data source from an RRRRDD. A _d_s_-_n_a_m_e must be 1 to 19 characters - long in the characters [a-zA-Z0-9_]. - - _D_S_T defines the Data Source Type. The remaining arguments of a - data source entry depend on the data source type. For GAUGE, - COUNTER, DERIVE, and ABSOLUTE the format for a data source - entry is: - - DDSS::_d_s_-_n_a_m_e::_G_A_U_G_E _| _C_O_U_N_T_E_R _| _D_E_R_I_V_E _| _A_B_S_O_L_U_T_E::_h_e_a_r_t_- - _b_e_a_t::_m_i_n::_m_a_x - - For COMPUTE data sources, the format is: - - DDSS::_d_s_-_n_a_m_e::_C_O_M_P_U_T_E::_r_p_n_-_e_x_p_r_e_s_s_i_o_n - - In order to decide which data source type to use, review the - definitions that follow. Also consult the section on "HOW TO - MEASURE" for further insight. - - GGAAUUGGEE - is for things like temperatures or number of people in a - room or the value of a RedHat share. - - CCOOUUNNTTEERR - is for continuous incrementing counters like the ifInOctets - counter in a router. The CCOOUUNNTTEERR data source assumes that - the counter never decreases, except when a counter over- - flows. The update function takes the overflow into - account. The counter is stored as a per-second rate. When - the counter overflows, RRDtool checks if the overflow hap- - pened at the 32bit or 64bit border and acts accordingly by - adding an appropriate value to the result. - - DDEERRIIVVEE - will store the derivative of the line going from the last - to the current value of the data source. This can be useful - for gauges, for example, to measure the rate of people - entering or leaving a room. Internally, derive works - exactly like COUNTER but without overflow checks. So if - your counter does not reset at 32 or 64 bit you might want - to use DERIVE and combine it with a MIN value of 0. - - NOTE on COUNTER vs DERIVE - by Don Baarda - - If you cannot tolerate ever mistaking the occasional - counter reset for a legitimate counter wrap, and would - prefer "Unknowns" for all legitimate counter wraps and - resets, always use DERIVE with min=0. Otherwise, using - COUNTER with a suitable max will return correct values - for all legitimate counter wraps, mark some counter - resets as "Unknown", but can mistake some counter - resets for a legitimate counter wrap. - - For a 5 minute step and 32-bit counter, the probability - of mistaking a counter reset for a legitimate wrap is - arguably about 0.8% per 1Mbps of maximum bandwidth. - Note that this equates to 80% for 100Mbps interfaces, - so for high bandwidth interfaces and a 32bit counter, - DERIVE with min=0 is probably preferable. If you are - using a 64bit counter, just about any max setting will - eliminate the possibility of mistaking a reset for a - counter wrap. - - AABBSSOOLLUUTTEE - is for counters which get reset upon reading. This is used - for fast counters which tend to overflow. So instead of - reading them normally you reset them after every read to - make sure you have a maximum time available before the next - overflow. Another usage is for things you count like number - of messages since the last update. - - CCOOMMPPUUTTEE - is for storing the result of a formula applied to other - data sources in the RRRRDD. This data source is not supplied a - value on update, but rather its Primary Data Points (PDPs) - are computed from the PDPs of the data sources according to - the rpn-expression that defines the formula. Consolidation - functions are then applied normally to the PDPs of the COM- - PUTE data source (that is the rpn-expression is only - applied to generate PDPs). In database software, such data - sets are referred to as "virtual" or "computed" columns. - - _h_e_a_r_t_b_e_a_t defines the maximum number of seconds that may pass - between two updates of this data source before the value of the - data source is assumed to be _*_U_N_K_N_O_W_N_*. - - _m_i_n and _m_a_x define the expected range values for data supplied - by a data source. If _m_i_n and/or _m_a_x any value outside the - defined range will be regarded as _*_U_N_K_N_O_W_N_*. If you do not know - or care about min and max, set them to U for unknown. Note that - min and max always refer to the processed values of the DS. For - a traffic-CCOOUUNNTTEERR type DS this would be the maximum and minimum - data-rate expected from the device. - - _I_f _i_n_f_o_r_m_a_t_i_o_n _o_n _m_i_n_i_m_a_l_/_m_a_x_i_m_a_l _e_x_p_e_c_t_e_d _v_a_l_u_e_s _i_s _a_v_a_i_l_a_b_l_e_, - _a_l_w_a_y_s _s_e_t _t_h_e _m_i_n _a_n_d_/_o_r _m_a_x _p_r_o_p_e_r_t_i_e_s_. _T_h_i_s _w_i_l_l _h_e_l_p _R_R_D_- - _t_o_o_l _i_n _d_o_i_n_g _a _s_i_m_p_l_e _s_a_n_i_t_y _c_h_e_c_k _o_n _t_h_e _d_a_t_a _s_u_p_p_l_i_e_d _w_h_e_n - _r_u_n_n_i_n_g _u_p_d_a_t_e_. - - _r_p_n_-_e_x_p_r_e_s_s_i_o_n defines the formula used to compute the PDPs of - a COMPUTE data source from other data sources in the same - . It is similar to defining a CCDDEEFF argument for the graph - command. Please refer to that manual page for a list and - description of RPN operations supported. For COMPUTE data - sources, the following RPN operations are not supported: COUNT, - PREV, TIME, and LTIME. In addition, in defining the RPN expres- - sion, the COMPUTE data source may only refer to the names of - data source listed previously in the create command. This is - similar to the restriction that CCDDEEFFs must refer only to DDEEFFs - and CCDDEEFFs previously defined in the same graph command. + A single RRRRDD can accept input from several data sources (DDSS), for + example incoming and outgoing traffic on a specific communication + line. With the DDSS configuration option you must define some basic + properties of each data source you want to store in the RRRRDD. + + _d_s_-_n_a_m_e is the name you will use to reference this particular data + source from an RRRRDD. A _d_s_-_n_a_m_e must be 1 to 19 characters long in + the characters [a-zA-Z0-9_]. + + _D_S_T defines the Data Source Type. The remaining arguments of a data + source entry depend on the data source type. For GAUGE, COUNTER, + DERIVE, and ABSOLUTE the format for a data source entry is: + + DDSS::_d_s_-_n_a_m_e::_G_A_U_G_E _| _C_O_U_N_T_E_R _| _D_E_R_I_V_E _| _A_B_S_O_L_U_T_E::_h_e_a_r_t_b_e_a_t::_m_i_n::_m_a_x + + For COMPUTE data sources, the format is: + + DDSS::_d_s_-_n_a_m_e::_C_O_M_P_U_T_E::_r_p_n_-_e_x_p_r_e_s_s_i_o_n + + In order to decide which data source type to use, review the defi- + nitions that follow. Also consult the section on "HOW TO MEASURE" + for further insight. + + GGAAUUGGEE + is for things like temperatures or number of people in a room + or the value of a RedHat share. + + CCOOUUNNTTEERR + is for continuous incrementing counters like the ifInOctets + counter in a router. The CCOOUUNNTTEERR data source assumes that the + counter never decreases, except when a counter overflows. The + update function takes the overflow into account. The counter + is stored as a per-second rate. When the counter overflows, + RRDtool checks if the overflow happened at the 32bit or 64bit + border and acts accordingly by adding an appropriate value to + the result. + + DDEERRIIVVEE + will store the derivative of the line going from the last to + the current value of the data source. This can be useful for + gauges, for example, to measure the rate of people entering or + leaving a room. Internally, derive works exactly like COUNTER + but without overflow checks. So if your counter does not reset + at 32 or 64 bit you might want to use DERIVE and combine it + with a MIN value of 0. + + NOTE on COUNTER vs DERIVE + + by Don Baarda + + If you cannot tolerate ever mistaking the occasional counter + reset for a legitimate counter wrap, and would prefer + "Unknowns" for all legitimate counter wraps and resets, always + use DERIVE with min=0. Otherwise, using COUNTER with a suitable + max will return correct values for all legitimate counter + wraps, mark some counter resets as "Unknown", but can mistake + some counter resets for a legitimate counter wrap. + + For a 5 minute step and 32-bit counter, the probability of mis- + taking a counter reset for a legitimate wrap is arguably about + 0.8% per 1Mbps of maximum bandwidth. Note that this equates to + 80% for 100Mbps interfaces, so for high bandwidth interfaces + and a 32bit counter, DERIVE with min=0 is probably preferable. + If you are using a 64bit counter, just about any max setting + will eliminate the possibility of mistaking a reset for a + counter wrap. + + AABBSSOOLLUUTTEE + is for counters which get reset upon reading. This is used for + fast counters which tend to overflow. So instead of reading + them normally you reset them after every read to make sure you + have a maximum time available before the next overflow. Another + usage is for things you count like number of messages since the + last update. + + CCOOMMPPUUTTEE + is for storing the result of a formula applied to other data + sources in the RRRRDD. This data source is not supplied a value on + update, but rather its Primary Data Points (PDPs) are computed + from the PDPs of the data sources according to the rpn-expres- + sion that defines the formula. Consolidation functions are then + applied normally to the PDPs of the COMPUTE data source (that + is the rpn-expression is only applied to generate PDPs). In + database software, such data sets are referred to as "virtual" + or "computed" columns. + + _h_e_a_r_t_b_e_a_t defines the maximum number of seconds that may pass + between two updates of this data source before the value of the + data source is assumed to be _*_U_N_K_N_O_W_N_*. + + _m_i_n and _m_a_x define the expected range values for data supplied by a + data source. If _m_i_n and/or _m_a_x any value outside the defined range + will be regarded as _*_U_N_K_N_O_W_N_*. If you do not know or care about min + and max, set them to U for unknown. Note that min and max always + refer to the processed values of the DS. For a traffic-CCOOUUNNTTEERR type + DS this would be the maximum and minimum data-rate expected from + the device. + + _I_f _i_n_f_o_r_m_a_t_i_o_n _o_n _m_i_n_i_m_a_l_/_m_a_x_i_m_a_l _e_x_p_e_c_t_e_d _v_a_l_u_e_s _i_s _a_v_a_i_l_a_b_l_e_, + _a_l_w_a_y_s _s_e_t _t_h_e _m_i_n _a_n_d_/_o_r _m_a_x _p_r_o_p_e_r_t_i_e_s_. _T_h_i_s _w_i_l_l _h_e_l_p _R_R_D_t_o_o_l _i_n + _d_o_i_n_g _a _s_i_m_p_l_e _s_a_n_i_t_y _c_h_e_c_k _o_n _t_h_e _d_a_t_a _s_u_p_p_l_i_e_d _w_h_e_n _r_u_n_n_i_n_g + _u_p_d_a_t_e_. + + _r_p_n_-_e_x_p_r_e_s_s_i_o_n defines the formula used to compute the PDPs of a + COMPUTE data source from other data sources in the same . It + is similar to defining a CCDDEEFF argument for the graph command. + Please refer to that manual page for a list and description of RPN + operations supported. For COMPUTE data sources, the following RPN + operations are not supported: COUNT, PREV, TIME, and LTIME. In + addition, in defining the RPN expression, the COMPUTE data source + may only refer to the names of data source listed previously in the + create command. This is similar to the restriction that CCDDEEFFs must + refer only to DDEEFFs and CCDDEEFFs previously defined in the same graph + command. RRRRAA::_C_F::_c_f _a_r_g_u_m_e_n_t_s - The purpose of an RRRRDD is to store data in the round robin - archives (RRRRAA). An archive consists of a number of data values - or statistics for each of the defined data-sources (DDSS) and is - defined with an RRRRAA line. + The purpose of an RRRRDD is to store data in the round robin archives + (RRRRAA). An archive consists of a number of data values or statistics + for each of the defined data-sources (DDSS) and is defined with an + RRRRAA line. - When data is entered into an RRRRDD, it is first fit into time - slots of the length defined with the --ss option, thus becoming a - _p_r_i_m_a_r_y _d_a_t_a _p_o_i_n_t. + When data is entered into an RRRRDD, it is first fit into time slots + of the length defined with the --ss option, thus becoming a _p_r_i_m_a_r_y + _d_a_t_a _p_o_i_n_t. - The data is also processed with the consolidation function (_C_F) - of the archive. There are several consolidation functions that - consolidate primary data points via an aggregate function: - AAVVEERRAAGGEE, MMIINN, MMAAXX, LLAASSTT. The format of RRRRAA line for these con- - solidation functions is: + The data is also processed with the consolidation function (_C_F) of + the archive. There are several consolidation functions that consol- + idate primary data points via an aggregate function: AAVVEERRAAGGEE, MMIINN, + MMAAXX, LLAASSTT. The format of RRRRAA line for these consolidation functions + is: - RRRRAA::_A_V_E_R_A_G_E _| _M_I_N _| _M_A_X _| _L_A_S_T::_x_f_f::_s_t_e_p_s::_r_o_w_s + RRRRAA::_A_V_E_R_A_G_E _| _M_I_N _| _M_A_X _| _L_A_S_T::_x_f_f::_s_t_e_p_s::_r_o_w_s - _x_f_f The xfiles factor defines what part of a consolidation - interval may be made up from _*_U_N_K_N_O_W_N_* data while the consoli- - dated value is still regarded as known. It is given as the - ratio of allowed _*_U_N_K_N_O_W_N_* PDPs to the number of PDPs in the - interval. Thus, it ranges from 0 to 1 (exclusive). + _x_f_f The xfiles factor defines what part of a consolidation interval + may be made up from _*_U_N_K_N_O_W_N_* data while the consolidated value is + still regarded as known. It is given as the ratio of allowed + _*_U_N_K_N_O_W_N_* PDPs to the number of PDPs in the interval. Thus, it + ranges from 0 to 1 (exclusive). - _s_t_e_p_s defines how many of these _p_r_i_m_a_r_y _d_a_t_a _p_o_i_n_t_s are used to - build a _c_o_n_s_o_l_i_d_a_t_e_d _d_a_t_a _p_o_i_n_t which then goes into the - archive. + _s_t_e_p_s defines how many of these _p_r_i_m_a_r_y _d_a_t_a _p_o_i_n_t_s are used to + build a _c_o_n_s_o_l_i_d_a_t_e_d _d_a_t_a _p_o_i_n_t which then goes into the archive. - _r_o_w_s defines how many generations of data values are kept in an - RRRRAA. + _r_o_w_s defines how many generations of data values are kept in an + RRRRAA. AAbbeerrrraanntt BBeehhaavviioorr DDeetteeccttiioonn wwiitthh HHoolltt--WWiinntteerrss FFoorreeccaassttiinngg In addition to the aggregate functions, there are a set of specialized @@ -504,4 +498,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDCREATE(1) +1.2.27 2008-02-17 RRDCREATE(1) diff --git a/doc/rrddump.1 b/doc/rrddump.1 index d559ec0..3df1a45 100644 --- a/doc/rrddump.1 +++ b/doc/rrddump.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDDUMP 1" -.TH RRDDUMP 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDDUMP 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrddump \- dump the contents of an RRD to XML format .SH "SYNOPSIS" diff --git a/doc/rrddump.txt b/doc/rrddump.txt index 226a7b8..f995a56 100644 --- a/doc/rrddump.txt +++ b/doc/rrddump.txt @@ -42,4 +42,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDDUMP(1) +1.2.27 2008-02-17 RRDDUMP(1) diff --git a/doc/rrdfetch.1 b/doc/rrdfetch.1 index e218ff8..9c20fb6 100644 --- a/doc/rrdfetch.1 +++ b/doc/rrdfetch.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDFETCH 1" -.TH RRDFETCH 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDFETCH 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdfetch \- Fetch data from an RRD. .SH "SYNOPSIS" diff --git a/doc/rrdfetch.txt b/doc/rrdfetch.txt index 10057c2..e2af859 100644 --- a/doc/rrdfetch.txt +++ b/doc/rrdfetch.txt @@ -228,4 +228,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDFETCH(1) +1.2.27 2008-02-17 RRDFETCH(1) diff --git a/doc/rrdfirst.1 b/doc/rrdfirst.1 index 7834052..57e7c1a 100644 --- a/doc/rrdfirst.1 +++ b/doc/rrdfirst.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDFIRST 1" -.TH RRDFIRST 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDFIRST 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdfirst \- Return the date of the first data sample in an RRA within an RRD .SH "SYNOPSIS" diff --git a/doc/rrdfirst.txt b/doc/rrdfirst.txt index 7a3559e..684e8bc 100644 --- a/doc/rrdfirst.txt +++ b/doc/rrdfirst.txt @@ -26,4 +26,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDFIRST(1) +1.2.27 2008-02-17 RRDFIRST(1) diff --git a/doc/rrdgraph.1 b/doc/rrdgraph.1 index 2020b9e..674a370 100644 --- a/doc/rrdgraph.1 +++ b/doc/rrdgraph.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDGRAPH 1" -.TH RRDGRAPH 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDGRAPH 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdgraph \- Round Robin Database tool grapher functions .SH "SYNOPSIS" @@ -170,7 +170,7 @@ Sometimes data is not exactly in the format you would like to display it. For instance, you might be collecting \fBbytes\fR per second, but want to display \fBbits\fR per second. This is what the \fBdata calculation\fR command is designed for. After \&\fBconsolidating\fR the data, a copy is made and this copy is modified -using a rather powerful \fB\s-1RPN\s0\fR command set. +using a rather powerful rrdgraph_rpn command set. .PP When you are done fetching and processing the data, it is time to graph it (or print it). This ends the \fBrrdtool graph\fR sequence. @@ -193,7 +193,7 @@ The start and end of the time series you would like to display, and which \&\fB\s-1RRA\s0\fR the data should come from. Defaults are: 1 day ago until now, with the best possible resolution. \fBStart\fR and \fBend\fR can be specified in several formats, see -AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0 and rrdgraph_examples. +rrdfetch and rrdgraph_examples. By default, \fBrrdtool graph\fR calculates the width of one pixel in the time domain and tries to get data from an \fB\s-1RRA\s0\fR with that resolution. With the \fBstep\fR option you can alter this behaviour. @@ -268,13 +268,8 @@ integer number of pixels and also start on an integer pixel value. This might extend the scale too much for some logarithmic scales and for linear scales where \fB\-\-alt\-autoscale\fR is needed. Using \fB\-\-no\-gridfit\fR disables modification of the scale. -.IP "Grid" 4 -.IX Item "Grid" -.RS 4 -.PD 0 -.IP "X\-Axis" 4 -.IX Item "X-Axis" -.PD +.IP "X\-Grid" 4 +.IX Item "X-Grid" [\fB\-x\fR|\fB\-\-x\-grid\fR \fI\s-1GTM\s0\fR\fB:\fR\fI\s-1GST\s0\fR\fB:\fR\fI\s-1MTM\s0\fR\fB:\fR\fI\s-1MST\s0\fR\fB:\fR\fI\s-1LTM\s0\fR\fB:\fR\fI\s-1LST\s0\fR\fB:\fR\fI\s-1LPR\s0\fR\fB:\fR\fI\s-1LFM\s0\fR] .Sp [\fB\-x\fR|\fB\-\-x\-grid\fR \fBnone\fR] @@ -311,8 +306,8 @@ lines as they specify exactly that time. This places grid lines every 8 hours, major grid lines and labels each day. The labels are placed exactly between two major grid lines as they specify the complete day and not just midnight. -.IP "Y\-Axis" 4 -.IX Item "Y-Axis" +.IP "Y\-Grid" 4 +.IX Item "Y-Grid" [\fB\-y\fR|\fB\-\-y\-grid\fR \fIgrid step\fR\fB:\fR\fIlabel factor\fR] .Sp [\fB\-y\fR|\fB\-\-y\-grid\fR \fBnone\fR] @@ -367,9 +362,6 @@ fideling with the y\-axis labeling. With this option y\-axis values on logarithmic graphs will be scaled to the appropriate units (k, M, etc.) instead of using exponential notation. Note that for linear graphs, \s-1SI\s0 notation is used by default. -.RE -.RS 4 -.RE .IP "Miscellaneous" 4 .IX Item "Miscellaneous" [\fB\-z\fR|\fB\-\-lazy\fR] diff --git a/doc/rrdgraph.html b/doc/rrdgraph.html index dd767de..e7a9505 100644 --- a/doc/rrdgraph.html +++ b/doc/rrdgraph.html @@ -71,7 +71,7 @@ well become unknown!

it. For instance, you might be collecting bytes per second, but want to display bits per second. This is what the data calculation command is designed for. After consolidating the data, a copy is made and this copy is modified -using a rather powerful RPN command set.

+using a rather powerful the rrdgraph_rpn manpage command set.

When you are done fetching and processing the data, it is time to graph it (or print it). This ends the rrdtool graph sequence.

@@ -102,7 +102,7 @@ this case, no other output is generated.

RRA the data should come from. Defaults are: 1 day ago until now, with the best possible resolution. Start and end can be specified in several formats, see -AT-STYLE TIME SPECIFICATION and the rrdgraph_examples manpage. +the rrdfetch manpage and the rrdgraph_examples manpage. By default, rrdtool graph calculates the width of one pixel in the time domain and tries to get data from an RRA with that resolution. With the step option you can alter this behaviour. @@ -200,10 +200,7 @@ and for linear scales where --alt-autoscale is needed. Using --no-gridfit disables modification of the scale.

-
Grid - -
-
X-Axis +
X-Grid

[-x|--x-grid GTM:GST:MTM:MST:LTM:LST:LPR:LFM]

@@ -249,7 +246,7 @@ each day. The labels are placed exactly between two major grid lines as they specify the complete day and not just midnight.

-
Y-Axis +
Y-Grid

[-y|--y-grid grid step:label factor]

@@ -322,7 +319,6 @@ the appropriate units (k, M, etc.) instead of using exponential notation. Note that for linear graphs, SI notation is used by default.

-
Miscellaneous
diff --git a/doc/rrdgraph.pod b/doc/rrdgraph.pod index 9060bd8..11b447e 100644 --- a/doc/rrdgraph.pod +++ b/doc/rrdgraph.pod @@ -43,7 +43,7 @@ it. For instance, you might be collecting B per second, but want to display B per second. This is what the B> command is designed for. After B the data, a copy is made and this copy is modified -using a rather powerful B> command set. +using a rather powerful L command set. When you are done fetching and processing the data, it is time to graph it (or print it). This ends the B sequence. @@ -70,7 +70,7 @@ The start and end of the time series you would like to display, and which B the data should come from. Defaults are: 1 day ago until now, with the best possible resolution. B and B can be specified in several formats, see -L and L. +L and L. By default, B calculates the width of one pixel in the time domain and tries to get data from an B with that resolution. With the B option you can alter this behaviour. @@ -149,11 +149,7 @@ This might extend the scale too much for some logarithmic scales and for linear scales where B<--alt-autoscale> is needed. Using B<--no-gridfit> disables modification of the scale. -=item Grid - -=over 4 - -=item X-Axis +=item X-Grid [B<-x>|B<--x-grid> IB<:>IB<:>IB<:>IB<:>IB<:>IB<:>IB<:>I] @@ -188,7 +184,7 @@ This places grid lines every 8 hours, major grid lines and labels each day. The labels are placed exactly between two major grid lines as they specify the complete day and not just midnight. -=item Y-Axis +=item Y-Grid [B<-y>|B<--y-grid> IB<:>I
-
-

-

diff --git a/doc/rrdgraph_rpn.pod b/doc/rrdgraph_rpn.pod index b2a84dd..454f736 100644 --- a/doc/rrdgraph_rpn.pod +++ b/doc/rrdgraph_rpn.pod @@ -66,8 +66,6 @@ mean that any value other than 0 is considered to be true. Example: C should be read as C -Z<> - =item Comparing values B @@ -91,8 +89,6 @@ will always return an I Example: C will return I if alpha is lower than 0 or if it is higher than 100. -Z<> - =item Arithmetics B<+, -, *, /, %> @@ -234,8 +230,6 @@ B Duplicate the top element, remove the top element, exchange the two top elements. -Z<> - =back =head1 VARIABLES diff --git a/doc/rrdgraph_rpn.txt b/doc/rrdgraph_rpn.txt index d115537..5f022a4 100644 --- a/doc/rrdgraph_rpn.txt +++ b/doc/rrdgraph_rpn.txt @@ -63,8 +63,6 @@ OOPPEERRAATTOORRSS Example: "A,B,C,IF" should be read as "if (A) then (B) else (C)" - - Comparing values MMIINN,, MMAAXX @@ -87,8 +85,6 @@ OOPPEERRAATTOORRSS Example: "CDEF:a=alpha,0,100,LIMIT" will return _u_n_k_n_o_w_n if alpha is lower than 0 or if it is higher than 100. - - Arithmetics ++,, --,, **,, //,, %% @@ -223,8 +219,6 @@ OOPPEERRAATTOORRSS Duplicate the top element, remove the top element, exchange the two top elements. - - VVAARRIIAABBLLEESS These operators work only on VVDDEEFF statements. Note that currently ONLY these work for VVDDEEFF. @@ -290,4 +284,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDGRAPH_RPN(1) +1.2.27 2008-02-17 RRDGRAPH_RPN(1) diff --git a/doc/rrdinfo.1 b/doc/rrdinfo.1 index 69f48fa..bab666f 100644 --- a/doc/rrdinfo.1 +++ b/doc/rrdinfo.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDINFO 1" -.TH RRDINFO 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDINFO 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdinfo \- extract header information from an RRD .SH "SYNOPSIS" diff --git a/doc/rrdinfo.txt b/doc/rrdinfo.txt index c59a5b5..e6a1731 100644 --- a/doc/rrdinfo.txt +++ b/doc/rrdinfo.txt @@ -55,4 +55,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDINFO(1) +1.2.27 2008-02-17 RRDINFO(1) diff --git a/doc/rrdlast.1 b/doc/rrdlast.1 index 1e93c14..4119139 100644 --- a/doc/rrdlast.1 +++ b/doc/rrdlast.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDLAST 1" -.TH RRDLAST 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDLAST 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdlast \- Return the date of the last data sample in an RRD .SH "SYNOPSIS" diff --git a/doc/rrdlast.txt b/doc/rrdlast.txt index bb2e707..14e28a3 100644 --- a/doc/rrdlast.txt +++ b/doc/rrdlast.txt @@ -20,4 +20,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDLAST(1) +1.2.27 2008-02-17 RRDLAST(1) diff --git a/doc/rrdlastupdate.1 b/doc/rrdlastupdate.1 index 459daae..4d1a19d 100644 --- a/doc/rrdlastupdate.1 +++ b/doc/rrdlastupdate.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDLASTUPDATE 1" -.TH RRDLASTUPDATE 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDLASTUPDATE 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdlastupdate \- Return the most recent update to an RRD .SH "SYNOPSIS" diff --git a/doc/rrdlastupdate.txt b/doc/rrdlastupdate.txt index 8264e80..70b5e86 100644 --- a/doc/rrdlastupdate.txt +++ b/doc/rrdlastupdate.txt @@ -20,4 +20,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDLASTUPDATE(1) +1.2.27 2008-02-17 RRDLASTUPDATE(1) diff --git a/doc/rrdresize.1 b/doc/rrdresize.1 index 61e4577..2ad3df2 100644 --- a/doc/rrdresize.1 +++ b/doc/rrdresize.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDRESIZE 1" -.TH RRDRESIZE 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDRESIZE 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdresize \- alters the size of an RRA and creates a new .rrd file .SH "SYNOPSIS" diff --git a/doc/rrdresize.txt b/doc/rrdresize.txt index 3c703a4..817090e 100644 --- a/doc/rrdresize.txt +++ b/doc/rrdresize.txt @@ -41,4 +41,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDRESIZE(1) +1.2.27 2008-02-17 RRDRESIZE(1) diff --git a/doc/rrdrestore.1 b/doc/rrdrestore.1 index 997f308..fcd8455 100644 --- a/doc/rrdrestore.1 +++ b/doc/rrdrestore.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDRESTORE 1" -.TH RRDRESTORE 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDRESTORE 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdrestore \- Restore the contents of an RRD from its XML dump format .SH "SYNOPSIS" diff --git a/doc/rrdrestore.txt b/doc/rrdrestore.txt index d8c1136..49abd76 100644 --- a/doc/rrdrestore.txt +++ b/doc/rrdrestore.txt @@ -30,4 +30,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDRESTORE(1) +1.2.27 2008-02-17 RRDRESTORE(1) diff --git a/doc/rrdthreads.1 b/doc/rrdthreads.1 index 214c122..d3b496e 100644 --- a/doc/rrdthreads.1 +++ b/doc/rrdthreads.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDTHREADS 1" -.TH RRDTHREADS 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDTHREADS 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdthreads \- Provisions for linking the RRD library to use in multi\-threaded programs .SH "SYNOPSIS" diff --git a/doc/rrdthreads.txt b/doc/rrdthreads.txt index a186f8c..86adb3a 100644 --- a/doc/rrdthreads.txt +++ b/doc/rrdthreads.txt @@ -100,4 +100,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDTHREADS(1) +1.2.27 2008-02-17 RRDTHREADS(1) diff --git a/doc/rrdtool.1 b/doc/rrdtool.1 index 8212c45..4d20cc8 100644 --- a/doc/rrdtool.1 +++ b/doc/rrdtool.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDTOOL 1" -.TH RRDTOOL 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDTOOL 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdtool \- Round Robin Database Tool .SH "SYNOPSIS" diff --git a/doc/rrdtool.txt b/doc/rrdtool.txt index 9c6c6dc..3e986ac 100644 --- a/doc/rrdtool.txt +++ b/doc/rrdtool.txt @@ -273,4 +273,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDTOOL(1) +1.2.27 2008-02-17 RRDTOOL(1) diff --git a/doc/rrdtune.1 b/doc/rrdtune.1 index 8dbc440..a961ee8 100644 --- a/doc/rrdtune.1 +++ b/doc/rrdtune.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDTUNE 1" -.TH RRDTUNE 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDTUNE 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdtune \- Modify some basic properties of a Round Robin Database .SH "SYNOPSIS" diff --git a/doc/rrdtune.txt b/doc/rrdtune.txt index e09b273..0ce5046 100644 --- a/doc/rrdtune.txt +++ b/doc/rrdtune.txt @@ -149,4 +149,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDTUNE(1) +1.2.27 2008-02-17 RRDTUNE(1) diff --git a/doc/rrdtutorial.1 b/doc/rrdtutorial.1 index efec405..7efe014 100644 --- a/doc/rrdtutorial.1 +++ b/doc/rrdtutorial.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDTUTORIAL 1" -.TH RRDTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdtutorial \- Alex van den Bogaerdt's RRDtool tutorial .SH "DESCRIPTION" @@ -238,7 +238,7 @@ By following the examples you get some hands-on experience and, even more important, some background information of how it works. .PP You will need to know something about hexadecimal numbers. If you don't -then start with reading bin_dec_hex before you continue here. +then start with reading bin_dec_hex tutorial before you continue here. .Sh "Your first Round Robin Database" .IX Subsection "Your first Round Robin Database" In my opinion the best way to learn something is to actually do it. diff --git a/doc/rrdtutorial.html b/doc/rrdtutorial.html index 86eb7db..7ae3bf1 100644 --- a/doc/rrdtutorial.html +++ b/doc/rrdtutorial.html @@ -161,7 +161,7 @@ you did understand, you may have missed something.

By following the examples you get some hands-on experience and, even more important, some background information of how it works.

You will need to know something about hexadecimal numbers. If you don't -then start with reading the bin_dec_hex manpage before you continue here.

+then start with reading bin_dec_hex tutorial before you continue here.

Your first Round Robin Database

diff --git a/doc/rrdtutorial.pod b/doc/rrdtutorial.pod index 30a4868..1ccfa37 100644 --- a/doc/rrdtutorial.pod +++ b/doc/rrdtutorial.pod @@ -114,7 +114,7 @@ By following the examples you get some hands-on experience and, even more important, some background information of how it works. You will need to know something about hexadecimal numbers. If you don't -then start with reading L before you continue here. +then start with reading bin_dec_hex tutorial before you continue here. =head2 Your first Round Robin Database diff --git a/doc/rrdtutorial.txt b/doc/rrdtutorial.txt index 3e64a16..e223045 100644 --- a/doc/rrdtutorial.txt +++ b/doc/rrdtutorial.txt @@ -116,7 +116,7 @@ TTUUTTOORRIIAALL more important, some background information of how it works. You will need to know something about hexadecimal numbers. If you don't - then start with reading bin_dec_hex before you continue here. + then start with reading bin_dec_hex tutorial before you continue here. YYoouurr ffiirrsstt RRoouunndd RRoobbiinn DDaattaabbaassee @@ -1149,4 +1149,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDTUTORIAL(1) +1.2.27 2008-02-17 RRDTUTORIAL(1) diff --git a/doc/rrdupdate.1 b/doc/rrdupdate.1 index 326b82a..cb1e9ed 100644 --- a/doc/rrdupdate.1 +++ b/doc/rrdupdate.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDUPDATE 1" -.TH RRDUPDATE 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDUPDATE 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdupdate \- Store a new set of values into the RRD .SH "SYNOPSIS" diff --git a/doc/rrdupdate.txt b/doc/rrdupdate.txt index 63b032a..582da4e 100644 --- a/doc/rrdupdate.txt +++ b/doc/rrdupdate.txt @@ -91,4 +91,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDUPDATE(1) +1.2.27 2008-02-17 RRDUPDATE(1) diff --git a/doc/rrdxport.1 b/doc/rrdxport.1 index 88d57e2..276852a 100644 --- a/doc/rrdxport.1 +++ b/doc/rrdxport.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "RRDXPORT 1" -.TH RRDXPORT 1 "2007-11-20" "1.2.26" "rrdtool" +.TH RRDXPORT 1 "2008-02-17" "1.2.27" "rrdtool" .SH "NAME" rrdxport \- Export data in XML format based on data from one or several RRD .SH "SYNOPSIS" diff --git a/doc/rrdxport.txt b/doc/rrdxport.txt index 120ec80..b9f8d30 100644 --- a/doc/rrdxport.txt +++ b/doc/rrdxport.txt @@ -125,4 +125,4 @@ AAUUTTHHOORR -1.2.26 2007-11-20 RRDXPORT(1) +1.2.27 2008-02-17 RRDXPORT(1) diff --git a/netware/Makefile b/netware/Makefile index c138dfa..e8d6a47 100644 --- a/netware/Makefile +++ b/netware/Makefile @@ -42,11 +42,11 @@ endif # All library code is statically linked to avoid problems with other lib NLMs. # Edit the path below to point to your libpng sources or set environment var. ifndef LIBPNG -LIBPNG = $(LIBBASE)/libpng-1.2.16 +LIBPNG = $(LIBBASE)/libpng-1.2.23 endif # Edit the path below to point to your freetype sources or set environment var. ifndef LIBFT2 -LIBFT2 = $(LIBBASE)/freetype-2.3.4 +LIBFT2 = $(LIBBASE)/freetype-2.3.5 endif # Edit the path below to point to your libart sources or set environment var. ifndef LIBART @@ -61,13 +61,17 @@ endif ifndef DISTDIR DISTDIR = rrdtool-$(RRD_VERSION_STR)-nw endif -DISTARC = $(DISTDIR).zip +ifndef DISTARC +DISTARC = $(DISTDIR).$(ARCEXT) +endif # Edit the path below to point to your distribution folder. ifndef DEVLDIR DEVLDIR = rrdtool-$(RRD_VERSION_STR)-sdk-nw endif -DEVLARC = $(DEVLDIR).zip +ifndef DEVLARC +DEVLARC = $(DEVLDIR).$(ARCEXT) +endif # whatever... # NO_NULL_REALLOC = 1 @@ -98,8 +102,14 @@ FIXNLMN = fixnlmname #-q # Here you can find a native Win32 binary of the original awk: # http://www.gknw.net/development/prgtools/awk.zip AWK = awk -ZIP = zip -qzr9 MV = mv -fv +ifndef ARCBIN +ARCBIN = zip -qzr9 +ARCEXT = zip +#ARCBIN = 7za a +#ARCEXT = 7z +endif + # must be equal to DEBUG or NDEBUG DB = NDEBUG @@ -281,7 +291,7 @@ OBJS := $(RRDLIBOBJS) $(XLIBOBJS) $(PNGLIBOBJS) $(ARTLIBOBJS) $(ZLIBOBJS) OBJCGI := $(OBJS) $(OBJDIR)/rrd_cgi.o OBJTOOL := $(OBJS) $(OBJDIR)/rrd_tool.o -LDLIBS += $(LIBFT2)/builds/netware/libc/libft2.$(LIBEXT) +LDLIBS += $(LIBFT2)/builds/netware/LIBC/libft2.$(LIBEXT) all: rrdtool rrdcgi @@ -302,7 +312,7 @@ dist: all $(DISTDIR) $(DISTDIR)/readme.txt @-$(CP) $(PROOT)/NEWS $(DISTDIR) @-$(CP) $(PROOT)/README $(DISTDIR) @echo Creating $(DISTARC) - @$(ZIP) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt + @$(ARCBIN) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt @-mkdir $(DEVLDIR)$(DS)include @@ -318,7 +328,7 @@ dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt @-$(CP) $(PROOT)/NEWS $(DEVLDIR) @-$(CP) $(PROOT)/README $(DEVLDIR) @echo Creating $(DEVLARC) - @$(ZIP) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt + @$(ARCBIN) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt clean: -$(RM) -r $(OBJDIR) diff --git a/rrd_config.h.in b/rrd_config.h.in index 9190c62..303bac7 100644 --- a/rrd_config.h.in +++ b/rrd_config.h.in @@ -14,6 +14,13 @@ /* realloc does not support NULL as argument */ #undef NO_NULL_REALLOC +/* lets enable madvise defines in NetBSD */ +#if defined(__NetBSD__) +# if !defined(_NETBSD_SOURCE) +# define _NETBSD_SOURCE +# endif +#endif + /* Define to 1 if you have the `chdir' function. */ @@ -50,6 +57,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H +/* Define to 1 if you have the header file. */ +#undef HAVE_FEATURES_H + /* Define to 1 if you have the `finite' function. */ #undef HAVE_FINITE @@ -125,6 +135,12 @@ /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP +/* Define to 1 if you have the `msync' function. */ +#undef HAVE_MSYNC + +/* Define to 1 if you have the `munmap' function. */ +#undef HAVE_MUNMAP + /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H @@ -134,6 +150,9 @@ /* Define to 1 if you have the `posix_fadvise' function. */ #undef HAVE_POSIX_FADVISE +/* Define to 1 if you have the `posix_madvise' function. */ +#undef HAVE_POSIX_MADVISE + /* Define if you have POSIX threads libraries and header files. */ #undef HAVE_PTHREAD @@ -174,6 +193,9 @@ */ #undef HAVE_SYS_DIR_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_MMAN_H + /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_NDIR_H @@ -250,12 +272,96 @@ #undef const -/* enable posix_fadvise on linux */ -#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H) +#ifdef HAVE_FEATURES_H #define _XOPEN_SOURCE 600 +#undef _BSD_SOURCE /* comment to prevent configure from modifying this line */ +#define _BSD_SOURCE 1 +# include +#endif + +#ifdef HAVE_ERRNO_H +# include +#endif + +#if defined(HAVE_SYS_MMAN_H) +#include +#endif + +#ifdef HAVE_SYS_TYPES_H +# include +#endif + +#ifdef HAVE_SYS_PARAM_H +# include +#endif +#ifndef MAXPATH +# ifdef PATH_MAX +# define MAXPATH PATH_MAX +# endif +#endif +#ifndef MAXPATH +/* else try the BSD variant */ +# ifdef MAXPATHLEN +# define MAXPATH MAXPATHLEN +# endif +#endif + +#if !defined HAVE_MADVISE && defined HAVE_POSIX_MADVISE +/* use posix_madvise family */ +# define madvise posix_madvise +# define MADV_NORMAL POSIX_MADV_NORMAL +# define MADV_RANDOM POSIX_MADV_RANDOM +# define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL +# define MADV_WILLNEED POSIX_MADV_WILLNEED +# define MADV_DONTNEED POSIX_MADV_DONTNEED +#endif + +#if defined POSIX_MADV_RANDOM && !defined MADV_RANDOM +#define MADV_RANDOM POSIX_MADV_RANDOM +#endif + + + +#if defined HAVE_MADVISE || defined HAVE_POSIX_MADVISE +# define USE_MADVISE 1 +#endif + +#ifdef HAVE_SYS_STAT_H +# include +#endif + +#ifdef HAVE_FCNTL_H #include #endif +#ifdef HAVE_UNISTD_H +# include +#endif + +#ifdef TIME_WITH_SYS_TIME +# include +# include +#else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#ifdef HAVE_SYS_TIMES_H +# include +#endif + +#ifdef HAVE_SYS_RESOURCE_H +# include +#if (defined(__svr4__) && defined(__sun__)) +/* Solaris headers (pre 2.6) don't have a getrusage prototype. + Use this instead. */ +extern int getrusage(int, struct rusage *); +#endif /* __svr4__ && __sun__ */ +#endif + /* define strrchr, strchr and memcpy, memmove in terms of bsd funcs make sure you are NOT using bcopy, index or rindex in the code */ @@ -302,12 +408,15 @@ char *strchr (), *strrchr (); /* for Solaris */ #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) # define HAVE_ISINF 1 +# ifdef isinf +# undef isinf /* confuse autoconf */ +# endif # define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) #endif /* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ #if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) -# undef isnan +# undef isnan /* confuse autoconf to NOT remove this */ # define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) #endif diff --git a/rrdtool.spec b/rrdtool.spec index 7d169c6..4db9ea9 100644 --- a/rrdtool.spec +++ b/rrdtool.spec @@ -7,7 +7,7 @@ Summary: Round Robin Database Tool to store and display time-series data Name: rrdtool -Version: 1.2.26 +Version: 1.2.27 Release: 5%{?dist} License: GPL Group: Applications/Databases diff --git a/src/Makefile.am b/src/Makefile.am index f3c476e..73f1113 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -102,11 +102,11 @@ librrd_la_LIBADD = librrdupd.la $(ALL_LIBS) # your package will not be binary compatible with any other release. # # see http://www.gnu.org/software/libtool/manual.html#SEC32 for explanation -librrd_la_LDFLAGS = -version-info 2:12:0 +librrd_la_LDFLAGS = -version-info 2:13:0 librrd_th_la_SOURCES = $(UPD_C_FILES) $(RRD_C_FILES) rrd_thread_safe.c librrd_th_la_CFLAGS = $(MULTITHREAD_CFLAGS) -librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:11:0 +librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:13:0 librrd_th_la_LIBADD = $(ALL_LIBS) include_HEADERS = rrd.h diff --git a/src/Makefile.in b/src/Makefile.in index ac1342b..f3489df 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -391,10 +391,10 @@ librrd_la_LIBADD = librrdupd.la $(ALL_LIBS) # your package will not be binary compatible with any other release. # # see http://www.gnu.org/software/libtool/manual.html#SEC32 for explanation -librrd_la_LDFLAGS = -version-info 2:12:0 +librrd_la_LDFLAGS = -version-info 2:13:0 librrd_th_la_SOURCES = $(UPD_C_FILES) $(RRD_C_FILES) rrd_thread_safe.c librrd_th_la_CFLAGS = $(MULTITHREAD_CFLAGS) -librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:11:0 +librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:13:0 librrd_th_la_LIBADD = $(ALL_LIBS) include_HEADERS = rrd.h rrdcgi_SOURCES = rrd_cgi.c diff --git a/src/pngsize.c b/src/pngsize.c index 6b8b264..c9254d4 100644 --- a/src/pngsize.c +++ b/src/pngsize.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * pngsize.c determine the size of a PNG image *****************************************************************************/ diff --git a/src/rrd.h b/src/rrd.h index e63236a..d58662f 100644 --- a/src/rrd.h +++ b/src/rrd.h @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrdlib.h Public header file for librrd ***************************************************************************** - * $Id: rrd.h 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd.h 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.9 2005/02/13 16:13:33 oetiker * let rrd_graph return the actual value range it picked ... diff --git a/src/rrd_afm.c b/src/rrd_afm.c index 5277230..59ead88 100644 --- a/src/rrd_afm.c +++ b/src/rrd_afm.c @@ -1,9 +1,9 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_afm.h Parsing afm tables to find width of strings. **************************************************************************** - * $Id: rrd_afm.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_afm.c 1286 2008-02-17 10:08:10Z oetiker $ */ #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H) diff --git a/src/rrd_afm.h b/src/rrd_afm.h index a9f28d8..94d93eb 100644 --- a/src/rrd_afm.h +++ b/src/rrd_afm.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_afm.h Parsing afm tables to find width of strings. ****************************************************************************/ diff --git a/src/rrd_afm_data.c b/src/rrd_afm_data.c index ab7f1aa..2c7ab44 100644 --- a/src/rrd_afm_data.c +++ b/src/rrd_afm_data.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_afm_data.c Encoded afm (Adobe Font Metrics) for selected fonts. **************************************************************************** diff --git a/src/rrd_afm_data.h b/src/rrd_afm_data.h index 6be2607..076e959 100644 --- a/src/rrd_afm_data.h +++ b/src/rrd_afm_data.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_afm_data.h Encoded afm (Adobe Font Metrics) for selected fonts. ****************************************************************************/ diff --git a/src/rrd_cgi.c b/src/rrd_cgi.c index 8038a30..e87c70c 100644 --- a/src/rrd_cgi.c +++ b/src/rrd_cgi.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_cgi.c RRD Web Page Generator *****************************************************************************/ @@ -1287,7 +1287,7 @@ s_var **rrdcgiReadVariables(void) if (iname,cp, esp-cp) || !(strlen (result[k]->name) == esp-cp)); k++); + for (k=0; kname,cp, esp-cp) || !(strlen (result[k]->name) == (size_t)(esp-cp))); k++); if (k == i) { /* No such variable yet */ if ((result[i] = (s_var *)malloc(sizeof(s_var))) == NULL) diff --git a/src/rrd_create.c b/src/rrd_create.c index 05b372d..9e5b055 100644 --- a/src/rrd_create.c +++ b/src/rrd_create.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_create.c creates new rrds *****************************************************************************/ diff --git a/src/rrd_diff.c b/src/rrd_diff.c index 3cc2907..d8ca838 100644 --- a/src/rrd_diff.c +++ b/src/rrd_diff.c @@ -1,11 +1,11 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 * This code is stolen from rateup (mrtg-2.x) by Dave Rand ***************************************************************************** * diff calculate the difference between two very long integers available as * strings ***************************************************************************** - * $Id: rrd_diff.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_diff.c 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.4 2003/03/10 00:30:34 oetiker * handle cases with two negative numbers diff --git a/src/rrd_dump.c b/src/rrd_dump.c index b37e9a1..bb68593 100644 --- a/src/rrd_dump.c +++ b/src/rrd_dump.c @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_dump Display a RRD ***************************************************************************** - * $Id: rrd_dump.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_dump.c 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.7 2004/05/25 20:53:21 oetiker * prevent small leak when resources are exhausted -- Mike Slifcak diff --git a/src/rrd_error.c b/src/rrd_error.c index a3c958c..6aaf7f2 100644 --- a/src/rrd_error.c +++ b/src/rrd_error.c @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_error.c Common Header File ***************************************************************************** - * $Id: rrd_error.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_error.c 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.4 2003/02/22 21:57:03 oetiker * a patch to avoid a memory leak and a Makefile.am patch to diff --git a/src/rrd_fetch.c b/src/rrd_fetch.c index 5dfcaab..82d35f3 100644 --- a/src/rrd_fetch.c +++ b/src/rrd_fetch.c @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_fetch.c read date from an rrd to use for further processing ***************************************************************************** - * $Id: rrd_fetch.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_fetch.c 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.8 2004/05/18 18:53:03 oetiker * big spell checking patch -- slif@bellsouth.net diff --git a/src/rrd_first.c b/src/rrd_first.c index f1267af..eba83be 100644 --- a/src/rrd_first.c +++ b/src/rrd_first.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_first Return ***************************************************************************** diff --git a/src/rrd_format.c b/src/rrd_format.c index bccc0d4..b7ca3a1 100644 --- a/src/rrd_format.c +++ b/src/rrd_format.c @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_format.c RRD Database Format helper functions ***************************************************************************** - * $Id: rrd_format.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_format.c 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.5 2004/05/18 18:53:03 oetiker * big spell checking patch -- slif@bellsouth.net diff --git a/src/rrd_format.h b/src/rrd_format.h index 34022f2..b8c8a81 100644 --- a/src/rrd_format.h +++ b/src/rrd_format.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_format.h RRD Database Format header *****************************************************************************/ diff --git a/src/rrd_gfx.c b/src/rrd_gfx.c index 3db7bdf..a94afbf 100644 --- a/src/rrd_gfx.c +++ b/src/rrd_gfx.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_gfx.c graphics wrapper for rrdtool **************************************************************************/ diff --git a/src/rrd_gfx.h b/src/rrd_gfx.h index 8df3902..15680a1 100644 --- a/src/rrd_gfx.h +++ b/src/rrd_gfx.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_gfx.h generic graphics adapter library ****************************************************************************/ diff --git a/src/rrd_graph.c b/src/rrd_graph.c index b3822d6..deb23cf 100644 --- a/src/rrd_graph.c +++ b/src/rrd_graph.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd__graph.c produce graphs from data in rrdfiles ****************************************************************************/ @@ -51,7 +51,7 @@ xlab_t xlab[] = { {10, 0, TMT_MINUTE,5, TMT_MINUTE,20, TMT_MINUTE,20, 0,"%H:%M"}, {30, 0, TMT_MINUTE,10, TMT_HOUR,1, TMT_HOUR,1, 0,"%H:%M"}, {60, 0, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,2, 0,"%H:%M"}, - {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,4, 0,"%a %H:%M"}, + {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,6, 0,"%a %H:%M"}, {180, 0, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,6, 0,"%H:%M"}, {180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%a %H:%M"}, /*{300, 0, TMT_HOUR,3, TMT_HOUR,12, TMT_HOUR,12, 12*3600,"%a %p"}, this looks silly*/ @@ -3498,19 +3498,24 @@ rrd_graph_options(int argc, char *argv[],image_desc_t *im) case 'n':{ char prop[15]; double size = 1; - char font[1024] = ""; - + int end; if(sscanf(optarg, - "%10[A-Z]:%lf:%1000s", - prop,&size,font) >= 2){ + "%10[A-Z]:%lf%n", + prop,&size,&end) >= 2){ int sindex,propidx; if((sindex=text_prop_conv(prop)) != -1){ for (propidx=sindex;propidx 0){ im->text_prop[propidx].size=size; - } - if (strlen(font) > 0){ - strcpy(im->text_prop[propidx].font,font); + } + if (strlen(prop) > end){ + if (prop[end] == ':'){ + strncpy(im->text_prop[propidx].font,prop+end+1,255); + im->text_prop[propidx].font[255] = '\0'; + } else { + rrd_set_error("expected after font size in '%s'",prop); + return; + } } if (propidx==sindex && sindex != 0) break; } diff --git a/src/rrd_graph_helper.c b/src/rrd_graph_helper.c index 53da695..86a2467 100644 --- a/src/rrd_graph_helper.c +++ b/src/rrd_graph_helper.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_graph_helper.c commandline parser functions * this code initially written by Alex van den Bogaerdt diff --git a/src/rrd_hw.c b/src/rrd_hw.c index 2641cdb..43158fd 100644 --- a/src/rrd_hw.c +++ b/src/rrd_hw.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_hw.c : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection ***************************************************************************** diff --git a/src/rrd_hw.h b/src/rrd_hw.h index df2ca5e..54f150f 100644 --- a/src/rrd_hw.h +++ b/src/rrd_hw.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_hw.h : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection *****************************************************************************/ diff --git a/src/rrd_info.c b/src/rrd_info.c index 02e7bff..b2a55d9 100644 --- a/src/rrd_info.c +++ b/src/rrd_info.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_info Get Information about the configuration of an RRD *****************************************************************************/ diff --git a/src/rrd_is_thread_safe.h b/src/rrd_is_thread_safe.h index 5fff45d..15d876d 100644 --- a/src/rrd_is_thread_safe.h +++ b/src/rrd_is_thread_safe.h @@ -1,12 +1,12 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL ***************************************************************************** * rrd_is_thread_safe.c Poisons some nasty function calls using GNU cpp ***************************************************************************** - * $Id: rrd_is_thread_safe.h 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_is_thread_safe.h 1286 2008-02-17 10:08:10Z oetiker $ *************************************************************************** */ #ifndef _RRD_IS_THREAD_SAFE_H diff --git a/src/rrd_last.c b/src/rrd_last.c index 3697aca..a0a7cbb 100644 --- a/src/rrd_last.c +++ b/src/rrd_last.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_last.c ***************************************************************************** diff --git a/src/rrd_lastupdate.c b/src/rrd_lastupdate.c index dad2c7a..159aafa 100644 --- a/src/rrd_lastupdate.c +++ b/src/rrd_lastupdate.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_lastupdate Get the last datum entered for each DS *****************************************************************************/ diff --git a/src/rrd_not_thread_safe.c b/src/rrd_not_thread_safe.c index 7504d6e..ccc40ff 100644 --- a/src/rrd_not_thread_safe.c +++ b/src/rrd_not_thread_safe.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL @@ -7,7 +7,7 @@ * rrd_not_thread_safe.c Contains routines used when thread safety is not * an issue ***************************************************************************** - * $Id: rrd_not_thread_safe.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_not_thread_safe.c 1286 2008-02-17 10:08:10Z oetiker $ *************************************************************************** */ #include "rrd.h" #include "rrd_tool.h" diff --git a/src/rrd_open.c b/src/rrd_open.c index 418e5fe..72999ee 100644 --- a/src/rrd_open.c +++ b/src/rrd_open.c @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_open.c Open an RRD File ***************************************************************************** - * $Id: rrd_open.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_open.c 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.10 2004/05/26 22:11:12 oetiker * reduce compiler warnings. Many small fixes. -- Mike Slifcak diff --git a/src/rrd_resize.c b/src/rrd_resize.c index 7219953..9779c97 100644 --- a/src/rrd_resize.c +++ b/src/rrd_resize.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_resize.c Alters size of an RRA ***************************************************************************** diff --git a/src/rrd_restore.c b/src/rrd_restore.c index 9c5c1c6..4fb1dab 100644 --- a/src/rrd_restore.c +++ b/src/rrd_restore.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_restore.c creates new rrd from data dumped by rrd_dump.c *****************************************************************************/ diff --git a/src/rrd_rpncalc.c b/src/rrd_rpncalc.c index 75b10e9..db1c883 100644 --- a/src/rrd_rpncalc.c +++ b/src/rrd_rpncalc.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_rpncalc.c RPN calculator functions ****************************************************************************/ diff --git a/src/rrd_rpncalc.h b/src/rrd_rpncalc.h index d0f7be8..b00cca9 100644 --- a/src/rrd_rpncalc.h +++ b/src/rrd_rpncalc.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_rpncalc.h RPN calculator functions ****************************************************************************/ diff --git a/src/rrd_thread_safe.c b/src/rrd_thread_safe.c index fb63f4d..f4e6a54 100644 --- a/src/rrd_thread_safe.c +++ b/src/rrd_thread_safe.c @@ -1,12 +1,12 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL ***************************************************************************** * rrd_thread_safe.c Contains routines used when thread safety is required ***************************************************************************** - * $Id: rrd_thread_safe.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_thread_safe.c 1286 2008-02-17 10:08:10Z oetiker $ *************************************************************************** */ #include diff --git a/src/rrd_thread_safe_nt.c b/src/rrd_thread_safe_nt.c index 6e4c305..13780ab 100644 --- a/src/rrd_thread_safe_nt.c +++ b/src/rrd_thread_safe_nt.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL @@ -7,7 +7,7 @@ * rrd_thread_safe.c Contains routines used when thread safety is required * for win32 ***************************************************************************** - * $Id: rrd_thread_safe_nt.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_thread_safe_nt.c 1286 2008-02-17 10:08:10Z oetiker $ *************************************************************************** */ #include diff --git a/src/rrd_tool.c b/src/rrd_tool.c index 5dbef0e..894b4df 100644 --- a/src/rrd_tool.c +++ b/src/rrd_tool.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_tool.c Startup wrapper *****************************************************************************/ @@ -22,7 +22,7 @@ void PrintUsage(char *cmd) { char help_main[] = - "RRDtool " PACKAGE_VERSION " Copyright 1997-2007 by Tobias Oetiker \n" + "RRDtool " PACKAGE_VERSION " Copyright 1997-2008 by Tobias Oetiker \n" " Compiled " __DATE__ " " __TIME__ "\n\n" "Usage: rrdtool [options] command command_options\n\n"; diff --git a/src/rrd_tool.h b/src/rrd_tool.h index 852bfec..22c404f 100644 --- a/src/rrd_tool.h +++ b/src/rrd_tool.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_tool.h Common Header File *****************************************************************************/ @@ -71,39 +71,10 @@ extern "C" { # include #endif -#if HAVE_UNISTD_H -# include -#endif - #if HAVE_STRINGS_H # include #endif -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#if HAVE_SYS_TIMES_H -# include -#endif - - -#if HAVE_SYS_RESOURCE_H -# include -#if (defined(__svr4__) && defined(__sun__)) -/* Solaris headers (pre 2.6) don't have a getrusage prototype. - Use this instead. */ -extern int getrusage(int, struct rusage *); -#endif /* __svr4__ && __sun__ */ -#endif - #include "rrd.h" #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) diff --git a/src/rrd_tune.c b/src/rrd_tune.c index 3d9f4d9..d7f08fd 100644 --- a/src/rrd_tune.c +++ b/src/rrd_tune.c @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * change header parameters of an rrd ***************************************************************************** - * $Id: rrd_tune.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_tune.c 1286 2008-02-17 10:08:10Z oetiker $ * $Log$ * Revision 1.6 2004/05/26 22:11:12 oetiker * reduce compiler warnings. Many small fixes. -- Mike Slifcak diff --git a/src/rrd_update.c b/src/rrd_update.c index c224119..57e0fbb 100644 --- a/src/rrd_update.c +++ b/src/rrd_update.c @@ -1,17 +1,14 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_update.c RRD Update Function ***************************************************************************** - * $Id: rrd_update.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrd_update.c 1286 2008-02-17 10:08:10Z oetiker $ *****************************************************************************/ #include "rrd_tool.h" #include #include -#ifdef HAVE_MMAP -# include -#endif #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) #include @@ -32,12 +29,15 @@ */ #include -#ifndef __MINGW32__ +#if (defined(__MINGW32__) && \ + ((__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 12) || __MINGW32_MAJOR_VERSION > 3)) +#include +#else + struct timeval { time_t tv_sec; /* seconds */ long tv_usec; /* microseconds */ }; -#endif struct __timezone { int tz_minuteswest; /* minutes W of Greenwich */ @@ -56,7 +56,9 @@ static int gettimeofday(struct timeval *t, struct __timezone *tz) { return 0; } +#endif /* mingw32 3.4.5 */ #endif + /* * normilize time as returned by gettimeofday. usec part must * be always >= 0 @@ -427,10 +429,10 @@ _rrd_update(const char *filename, const char *tmplt, int argc, const char **argv fclose(rrd_file); return(-1); } -#ifdef HAVE_MADVISE +#ifdef USE_MADVISE /* when we use mmaping we tell the kernel the mmap equivalent of POSIX_FADV_RANDOM */ - madvise(rrd_mmaped_file,rrd_filesize,POSIX_MADV_RANDOM); + madvise(rrd_mmaped_file,rrd_filesize,MADV_RANDOM); #endif #endif /* loop through the arguments. */ diff --git a/src/rrd_version.c b/src/rrd_version.c index cd71269..a2de839 100644 --- a/src/rrd_version.c +++ b/src/rrd_version.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_version Return ***************************************************************************** diff --git a/src/rrd_xport.c b/src/rrd_xport.c index f1e7908..0d4660e 100644 --- a/src/rrd_xport.c +++ b/src/rrd_xport.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_xport.c export RRD data ****************************************************************************/ diff --git a/src/rrd_xport.h b/src/rrd_xport.h index e9e19e8..09fdeef 100644 --- a/src/rrd_xport.h +++ b/src/rrd_xport.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_xport.h contains XML related constants ****************************************************************************/ diff --git a/src/rrdupdate.c b/src/rrdupdate.c index d396522..f610614 100644 --- a/src/rrdupdate.c +++ b/src/rrdupdate.c @@ -1,9 +1,9 @@ /***************************************************************************** - * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrdupdate.c Main program for the (standalone) rrdupdate utility ***************************************************************************** - * $Id: rrdupdate.c 1235 2007-11-20 00:15:07Z oetiker $ + * $Id: rrdupdate.c 1286 2008-02-17 10:08:10Z oetiker $ *****************************************************************************/ #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H) @@ -20,7 +20,7 @@ int main(int argc, char **argv){ rrd_update(argc,argv); if (rrd_test_error()) { - printf("RRDtool " PACKAGE_VERSION " Copyright by Tobi Oetiker, 1997-2007\n\n" + printf("RRDtool " PACKAGE_VERSION " Copyright by Tobi Oetiker, 1997-2008\n\n" "Usage: rrdupdate filename\n" "\t\t\t[--template|-t ds-name:ds-name:...]\n" "\t\t\ttime|N:value[:value...]\n\n" diff --git a/win32/Makefile b/win32/Makefile index 8c392d5..6e3dc2c 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -33,12 +33,12 @@ endif # All library code is statically linked to avoid problems with other lib DLLs. # Edit the path below to point to your libpng sources or set environment var. ifndef LIBPNG -LIBPNG = $(LIBBASE)/libpng-1.2.16 +LIBPNG = $(LIBBASE)/libpng-1.2.23 endif # Edit the path below to point to your freetype sources or set environment var. ifndef LIBFT2 -#LIBFT2 = $(LIBBASE)/freetype-2.3.4 -LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.3.4 +#LIBFT2 = $(LIBBASE)/freetype-2.3.5 +LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.3.5 endif # Edit the path below to point to your libart sources or set environment var. ifndef LIBART @@ -53,13 +53,17 @@ endif ifndef DISTDIR DISTDIR = rrdtool-$(RRD_VERSION_STR)-w32 endif -DISTARC = $(DISTDIR).zip +ifndef DISTARC +DISTARC = $(DISTDIR).$(ARCEXT) +endif # Edit the path below to point to your distribution folder. ifndef DEVLDIR DEVLDIR = rrdtool-$(RRD_VERSION_STR)-sdk-w32 endif -DEVLARC = $(DEVLDIR).zip +ifndef DEVLARC +DEVLARC = $(DEVLDIR).$(ARCEXT) +endif # whatever... NO_NULL_REALLOC = 1 @@ -68,14 +72,19 @@ NO_NULL_REALLOC = 1 ifdef METROWERKS CC = mwcc else - CC = gcc + CC = $(CRPREFIX)gcc endif # RM = rm -f CP = cp -afv # Here you can find a native Win32 binary of the original awk: # http://www.gknw.net/development/prgtools/awk.zip AWK = awk -ZIP = zip -qzr9 +ifndef ARCBIN +ARCBIN = zip -qzr9 +ARCEXT = zip +#ARCBIN = 7za a +#ARCEXT = 7z +endif # must be equal to DEBUG or NDEBUG DB = NDEBUG @@ -114,8 +123,8 @@ CFLAGS += -nostdinc -gccinc -msgstyle gcc -inline off -opt nointrinsics -proc 58 CFLAGS += -ir "$(METROWERKS)/MSL" -ir "$(METROWERKS)/Win32-x86 Support" CFLAGS += -w on,nounused,nounusedexpr # -ansi strict else -LD = gcc -RC = windres +LD = $(CRPREFIX)gcc +RC = $(CRPREFIX)windres LDFLAGS = -s AR = ar ARFLAGS = -cq @@ -125,7 +134,7 @@ CFLAGS += -fno-strict-aliasing CFLAGS += -Wall -Wno-unused # -pedantic endif -ifeq ($(findstring msys,$(OSTYPE)),msys) +ifdef __MSYS__ DL = ' DS = / else @@ -253,7 +262,7 @@ dist: all $(DISTDIR) $(DISTDIR)/readme.txt @-$(CP) $(PROOT)/NEWS $(DISTDIR) @-$(CP) $(PROOT)/README $(DISTDIR) @echo Creating $(DISTARC) - @$(ZIP) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt + @$(ARCBIN) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt @-mkdir $(DEVLDIR)$(DS)include @@ -269,7 +278,7 @@ dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt @-$(CP) $(PROOT)/NEWS $(DEVLDIR) @-$(CP) $(PROOT)/README $(DEVLDIR) @echo Creating $(DEVLARC) - @$(ZIP) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt + @$(ARCBIN) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt clean: -$(RM) -r $(OBJDIR) -- 2.30.2