From 250cc0dd8d942c4f9f222b18b71959ce0d0dc3f3 Mon Sep 17 00:00:00 2001 From: Jarod Wilson Date: Mon, 9 Apr 2007 14:18:07 +0000 Subject: [PATCH] Update to rrdtool v1.2.19 --- .cvsignore | 1 + rrdtool-1.2.15-initrrdtool.patch | 36 ------- rrdtool-1.2.15-log_grid_leak.patch | 135 ------------------------- rrdtool-1.2.15-long_error_string.patch | 35 ------- rrdtool-1.2.19-python.patch | 22 ++++ rrdtool.spec | 7 +- sources | 2 +- 7 files changed, 30 insertions(+), 208 deletions(-) delete mode 100644 rrdtool-1.2.15-initrrdtool.patch delete mode 100644 rrdtool-1.2.15-log_grid_leak.patch delete mode 100644 rrdtool-1.2.15-long_error_string.patch create mode 100644 rrdtool-1.2.19-python.patch diff --git a/.cvsignore b/.cvsignore index a162dcc..03cfd4b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -4,3 +4,4 @@ php4-svn839.tar.gz rrdtool-1.2.15.tar.gz rrdtool-1.2.17.tar.gz rrdtool-1.2.18.tar.gz +rrdtool-1.2.19.tar.gz diff --git a/rrdtool-1.2.15-initrrdtool.patch b/rrdtool-1.2.15-initrrdtool.patch deleted file mode 100644 index 0506c6b..0000000 --- a/rrdtool-1.2.15-initrrdtool.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -ur rrdtool-1.2.15.orig/bindings/python/rrdtoolmodule.c rrdtool-1.2.15/bindings/python/rrdtoolmodule.c ---- rrdtool-1.2.15.orig/bindings/python/rrdtoolmodule.c 2006-07-14 08:11:26.000000000 -0400 -+++ rrdtool-1.2.15/bindings/python/rrdtoolmodule.c 2006-08-02 10:20:38.000000000 -0400 -@@ -48,8 +48,7 @@ - extern int opterr; - - /* forward declaration to keep compiler happy */ --/*void initrrdtool(void);*/ --void initrrdtoolmodule(void); -+void initrrdtool(void); - - static int - create_args(char *command, PyObject *args, int *argc, char ***argv) -@@ -518,19 +517,18 @@ - - /* Initialization function for the module */ - void --/*initrrdtool(void)*/ --initrrdtoolmodule(void) -+initrrdtool(void) - { - PyObject *m, *d, *t; - - /* Create the module and add the functions */ -- m = Py_InitModule("rrdtoolmodule", _rrdtool_methods); -+ m = Py_InitModule("rrdtool", _rrdtool_methods); - - /* Add some symbolic constants to the module */ - d = PyModule_GetDict(m); - - SET_STRCONSTANT(d, __version__); -- ErrorObject = PyErr_NewException("rrdtoolmodule.error", NULL, NULL); -+ ErrorObject = PyErr_NewException("rrdtool.error", NULL, NULL); - PyDict_SetItemString(d, "error", ErrorObject); - - /* Check for errors */ diff --git a/rrdtool-1.2.15-log_grid_leak.patch b/rrdtool-1.2.15-log_grid_leak.patch deleted file mode 100644 index 1c3236b..0000000 --- a/rrdtool-1.2.15-log_grid_leak.patch +++ /dev/null @@ -1,135 +0,0 @@ -diff -urp rrdtool-1.2.15.orig/src/rrd_graph.c rrdtool-1.2.15/src/rrd_graph.c ---- rrdtool-1.2.15.orig/src/rrd_graph.c 2006-07-14 08:11:26.000000000 -0400 -+++ rrdtool-1.2.15/src/rrd_graph.c 2006-12-14 15:37:05.000000000 -0500 -@@ -1060,8 +1060,9 @@ data_proc( image_desc_t *im ){ - ** relevant for min and max - */ - if (finite(paintval) && im->gdes[ii].gf != GF_TICK ) { -- if (isnan(minval) || paintval < minval) -- minval = paintval; -+ if ((isnan(minval) || paintval < minval ) && -+ ! (im->logarithmic && paintval <= 0.0)) -+ minval = paintval; - if (isnan(maxval) || paintval > maxval) - maxval = paintval; - } -@@ -1710,6 +1711,35 @@ double frexp10(double x, double *e) { - return mnt; - } - -+static int AlmostEqual2sComplement (float A, float B, int maxUlps) -+{ -+ -+ int aInt = *(int*)&A; -+ int bInt = *(int*)&B; -+ int intDiff; -+ /* Make sure maxUlps is non-negative and small enough that the -+ default NAN won't compare as equal to anything. */ -+ -+ /* assert(maxUlps > 0 && maxUlps < 4 * 1024 * 1024); */ -+ -+ /* Make aInt lexicographically ordered as a twos-complement int */ -+ -+ if (aInt < 0) -+ aInt = 0x80000000l - aInt; -+ -+ /* Make bInt lexicographically ordered as a twos-complement int */ -+ -+ if (bInt < 0) -+ bInt = 0x80000000l - bInt; -+ -+ intDiff = abs(aInt - bInt); -+ -+ if (intDiff <= maxUlps) -+ return 1; -+ -+ return 0; -+} -+ - /* logaritmic horizontal grid */ - int - horizontal_log_grid(image_desc_t *im) -@@ -1719,7 +1749,8 @@ horizontal_log_grid(image_desc_t *im) - {1.0, 5.0, 10., 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, - {1.0, 2.0, 5.0, 7.0, 10., 0.0, 0.0, 0.0, 0.0, 0.0}, - {1.0, 2.0, 4.0, 6.0, 8.0, 10., 0.0, 0.0, 0.0, 0.0}, -- {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.}}; -+ {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.}, -+ {0,0,0,0,0, 0,0,0,0,0} /* last line */ }; - - int i, j, val_exp, min_exp; - double nex; /* number of decades in data */ -@@ -1728,7 +1759,7 @@ horizontal_log_grid(image_desc_t *im) - int mid = -1; /* row in yloglab for major grid */ - double mspac; /* smallest major grid spacing (pixels) */ - int flab; /* first value in yloglab to use */ -- double value, tmp; -+ double value, tmp, pre_value; - double X0,X1,Y0; - char graph_label[100]; - -@@ -1747,11 +1778,11 @@ horizontal_log_grid(image_desc_t *im) - mid++; - for(i = 0; yloglab[mid][i + 1] < 10.0; i++); - mspac = logscale * log10(10.0 / yloglab[mid][i]); -- } while(mspac > 2 * im->text_prop[TEXT_PROP_LEGEND].size && mid < 5); -+ } while(mspac > 2 * im->text_prop[TEXT_PROP_LEGEND].size && yloglab[mid][0] > 0); - if(mid) mid--; - - /* find first value in yloglab */ -- for(flab = 0; frexp10(im->minval, &tmp) > yloglab[mid][flab]; flab++); -+ for(flab = 0; yloglab[mid][flab] < 10 && frexp10(im->minval, &tmp) > yloglab[mid][flab] ; flab++); - if(yloglab[mid][flab] == 10.0) { - tmp += 1.0; - flab = 0; -@@ -1763,8 +1794,13 @@ horizontal_log_grid(image_desc_t *im) - X1=im->xorigin+im->xsize; - - /* draw grid */ -- while(1) { -+ pre_value = DNAN; -+ while(1) { -+ - value = yloglab[mid][flab] * pow(10.0, val_exp); -+ if ( AlmostEqual2sComplement(value,pre_value,4) ) break; /* it seems we are not converging */ -+ -+ pre_value = value; - - Y0 = ytr(im, value); - if(Y0 <= im->yorigin - im->ysize) break; -@@ -2484,34 +2520,6 @@ graph_size_location(image_desc_t *im, in - /* yes we are loosing precision by doing tos with floats instead of doubles - but it seems more stable this way. */ - --static int AlmostEqual2sComplement (float A, float B, int maxUlps) --{ -- -- int aInt = *(int*)&A; -- int bInt = *(int*)&B; -- int intDiff; -- /* Make sure maxUlps is non-negative and small enough that the -- default NAN won't compare as equal to anything. */ -- -- /* assert(maxUlps > 0 && maxUlps < 4 * 1024 * 1024); */ -- -- /* Make aInt lexicographically ordered as a twos-complement int */ -- -- if (aInt < 0) -- aInt = 0x80000000l - aInt; -- -- /* Make bInt lexicographically ordered as a twos-complement int */ -- -- if (bInt < 0) -- bInt = 0x80000000l - bInt; -- -- intDiff = abs(aInt - bInt); -- -- if (intDiff <= maxUlps) -- return 1; -- -- return 0; --} - - /* draw that picture thing ... */ - int -Only in rrdtool-1.2.15/src: rrd_graph.c.orig diff --git a/rrdtool-1.2.15-long_error_string.patch b/rrdtool-1.2.15-long_error_string.patch deleted file mode 100644 index 32d6506..0000000 --- a/rrdtool-1.2.15-long_error_string.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: rrdtool/src/rrd_not_thread_safe.c -=================================================================== ---- rrdtool/src/rrd_not_thread_safe.c (revision 860) -+++ rrdtool/src/rrd_not_thread_safe.c (revision 935) -@@ -15,18 +15,24 @@ - #define ERRBUFLEN 256 - --static char rrd_error[MAXLEN] = "\0"; --static char rrd_liberror[ERRBUFLEN] = "\0"; -+static char rrd_error[MAXLEN+10]; -+static char rrd_liberror[ERRBUFLEN+10]; -+static int rrd_context_init = 0; - /* The global context is very useful in the transition period to even - more thread-safe stuff, it can be used whereever we need a context - and do not need to worry about concurrency. */ - static struct rrd_context global_ctx = { -- sizeof(rrd_error), -- sizeof(rrd_liberror), -+ MAXLEN, -+ ERRBUFLEN, - rrd_error, - rrd_liberror - }; --#include -+/* #include */ - --struct rrd_context *rrd_get_context() { -+struct rrd_context *rrd_get_context(void) { -+ if (! rrd_context_init ){ -+ rrd_context_init = 1; -+ global_ctx.rrd_error[0]='\0'; -+ global_ctx.lib_errstr[0]='\0'; -+ } - return &global_ctx; - } diff --git a/rrdtool-1.2.19-python.patch b/rrdtool-1.2.19-python.patch new file mode 100644 index 0000000..8e4adb5 --- /dev/null +++ b/rrdtool-1.2.19-python.patch @@ -0,0 +1,22 @@ +diff -uNr bindings/python-orig/Makefile.am bindings/python/Makefile.am +--- bindings/python-orig/Makefile.am 2007-03-31 11:21:43.000000000 +0100 ++++ bindings/python/Makefile.am 2007-03-31 11:24:47.000000000 +0100 +@@ -2,6 +2,7 @@ + + pyexec_PROGRAMS = rrdtoolmodule.so + ++rrdtoolmodule_so_LDFLAGS = -module -shared + rrdtoolmodule_so_LDADD = $(top_builddir)/src/librrd.la + rrdtoolmodule_so_SOURCES = rrdtoolmodule.c + +diff -uNr bindings/python-orig/Makefile.in bindings/python/Makefile.in +--- bindings/python-orig/Makefile.in 2007-03-31 11:21:43.000000000 +0100 ++++ bindings/python/Makefile.in 2007-03-31 11:22:14.000000000 +0100 +@@ -233,6 +233,7 @@ + target_os = @target_os@ + target_vendor = @target_vendor@ + AM_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src @PYTHON_INCLUDES@ ++rrdtoolmodule_so_LDFLAGS = -module -shared + rrdtoolmodule_so_LDADD = $(top_builddir)/src/librrd.la + rrdtoolmodule_so_SOURCES = rrdtoolmodule.c + noinst_HEADERS = rrd_extra.h diff --git a/rrdtool.spec b/rrdtool.spec index 12e7549..6beb024 100644 --- a/rrdtool.spec +++ b/rrdtool.spec @@ -6,7 +6,7 @@ Summary: Round Robin Database Tool to store and display time-series data Name: rrdtool -Version: 1.2.18 +Version: 1.2.19 Release: 1%{?dist} License: GPL Group: Applications/Databases @@ -14,6 +14,7 @@ URL: http://people.ee.ethz.ch/~oetiker/webtools/%{name}/ Source0: http://people.ee.ethz.ch/~oetiker/webtools/%{name}/pub/%{name}-%{version}.tar.gz Source1: php4-svn%{php_rrd_svn}.tar.gz Patch0: rrdtool-1.2.13-php.patch +Patch1: rrdtool-1.2.19-python.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc-c++, openssl-devel, freetype-devel BuildRequires: libpng-devel, zlib-devel, libart_lgpl-devel >= 2.0 @@ -111,6 +112,7 @@ The %{name}-tcl package includes RRDtool bindings for Tcl. %patch0 -p0 -b .php %{__perl} -pi -e 's|../config.h|../rrd_config.h|g' php4/rrdtool.c %endif +%patch1 -p0 -b .python # Fix to find correct python dir on lib64 %{__perl} -pi -e 's|get_python_lib\(0,0,prefix|get_python_lib\(1,0,prefix|g' \ @@ -269,6 +271,9 @@ find examples/ -type f -exec chmod 0644 {} \; %endif %changelog +* Mon Apr 09 2007 Jarod Wilson 1.2.19-1 +- New upstream release + * Tue Jan 23 2007 Jarod Wilson 1.2.18-1 - New upstream release diff --git a/sources b/sources index 28e318b..2053e45 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 20f70c46a3643ebc51d7b8562d8af9b2 php4-svn839.tar.gz -0c116d031275b7e0da1f8326d52d097d rrdtool-1.2.18.tar.gz +df625d12e0585042a398ff946e32e3e7 rrdtool-1.2.19.tar.gz