From 32afac217b40e313c39baba73dc7023a26099e4b Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Fri, 13 Jul 2012 09:11:47 +0000 Subject: rrdtool: add 1.4.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All binding are disabled since they are not safe for cross-compilation. Signed-off-by: Koen Kooi Signed-off-by: Eric BĂ©nard --- .../0001-rrdtool-eradicate-tcl-support.patch | 1733 ++++++++++++++++++++ meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb | 33 + 2 files changed, 1766 insertions(+) create mode 100644 meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch create mode 100644 meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch new file mode 100644 index 0000000000..1157dc7201 --- /dev/null +++ b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch @@ -0,0 +1,1733 @@ +From 2dcb4bb8aadfead3e77bdb78b96ec8022e605a0d Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Sat, 12 May 2012 20:41:35 +0200 +Subject: [PATCH] rrdtool: eradicate tcl support + +TCL breaks autoreconf + +Signed-off-by: Koen Kooi +--- + Makefile.am | 3 - + bindings/Makefile.am | 5 +- + bindings/tcl/Makefile.am | 58 ---- + bindings/tcl/Makefile.in | 668 ------------------------------------ + bindings/tcl/README | 31 -- + bindings/tcl/ifOctets.tcl.in | 45 --- + bindings/tcl/tclrrd.c | 762 ------------------------------------------ + configure.ac | 54 --- + 8 files changed, 1 insertion(+), 1625 deletions(-) + delete mode 100644 bindings/tcl/Makefile.am + delete mode 100644 bindings/tcl/Makefile.in + delete mode 100644 bindings/tcl/README + delete mode 100644 bindings/tcl/ifOctets.tcl.in + delete mode 100644 bindings/tcl/tclrrd.c + +diff --git a/Makefile.am b/Makefile.am +index 2003373..969e36b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -36,9 +36,6 @@ site-perl-install: all bindings/perl-piped/Makefile bindings/perl-shared/Makefil + cd bindings/perl-piped && $(MAKE) install + cd bindings/perl-shared && $(MAKE) install + +-site-tcl-install: all +- cd bindings/tcl && $(MAKE) tcl-install +- + site-python-install: all + cd bindings/python && $(PYTHON) setup.py install $(if $(DESTDIR),--root=$(DESTDIR)) + +diff --git a/bindings/Makefile.am b/bindings/Makefile.am +index c4fdc10..3574a60 100644 +--- a/bindings/Makefile.am ++++ b/bindings/Makefile.am +@@ -1,13 +1,10 @@ + .PHONY: python ruby + +-if BUILD_TCL +-SUB_tcl = tcl +-endif + if BUILD_LUA + SUB_lua = lua + endif + +-SUBDIRS = $(SUB_tcl) $(SUB_lua) ++SUBDIRS = $(SUB_lua) + + # the following files are not mentioned in any other Makefile + EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-piped/RRDp.pm perl-piped/t/base.t \ +diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am +deleted file mode 100644 +index c0e8b0f..0000000 +--- a/bindings/tcl/Makefile.am ++++ /dev/null +@@ -1,58 +0,0 @@ +- +-EXTRA_DIST = README tclrrd.c +- +-VERSION = @VERSION@ +- +-AM_CFLAGS = @CFLAGS@ +-### no including this by default @WERROR@ +- +-TCL_PREFIX = @TCL_PREFIX@ +-TCL_SHLIB_LD = @TCL_SHLIB_LD@ +-TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ +-TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ +-TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ +-TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ +-TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ +-TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ +- +-CLEANFILES = tclrrd.o tclrrd.so +- +-SRC_DIR = $(top_srcdir)/src +-AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS +-LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir) +-LIB_RUNTIME_DIR = $(libdir) +- +-if BUILD_TCL_SITE +-tclpkgdir = @TCL_PACKAGE_DIR@ +-tclpkg_DATA = pkgIndex.tcl +-tclpkg_SCRIPTS = ifOctets.tcl +-else +-pkglib_DATA = pkgIndex.tcl +-pkglib_SCRIPTS = ifOctets.tcl +-endif +- +-# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as +-# library name. So we build and install this library `by hand'. +-# +-# We do, however, specify a lib_LIBRARIES target such that +-# automake creates the directory (if neecessary). +-# +-TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX) +- +-lib_LIBRARIES = +- +-all-local: $(TCL_RRD_LIB) +- +-$(TCL_RRD_LIB): tclrrd.o +- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) +- +-tclrrd.o: tclrrd.c +- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" +- +-pkgIndex.tcl: +- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ +- +-install-exec-local: $(TCL_RRD_LIB) +- @$(NORMAL_INSTALL) +- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB) +- +diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in +deleted file mode 100644 +index 0a36517..0000000 +--- a/bindings/tcl/Makefile.in ++++ /dev/null +@@ -1,668 +0,0 @@ +-# Makefile.in generated by automake 1.11 from Makefile.am. +-# @configure_input@ +- +-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +-# Inc. +-# This Makefile.in is free software; the Free Software Foundation +-# gives unlimited permission to copy and/or distribute it, +-# with or without modifications, as long as this notice is preserved. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +-# PARTICULAR PURPOSE. +- +-@SET_MAKE@ +- +- +- +-VPATH = @srcdir@ +-pkgdatadir = $(datadir)/@PACKAGE@ +-pkgincludedir = $(includedir)/@PACKAGE@ +-pkglibdir = $(libdir)/@PACKAGE@ +-pkglibexecdir = $(libexecdir)/@PACKAGE@ +-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-install_sh_DATA = $(install_sh) -c -m 644 +-install_sh_PROGRAM = $(install_sh) -c +-install_sh_SCRIPT = $(install_sh) -c +-INSTALL_HEADER = $(INSTALL_DATA) +-transform = $(program_transform_name) +-NORMAL_INSTALL = : +-PRE_INSTALL = : +-POST_INSTALL = : +-NORMAL_UNINSTALL = : +-PRE_UNINSTALL = : +-POST_UNINSTALL = : +-build_triplet = @build@ +-host_triplet = @host@ +-target_triplet = @target@ +-subdir = bindings/tcl +-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +- $(srcdir)/ifOctets.tcl.in +-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ +- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ +- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ +- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ +- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ +- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ +- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ +- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ +- $(top_srcdir)/configure.ac +-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ +- $(ACLOCAL_M4) +-mkinstalldirs = $(install_sh) -d +-CONFIG_HEADER = $(top_builddir)/rrd_config.h +-CONFIG_CLEAN_FILES = ifOctets.tcl +-CONFIG_CLEAN_VPATH_FILES = +-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +-am__vpath_adj = case $$p in \ +- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +- *) f=$$p;; \ +- esac; +-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +-am__install_max = 40 +-am__nobase_strip_setup = \ +- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +-am__nobase_strip = \ +- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +-am__nobase_list = $(am__nobase_strip_setup); \ +- for p in $$list; do echo "$$p $$p"; done | \ +- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ +- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ +- if (++n[$$2] == $(am__install_max)) \ +- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ +- END { for (dir in files) print dir, files[dir] }' +-am__base_list = \ +- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ +- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" \ +- "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" \ +- "$(DESTDIR)$(tclpkgdir)" +-LIBRARIES = $(lib_LIBRARIES) +-SCRIPTS = $(pkglib_SCRIPTS) $(tclpkg_SCRIPTS) +-AM_V_GEN = $(am__v_GEN_$(V)) +-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +-am__v_GEN_0 = @echo " GEN " $@; +-AM_V_at = $(am__v_at_$(V)) +-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +-am__v_at_0 = @ +-SOURCES = +-DIST_SOURCES = +-DATA = $(pkglib_DATA) $(tclpkg_DATA) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-ACLOCAL = @ACLOCAL@ +-ALL_LIBS = @ALL_LIBS@ +-AMTAR = @AMTAR@ +-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +-AR = @AR@ +-AUTOCONF = @AUTOCONF@ +-AUTOHEADER = @AUTOHEADER@ +-AUTOMAKE = @AUTOMAKE@ +-AWK = @AWK@ +-CC = @CC@ +-CCDEPMODE = @CCDEPMODE@ +-CFLAGS = @CFLAGS@ +-COMP_LUA = @COMP_LUA@ +-COMP_PERL = @COMP_PERL@ +-COMP_PYTHON = @COMP_PYTHON@ +-COMP_RUBY = @COMP_RUBY@ +-CORE_LIBS = @CORE_LIBS@ +-CPP = @CPP@ +-CPPFLAGS = @CPPFLAGS@ +-CYGPATH_W = @CYGPATH_W@ +-DEFS = @DEFS@ +-DEPDIR = @DEPDIR@ +-DSYMUTIL = @DSYMUTIL@ +-DUMPBIN = @DUMPBIN@ +-ECHO_C = @ECHO_C@ +-ECHO_N = @ECHO_N@ +-ECHO_T = @ECHO_T@ +-EGREP = @EGREP@ +-EXEEXT = @EXEEXT@ +-FGREP = @FGREP@ +-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +-GMSGFMT = @GMSGFMT@ +-GMSGFMT_015 = @GMSGFMT_015@ +-GREP = @GREP@ +-INSTALL = @INSTALL@ +-INSTALL_DATA = @INSTALL_DATA@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ +-INSTALL_SCRIPT = @INSTALL_SCRIPT@ +-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +-INTLLIBS = @INTLLIBS@ +-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +-LD = @LD@ +-LDFLAGS = @LDFLAGS@ +-LIBICONV = @LIBICONV@ +-LIBINTL = @LIBINTL@ +-LIBOBJS = @LIBOBJS@ +-LIBS = @LIBS@ +-LIBTOOL = @LIBTOOL@ +-LIBVERS = @LIBVERS@ +-LIPO = @LIPO@ +-LN_S = @LN_S@ +-LTLIBICONV = @LTLIBICONV@ +-LTLIBINTL = @LTLIBINTL@ +-LTLIBOBJS = @LTLIBOBJS@ +-LUA = @LUA@ +-LUA_CFLAGS = @LUA_CFLAGS@ +-LUA_DEFINES = @LUA_DEFINES@ +-LUA_INSTALL_CMOD = @LUA_INSTALL_CMOD@ +-LUA_INSTALL_LMOD = @LUA_INSTALL_LMOD@ +-LUA_LFLAGS = @LUA_LFLAGS@ +-MAINT = @MAINT@ +-MAKEINFO = @MAKEINFO@ +-MKDIR_P = @MKDIR_P@ +-MSGFMT = @MSGFMT@ +-MSGFMT_015 = @MSGFMT_015@ +-MSGMERGE = @MSGMERGE@ +-MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@ +-MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@ +-NM = @NM@ +-NMEDIT = @NMEDIT@ +-NROFF = @NROFF@ +-NUMVERS = @NUMVERS@ +-OBJDUMP = @OBJDUMP@ +-OBJEXT = @OBJEXT@ +-OTOOL = @OTOOL@ +-OTOOL64 = @OTOOL64@ +-PACKAGE = @PACKAGE@ +-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +-PACKAGE_NAME = @PACKAGE_NAME@ +-PACKAGE_STRING = @PACKAGE_STRING@ +-PACKAGE_TARNAME = @PACKAGE_TARNAME@ +-PACKAGE_VERSION = @PACKAGE_VERSION@ +-PATH_SEPARATOR = @PATH_SEPARATOR@ +-PERL = @PERL@ +-PERLCC = @PERLCC@ +-PERLCCFLAGS = @PERLCCFLAGS@ +-PERLFLAGS = @PERLFLAGS@ +-PERLLD = @PERLLD@ +-PERLLDFLAGS = @PERLLDFLAGS@ +-PERL_CC = @PERL_CC@ +-PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@ +-PERL_VERSION = @PERL_VERSION@ +-PKGCONFIG = @PKGCONFIG@ +-POD2HTML = @POD2HTML@ +-POD2MAN = @POD2MAN@ +-POSUB = @POSUB@ +-PTHREAD_CC = @PTHREAD_CC@ +-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +-PTHREAD_LIBS = @PTHREAD_LIBS@ +-PYTHON = @PYTHON@ +-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +-PYTHON_INCLUDES = @PYTHON_INCLUDES@ +-PYTHON_PLATFORM = @PYTHON_PLATFORM@ +-PYTHON_PREFIX = @PYTHON_PREFIX@ +-PYTHON_VERSION = @PYTHON_VERSION@ +-RANLIB = @RANLIB@ +-RRDDOCDIR = @RRDDOCDIR@ +-RRDGRAPH_YLEGEND_ANGLE = @RRDGRAPH_YLEGEND_ANGLE@ +-RRD_DEFAULT_FONT = @RRD_DEFAULT_FONT@ +-RRD_GETOPT_LONG = @RRD_GETOPT_LONG@ +-RUBY = @RUBY@ +-RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@ +-SED = @SED@ +-SET_MAKE = @SET_MAKE@ +-SHELL = @SHELL@ +-STRIP = @STRIP@ +-TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ +-TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ +-TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@ +-TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ +-### no including this by default @WERROR@ +-TCL_PREFIX = @TCL_PREFIX@ +-TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ +-TCL_SHLIB_LD = @TCL_SHLIB_LD@ +-TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ +-TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ +-TCL_VERSION = @TCL_VERSION@ +-TROFF = @TROFF@ +-USE_NLS = @USE_NLS@ +-VERSION = @VERSION@ +-WERROR = @WERROR@ +-XGETTEXT = @XGETTEXT@ +-XGETTEXT_015 = @XGETTEXT_015@ +-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +-abs_builddir = @abs_builddir@ +-abs_srcdir = @abs_srcdir@ +-abs_top_builddir = @abs_top_builddir@ +-abs_top_srcdir = @abs_top_srcdir@ +-ac_ct_CC = @ac_ct_CC@ +-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +-acx_pthread_config = @acx_pthread_config@ +-am__include = @am__include@ +-am__leading_dot = @am__leading_dot@ +-am__quote = @am__quote@ +-am__tar = @am__tar@ +-am__untar = @am__untar@ +-bindir = @bindir@ +-build = @build@ +-build_alias = @build_alias@ +-build_cpu = @build_cpu@ +-build_os = @build_os@ +-build_vendor = @build_vendor@ +-builddir = @builddir@ +-datadir = @datadir@ +-datarootdir = @datarootdir@ +-docdir = @docdir@ +-dvidir = @dvidir@ +-exec_prefix = @exec_prefix@ +-host = @host@ +-host_alias = @host_alias@ +-host_cpu = @host_cpu@ +-host_os = @host_os@ +-host_vendor = @host_vendor@ +-htmldir = @htmldir@ +-includedir = @includedir@ +-infodir = @infodir@ +-install_sh = @install_sh@ +-libdir = @libdir@ +-libexecdir = @libexecdir@ +-localedir = @localedir@ +-localstatedir = @localstatedir@ +-lt_ECHO = @lt_ECHO@ +-mandir = @mandir@ +-mkdir_p = @mkdir_p@ +-oldincludedir = @oldincludedir@ +-pdfdir = @pdfdir@ +-pkgpyexecdir = @pkgpyexecdir@ +-pkgpythondir = @pkgpythondir@ +-prefix = @prefix@ +-program_transform_name = @program_transform_name@ +-psdir = @psdir@ +-pyexecdir = @pyexecdir@ +-pythondir = @pythondir@ +-sbindir = @sbindir@ +-sharedstatedir = @sharedstatedir@ +-srcdir = @srcdir@ +-sysconfdir = @sysconfdir@ +-target = @target@ +-target_alias = @target_alias@ +-target_cpu = @target_cpu@ +-target_os = @target_os@ +-target_vendor = @target_vendor@ +-top_build_prefix = @top_build_prefix@ +-top_builddir = @top_builddir@ +-top_srcdir = @top_srcdir@ +-EXTRA_DIST = README tclrrd.c +-AM_CFLAGS = @CFLAGS@ +-CLEANFILES = tclrrd.o tclrrd.so +-SRC_DIR = $(top_srcdir)/src +-AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS +-LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir) +-LIB_RUNTIME_DIR = $(libdir) +-@BUILD_TCL_SITE_TRUE@tclpkgdir = @TCL_PACKAGE_DIR@ +-@BUILD_TCL_SITE_TRUE@tclpkg_DATA = pkgIndex.tcl +-@BUILD_TCL_SITE_TRUE@tclpkg_SCRIPTS = ifOctets.tcl +-@BUILD_TCL_SITE_FALSE@pkglib_DATA = pkgIndex.tcl +-@BUILD_TCL_SITE_FALSE@pkglib_SCRIPTS = ifOctets.tcl +- +-# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as +-# library name. So we build and install this library `by hand'. +-# +-# We do, however, specify a lib_LIBRARIES target such that +-# automake creates the directory (if neecessary). +-# +-TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX) +-lib_LIBRARIES = +-all: all-am +- +-.SUFFIXES: +-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) +- @for dep in $?; do \ +- case '$(am__configure_deps)' in \ +- *$$dep*) \ +- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ +- && { if test -f $@; then exit 0; else break; fi; }; \ +- exit 1;; \ +- esac; \ +- done; \ +- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/tcl/Makefile'; \ +- $(am__cd) $(top_srcdir) && \ +- $(AUTOMAKE) --gnu bindings/tcl/Makefile +-.PRECIOUS: Makefile +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +- @case '$?' in \ +- *config.status*) \ +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ +- *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ +- esac; +- +-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +- +-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +-$(am__aclocal_m4_deps): +-ifOctets.tcl: $(top_builddir)/config.status $(srcdir)/ifOctets.tcl.in +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +-install-libLIBRARIES: $(lib_LIBRARIES) +- @$(NORMAL_INSTALL) +- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" +- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ +- list2=; for p in $$list; do \ +- if test -f $$p; then \ +- list2="$$list2 $$p"; \ +- else :; fi; \ +- done; \ +- test -z "$$list2" || { \ +- echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ +- $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } +- @$(POST_INSTALL) +- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ +- for p in $$list; do \ +- if test -f $$p; then \ +- $(am__strip_dir) \ +- echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ +- ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ +- else :; fi; \ +- done +- +-uninstall-libLIBRARIES: +- @$(NORMAL_UNINSTALL) +- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ +- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +- test -n "$$files" || exit 0; \ +- echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ +- cd "$(DESTDIR)$(libdir)" && rm -f $$files +- +-clean-libLIBRARIES: +- -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) +-install-pkglibSCRIPTS: $(pkglib_SCRIPTS) +- @$(NORMAL_INSTALL) +- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" +- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || list=; \ +- for p in $$list; do \ +- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ +- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ +- done | \ +- sed -e 'p;s,.*/,,;n' \ +- -e 'h;s|.*|.|' \ +- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ +- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ +- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ +- if ($$2 == $$4) { files[d] = files[d] " " $$1; \ +- if (++n[d] == $(am__install_max)) { \ +- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ +- else { print "f", d "/" $$4, $$1 } } \ +- END { for (d in files) print "f", d, files[d] }' | \ +- while read type dir files; do \ +- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ +- test -z "$$files" || { \ +- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibdir)$$dir'"; \ +- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibdir)$$dir" || exit $$?; \ +- } \ +- ; done +- +-uninstall-pkglibSCRIPTS: +- @$(NORMAL_UNINSTALL) +- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || exit 0; \ +- files=`for p in $$list; do echo "$$p"; done | \ +- sed -e 's,.*/,,;$(transform)'`; \ +- test -n "$$list" || exit 0; \ +- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ +- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files +-install-tclpkgSCRIPTS: $(tclpkg_SCRIPTS) +- @$(NORMAL_INSTALL) +- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)" +- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || list=; \ +- for p in $$list; do \ +- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ +- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ +- done | \ +- sed -e 'p;s,.*/,,;n' \ +- -e 'h;s|.*|.|' \ +- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ +- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ +- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ +- if ($$2 == $$4) { files[d] = files[d] " " $$1; \ +- if (++n[d] == $(am__install_max)) { \ +- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ +- else { print "f", d "/" $$4, $$1 } } \ +- END { for (d in files) print "f", d, files[d] }' | \ +- while read type dir files; do \ +- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ +- test -z "$$files" || { \ +- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(tclpkgdir)$$dir'"; \ +- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(tclpkgdir)$$dir" || exit $$?; \ +- } \ +- ; done +- +-uninstall-tclpkgSCRIPTS: +- @$(NORMAL_UNINSTALL) +- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || exit 0; \ +- files=`for p in $$list; do echo "$$p"; done | \ +- sed -e 's,.*/,,;$(transform)'`; \ +- test -n "$$list" || exit 0; \ +- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \ +- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files +- +-mostlyclean-libtool: +- -rm -f *.lo +- +-clean-libtool: +- -rm -rf .libs _libs +-install-pkglibDATA: $(pkglib_DATA) +- @$(NORMAL_INSTALL) +- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" +- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ +- for p in $$list; do \ +- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ +- echo "$$d$$p"; \ +- done | $(am__base_list) | \ +- while read files; do \ +- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \ +- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \ +- done +- +-uninstall-pkglibDATA: +- @$(NORMAL_UNINSTALL) +- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ +- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +- test -n "$$files" || exit 0; \ +- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ +- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files +-install-tclpkgDATA: $(tclpkg_DATA) +- @$(NORMAL_INSTALL) +- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)" +- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \ +- for p in $$list; do \ +- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ +- echo "$$d$$p"; \ +- done | $(am__base_list) | \ +- while read files; do \ +- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tclpkgdir)'"; \ +- $(INSTALL_DATA) $$files "$(DESTDIR)$(tclpkgdir)" || exit $$?; \ +- done +- +-uninstall-tclpkgDATA: +- @$(NORMAL_UNINSTALL) +- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \ +- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +- test -n "$$files" || exit 0; \ +- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \ +- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files +-tags: TAGS +-TAGS: +- +-ctags: CTAGS +-CTAGS: +- +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +-check-am: all-am +-check: check-am +-all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(DATA) all-local +-installdirs: +- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)"; do \ +- test -z "$$dir" || $(MKDIR_P) "$$dir"; \ +- done +-install: install-am +-install-exec: install-exec-am +-install-data: install-data-am +-uninstall: uninstall-am +- +-install-am: all-am +- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +- +-installcheck: installcheck-am +-install-strip: +- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +- `test -z '$(STRIP)' || \ +- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +-mostlyclean-generic: +- +-clean-generic: +- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) +- +-distclean-generic: +- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) +- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) +- +-maintainer-clean-generic: +- @echo "This command is intended for maintainers to use" +- @echo "it deletes files that may require special tools to rebuild." +-clean: clean-am +- +-clean-am: clean-generic clean-libLIBRARIES clean-libtool \ +- mostlyclean-am +- +-distclean: distclean-am +- -rm -f Makefile +-distclean-am: clean-am distclean-generic +- +-dvi: dvi-am +- +-dvi-am: +- +-html: html-am +- +-html-am: +- +-info: info-am +- +-info-am: +- +-install-data-am: install-tclpkgDATA install-tclpkgSCRIPTS +- +-install-dvi: install-dvi-am +- +-install-dvi-am: +- +-install-exec-am: install-exec-local install-libLIBRARIES \ +- install-pkglibDATA install-pkglibSCRIPTS +- +-install-html: install-html-am +- +-install-html-am: +- +-install-info: install-info-am +- +-install-info-am: +- +-install-man: +- +-install-pdf: install-pdf-am +- +-install-pdf-am: +- +-install-ps: install-ps-am +- +-install-ps-am: +- +-installcheck-am: +- +-maintainer-clean: maintainer-clean-am +- -rm -f Makefile +-maintainer-clean-am: distclean-am maintainer-clean-generic +- +-mostlyclean: mostlyclean-am +- +-mostlyclean-am: mostlyclean-generic mostlyclean-libtool +- +-pdf: pdf-am +- +-pdf-am: +- +-ps: ps-am +- +-ps-am: +- +-uninstall-am: uninstall-libLIBRARIES uninstall-pkglibDATA \ +- uninstall-pkglibSCRIPTS uninstall-tclpkgDATA \ +- uninstall-tclpkgSCRIPTS +- +-.MAKE: install-am install-strip +- +-.PHONY: all all-am all-local check check-am clean clean-generic \ +- clean-libLIBRARIES clean-libtool distclean distclean-generic \ +- distclean-libtool distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-exec-local \ +- install-html install-html-am install-info install-info-am \ +- install-libLIBRARIES install-man install-pdf install-pdf-am \ +- install-pkglibDATA install-pkglibSCRIPTS install-ps \ +- install-ps-am install-strip install-tclpkgDATA \ +- install-tclpkgSCRIPTS installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +- uninstall uninstall-am uninstall-libLIBRARIES \ +- uninstall-pkglibDATA uninstall-pkglibSCRIPTS \ +- uninstall-tclpkgDATA uninstall-tclpkgSCRIPTS +- +- +-all-local: $(TCL_RRD_LIB) +- +-$(TCL_RRD_LIB): tclrrd.o +- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) +- +-tclrrd.o: tclrrd.c +- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" +- +-pkgIndex.tcl: +- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ +- +-install-exec-local: $(TCL_RRD_LIB) +- @$(NORMAL_INSTALL) +- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB) +- +-# Tell versions [3.59,3.63) of GNU make to not export all variables. +-# Otherwise a system limit (for SysV at least) may be exceeded. +-.NOEXPORT: +diff --git a/bindings/tcl/README b/bindings/tcl/README +deleted file mode 100644 +index 065a03a..0000000 +--- a/bindings/tcl/README ++++ /dev/null +@@ -1,31 +0,0 @@ +-TCLRRD -- A TCL interpreter extension to access the RRD library, +- contributed to Tobias Oetiker's RRD tools. +- +-Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig. +- +-See the file "COPYING" for information on usage and redistribution +-of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- +-TCLRRD adds a dynamically loadable package to the Tcl 8.x interpreter +-to access all RRD functions as of RRDtool 1.0.13. All command names +-and arguments are equal to those of RRDtool. They are assigned to the +-namespace `Rrd', e.g. `Rrd::create'. Return values are a bit +-different from plain RRDtool behavior to enable more native Tcl +-usage. Errors are mapped to the TCL_ERROR return code together with +-the RRD error strings. +- +-TCLRRD makes it easy to combine RRD use with advanced SNMP functionality +-of scotty (http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/). E.g., it's easy +-to use some scotty code to get the counters of some interfaces by their +-interface name and then use Rrd::update to store the values. Furthermore, +-data source types (see RRD::create documentation) and integer value ranges +-could be easily retrieved from MIB information. +- +-TCLRRD has been written on a Linux system for use with Tcl 8.x. It should +-work on many other platforms, although it has not been tested. There are +-no fool proof installation procedures. Take a look at Makefile.am and +-adapt it, if required. +- +-TCLRRD has been written for RRD 1.0.13. +- +- Frank Strauss , 09-Mar-2000 +diff --git a/bindings/tcl/ifOctets.tcl.in b/bindings/tcl/ifOctets.tcl.in +deleted file mode 100644 +index 7a36397..0000000 +--- a/bindings/tcl/ifOctets.tcl.in ++++ /dev/null +@@ -1,45 +0,0 @@ +-#!/bin/sh +-# the next line restarts using tclsh -*- tcl -*- \ +-exec tclsh@TCL_VERSION@ "$0" "$@" +- +-#package require Tnm 3.0 +-package require Rrd @VERSION@ +- +-set rrdfile "[lindex $argv 0]-[lindex $argv 1].rrd" +- +-# create rrdfile if not yet existent +-if {[file exists $rrdfile] == 0} { +- Rrd::create $rrdfile --step 5 \ +- DS:inOctets:COUNTER:10:U:U DS:outOctets:COUNTER:10:U:U \ +- RRA:AVERAGE:0.5:1:12 +-} +- +-# get an snmp session context +-set session [Tnm::snmp generator -address [lindex $argv 0]] +- +-# walk through the ifDescr column to find the right interface +-$session walk descr IF-MIB!ifDescr { +- +- # is this the right interface? +- if {"[Tnm::snmp value $descr 0]" == "[lindex $argv 1]"} { +- +- # get the instance part of this table row +- set inst [lindex [Tnm::mib split [Tnm::snmp oid $descr 0]] 1] +- +- # get the two interface's octet counter values +- set in [lindex [lindex [$session get IF-MIB!ifInOctets.$inst] 0] 2] +- set out [lindex [lindex [$session get IF-MIB!ifOutOctets.$inst] 0] 2] +- +- # write the values to the rrd +- puts "$in $out" +- Rrd::update $rrdfile --template inOctets:outOctets N:$in:$out +- +- Rrd::graph gaga.png --title "gaga" \ +- DEF:in=$rrdfile:inOctets:AVERAGE \ +- DEF:out=$rrdfile:outOctets:AVERAGE \ +- AREA:in#0000FF:inOctets \ +- LINE2:out#00C000:outOctets +- +- #puts [Rrd::fetch $rrdfile AVERAGE] +- } +-} +diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c +deleted file mode 100644 +index f1f0234..0000000 +--- a/bindings/tcl/tclrrd.c ++++ /dev/null +@@ -1,762 +0,0 @@ +-/* +- * tclrrd.c -- A TCL interpreter extension to access the RRD library. +- * +- * Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig. +- * +- * Thread-safe code copyright (c) 2005 Oleg Derevenetz, CenterTelecom Voronezh ISP. +- * +- * See the file "COPYING" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * $Id: tclrrd.c 1854 2009-06-07 14:46:21Z oetiker $ +- */ +- +- +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include "../../src/rrd_tool.h" +-#include "../../src/rrd_format.h" +- +-/* support pre-8.4 tcl */ +- +-#ifndef CONST84 +-# define CONST84 +-#endif +- +-extern int Tclrrd_Init( +- Tcl_Interp *interp); +-extern int Tclrrd_SafeInit( +- Tcl_Interp *interp); +- +- +-/* +- * some rrd_XXX() and new thread-safe versions of Rrd_XXX() +- * functions might modify the argv strings passed to it. +- * Hence, we need to do some preparation before +- * calling the rrd library functions. +- */ +-static char **getopt_init( +- int argc, +- CONST84 char *argv[]) +-{ +- char **argv2; +- int i; +- +- argv2 = calloc(argc, sizeof(char *)); +- for (i = 0; i < argc; i++) { +- argv2[i] = strdup(argv[i]); +- } +- return argv2; +-} +- +-static void getopt_cleanup( +- int argc, +- char **argv2) +-{ +- int i; +- +- for (i = 0; i < argc; i++) { +- if (argv2[i] != NULL) { +- free(argv2[i]); +- } +- } +- free(argv2); +-} +- +-static void getopt_free_element( +- char *argv2[], +- int argn) +-{ +- if (argv2[argn] != NULL) { +- free(argv2[argn]); +- argv2[argn] = NULL; +- } +-} +- +-static void getopt_squieeze( +- int *argc, +- char *argv2[]) +-{ +- int i, null_i = 0, argc_tmp = *argc; +- +- for (i = 0; i < argc_tmp; i++) { +- if (argv2[i] == NULL) { +- (*argc)--; +- } else { +- argv2[null_i++] = argv2[i]; +- } +- } +-} +- +- +- +-/* Thread-safe version */ +-static int Rrd_Create( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- int argv_i; +- char **argv2; +- char *parsetime_error = NULL; +- time_t last_up = time(NULL) - 10; +- long int long_tmp; +- unsigned long int pdp_step = 300; +- rrd_time_value_t last_up_tv; +- +- argv2 = getopt_init(argc, argv); +- +- for (argv_i = 1; argv_i < argc; argv_i++) { +- if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) { +- if (argv_i++ >= argc) { +- Tcl_AppendResult(interp, "RRD Error: option '", +- argv2[argv_i - 1], "' needs an argument", +- (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- if ((parsetime_error = rrd_parsetime(argv2[argv_i], &last_up_tv))) { +- Tcl_AppendResult(interp, "RRD Error: invalid time format: '", +- argv2[argv_i], "'", (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- if (last_up_tv.type == RELATIVE_TO_END_TIME || +- last_up_tv.type == RELATIVE_TO_START_TIME) { +- Tcl_AppendResult(interp, +- "RRD Error: specifying time relative to the 'start' ", +- "or 'end' makes no sense here", +- (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- last_up = mktime(&last_up_tv.tm) +last_up_tv.offset; +- if (last_up < 3600 * 24 * 365 * 10) { +- Tcl_AppendResult(interp, +- "RRD Error: the first entry to the RRD should be after 1980", +- (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- getopt_free_element(argv2, argv_i - 1); +- getopt_free_element(argv2, argv_i); +- } else if (!strcmp(argv2[argv_i], "--step") +- || !strcmp(argv2[argv_i], "-s")) { +- if (argv_i++ >= argc) { +- Tcl_AppendResult(interp, "RRD Error: option '", +- argv2[argv_i - 1], "' needs an argument", +- (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- long_tmp = atol(argv2[argv_i]); +- if (long_tmp < 1) { +- Tcl_AppendResult(interp, +- "RRD Error: step size should be no less than one second", +- (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- pdp_step = long_tmp; +- getopt_free_element(argv2, argv_i - 1); +- getopt_free_element(argv2, argv_i); +- } else if (!strcmp(argv2[argv_i], "--")) { +- getopt_free_element(argv2, argv_i); +- break; +- } else if (argv2[argv_i][0] == '-') { +- Tcl_AppendResult(interp, "RRD Error: unknown option '", +- argv2[argv_i], "'", (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- } +- +- getopt_squieeze(&argc, argv2); +- +- if (argc < 2) { +- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", +- (char *) NULL); +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- +- rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, +- (const char **)argv2 + 2); +- +- getopt_cleanup(argc, argv2); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +- +- +-/* Thread-safe version */ +-static int Rrd_Dump( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- if (argc < 2) { +- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", +- (char *) NULL); +- return TCL_ERROR; +- } +- +- rrd_dump_r(argv[1], NULL); +- +- /* NOTE: rrd_dump() writes to stdout. No interaction with TCL. */ +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +-/* Thread-safe version */ +-static int Rrd_Flushcached( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- if (argc < 2) { +- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", +- (char *) NULL); +- return TCL_ERROR; +- } +- +- rrd_flushcached(argc, (char**)argv); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +- +-/* Thread-safe version */ +-static int Rrd_Last( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- time_t t; +- +- if (argc < 2) { +- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", +- (char *) NULL); +- return TCL_ERROR; +- } +- +- t = rrd_last_r(argv[1]); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- Tcl_SetIntObj(Tcl_GetObjResult(interp), t); +- +- return TCL_OK; +-} +- +- +- +-/* Thread-safe version */ +-static int Rrd_Update( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- int argv_i; +- char **argv2, *template = NULL; +- +- argv2 = getopt_init(argc, argv); +- +- for (argv_i = 1; argv_i < argc; argv_i++) { +- if (!strcmp(argv2[argv_i], "--template") +- || !strcmp(argv2[argv_i], "-t")) { +- if (argv_i++ >= argc) { +- Tcl_AppendResult(interp, "RRD Error: option '", +- argv2[argv_i - 1], "' needs an argument", +- (char *) NULL); +- if (template != NULL) { +- free(template); +- } +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- if (template != NULL) { +- free(template); +- } +- template = strdup(argv2[argv_i]); +- getopt_free_element(argv2, argv_i - 1); +- getopt_free_element(argv2, argv_i); +- } else if (!strcmp(argv2[argv_i], "--")) { +- getopt_free_element(argv2, argv_i); +- break; +- } else if (argv2[argv_i][0] == '-') { +- Tcl_AppendResult(interp, "RRD Error: unknown option '", +- argv2[argv_i], "'", (char *) NULL); +- if (template != NULL) { +- free(template); +- } +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- } +- +- getopt_squieeze(&argc, argv2); +- +- if (argc < 2) { +- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", +- (char *) NULL); +- if (template != NULL) { +- free(template); +- } +- getopt_cleanup(argc, argv2); +- return TCL_ERROR; +- } +- +- rrd_update_r(argv2[1], template, argc - 2, (const char **)argv2 + 2); +- +- if (template != NULL) { +- free(template); +- } +- getopt_cleanup(argc, argv2); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +-static int Rrd_Lastupdate( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- time_t last_update; +- char **argv2; +- char **ds_namv; +- char **last_ds; +- char s[30]; +- Tcl_Obj *listPtr; +- unsigned long ds_cnt, i; +- +- /* TODO: support for rrdcached */ +- if (argc != 2) { +- Tcl_AppendResult(interp, "RRD Error: needs a single rrd filename", +- (char *) NULL); +- return TCL_ERROR; +- } +- +- argv2 = getopt_init(argc, argv); +- if (rrd_lastupdate_r(argv2[1], &last_update, +- &ds_cnt, &ds_namv, &last_ds) == 0) { +- listPtr = Tcl_GetObjResult(interp); +- for (i = 0; i < ds_cnt; i++) { +- sprintf(s, " %28s", ds_namv[i]); +- Tcl_ListObjAppendElement(interp, listPtr, +- Tcl_NewStringObj(s, -1)); +- sprintf(s, "\n\n%10lu:", last_update); +- Tcl_ListObjAppendElement(interp, listPtr, +- Tcl_NewStringObj(s, -1)); +- for (i = 0; i < ds_cnt; i++) { +- sprintf(s, " %s", last_ds[i]); +- Tcl_ListObjAppendElement(interp, listPtr, +- Tcl_NewStringObj(s, -1)); +- free(last_ds[i]); +- free(ds_namv[i]); +- } +- sprintf(s, "\n"); +- Tcl_ListObjAppendElement(interp, listPtr, +- Tcl_NewStringObj(s, -1)); +- free(last_ds); +- free(ds_namv); +- } +- } +- return TCL_OK; +-} +- +-static int Rrd_Fetch( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- time_t start, end, j; +- unsigned long step, ds_cnt, i, ii; +- rrd_value_t *data, *datai; +- char **ds_namv; +- Tcl_Obj *listPtr; +- char s[30]; +- char **argv2; +- +- argv2 = getopt_init(argc, argv); +- if (rrd_fetch(argc, argv2, &start, &end, &step, +- &ds_cnt, &ds_namv, &data) != -1) { +- datai = data; +- listPtr = Tcl_GetObjResult(interp); +- for (j = start; j <= end; j += step) { +- for (ii = 0; ii < ds_cnt; ii++) { +- sprintf(s, "%.2f", *(datai++)); +- Tcl_ListObjAppendElement(interp, listPtr, +- Tcl_NewStringObj(s, -1)); +- } +- } +- for (i = 0; i < ds_cnt; i++) +- free(ds_namv[i]); +- free(ds_namv); +- free(data); +- } +- getopt_cleanup(argc, argv2); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +- +- +-static int Rrd_Graph( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- Tcl_Channel channel; +- int mode, fd2; +- ClientData fd1; +- FILE *stream = NULL; +- char **calcpr = NULL; +- int rc, xsize, ysize; +- double ymin, ymax; +- char dimensions[50]; +- char **argv2; +- CONST84 char *save; +- +- /* +- * 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. +- */ +- if ((channel = Tcl_GetChannel(interp, argv[1], &mode)) != NULL) { +- /* +- * It >is< a Tcl fileID +- */ +- if (!(mode & TCL_WRITABLE)) { +- Tcl_AppendResult(interp, "channel \"", argv[1], +- "\" wasn't opened for writing", (char *) NULL); +- return TCL_ERROR; +- } +- /* +- * Must flush channel to make sure any buffered data is written before +- * rrd_graph() writes to the stream +- */ +- if (Tcl_Flush(channel) != TCL_OK) { +- Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ", +- strerror(Tcl_GetErrno()), (char *) NULL); +- return TCL_ERROR; +- } +- if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) { +- Tcl_AppendResult(interp, +- "cannot get file descriptor associated with \"", +- argv[1], "\"", (char *) NULL); +- return TCL_ERROR; +- } +- /* +- * Must dup() file descriptor so we can fclose(stream), otherwise the fclose() +- * would close Tcl's file descriptor +- */ +- if ((fd2 = dup((int)fd1)) == -1) { +- Tcl_AppendResult(interp, +- "dup() failed for file descriptor associated with \"", +- argv[1], "\": ", strerror(errno), (char *) NULL); +- return TCL_ERROR; +- } +- /* +- * rrd_graph() wants a FILE* +- */ +- if ((stream = fdopen(fd2, "wb")) == NULL) { +- Tcl_AppendResult(interp, +- "fdopen() failed for file descriptor associated with \"", +- argv[1], "\": ", strerror(errno), (char *) NULL); +- close(fd2); /* plug potential file descriptor leak */ +- return TCL_ERROR; +- } +- +- save = argv[1]; +- argv[1] = "-"; +- argv2 = getopt_init(argc, argv); +- argv[1] = save; +- } else { +- Tcl_ResetResult(interp); /* clear error from Tcl_GetChannel() */ +- argv2 = getopt_init(argc, argv); +- } +- +- rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin, +- &ymax); +- getopt_cleanup(argc, argv2); +- +- if (stream != NULL) +- fclose(stream); /* plug potential malloc & file descriptor leak */ +- +- if (rc != -1) { +- sprintf(dimensions, "%d %d", xsize, ysize); +- Tcl_AppendResult(interp, dimensions, (char *) NULL); +- if (calcpr) { +-#if 0 +- int i; +- +- for (i = 0; calcpr[i]; i++) { +- printf("%s\n", calcpr[i]); +- free(calcpr[i]); +- } +-#endif +- free(calcpr); +- } +- } +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +- +- +-static int Rrd_Tune( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- char **argv2; +- +- argv2 = getopt_init(argc, argv); +- rrd_tune(argc, argv2); +- getopt_cleanup(argc, argv2); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +- +- +-static int Rrd_Resize( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- char **argv2; +- +- argv2 = getopt_init(argc, argv); +- rrd_resize(argc, argv2); +- getopt_cleanup(argc, argv2); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +- +- +-static int Rrd_Restore( +- ClientData __attribute__((unused)) clientData, +- Tcl_Interp *interp, +- int argc, +- CONST84 char *argv[]) +-{ +- char **argv2; +- +- argv2 = getopt_init(argc, argv); +- rrd_restore(argc, argv2); +- getopt_cleanup(argc, argv2); +- +- if (rrd_test_error()) { +- Tcl_AppendResult(interp, "RRD Error: ", +- rrd_get_error(), (char *) NULL); +- rrd_clear_error(); +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +- +- +-/* +- * The following structure defines the commands in the Rrd extension. +- */ +- +-typedef struct { +- char *name; /* Name of the command. */ +- Tcl_CmdProc *proc; /* Procedure for command. */ +- int hide; /* Hide if safe interpreter */ +-} CmdInfo; +- +-static CmdInfo rrdCmds[] = { +- {"Rrd::create", Rrd_Create, 1}, /* Thread-safe version */ +- {"Rrd::dump", Rrd_Dump, 0}, /* Thread-safe version */ +- {"Rrd::flushcached", Rrd_Flushcached, 0}, +- {"Rrd::last", Rrd_Last, 0}, /* Thread-safe version */ +- {"Rrd::lastupdate", Rrd_Lastupdate, 0}, /* Thread-safe version */ +- {"Rrd::update", Rrd_Update, 1}, /* Thread-safe version */ +- {"Rrd::fetch", Rrd_Fetch, 0}, +- {"Rrd::graph", Rrd_Graph, 1}, /* Due to RRD's API, a safe +- interpreter cannot create +- a graph since it writes to +- a filename supplied by the +- caller */ +- {"Rrd::tune", Rrd_Tune, 1}, +- {"Rrd::resize", Rrd_Resize, 1}, +- {"Rrd::restore", Rrd_Restore, 1}, +- {(char *) NULL, (Tcl_CmdProc *) NULL, 0} +-}; +- +- +- +-static int init( +- Tcl_Interp *interp, +- int safe) +-{ +- CmdInfo *cmdInfoPtr; +- Tcl_CmdInfo info; +- +- if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL) +- return TCL_ERROR; +- +- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) { +- return TCL_ERROR; +- } +- +- /* +- * Why a global array? In keeping with the Rrd:: namespace, why +- * not simply create a normal variable Rrd::version and set it? +- */ +- Tcl_SetVar2(interp, "rrd", "version", VERSION, TCL_GLOBAL_ONLY); +- +- for (cmdInfoPtr = rrdCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) { +- /* +- * Check if the command already exists and return an error +- * to ensure we detect name clashes while loading the Rrd +- * extension. +- */ +- if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) { +- Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name, +- "\" already exists", (char *) NULL); +- return TCL_ERROR; +- } +- if (safe && cmdInfoPtr->hide) { +-#if 0 +- /* +- * Turns out the one cannot hide a command in a namespace +- * due to a limitation of Tcl, one can only hide global +- * commands. Thus, if we created the commands without +- * the Rrd:: namespace in a safe interpreter, then the +- * "unsafe" commands could be hidden -- which would allow +- * an owning interpreter either un-hiding them or doing +- * an "interp invokehidden". If the Rrd:: namespace is +- * used, then it's still possible for the owning interpreter +- * to fake out the missing commands: +- * +- * # Make all Rrd::* commands available in master interperter +- * package require Rrd +- * set safe [interp create -safe] +- * # Make safe Rrd::* commands available in safe interperter +- * interp invokehidden $safe -global load ./tclrrd1.2.11.so +- * # Provide the safe interpreter with the missing commands +- * $safe alias Rrd::update do_update $safe +- * proc do_update {which_interp $args} { +- * # Do some checking maybe... +- * : +- * return [eval Rrd::update $args] +- * } +- * +- * Our solution for now is to just not create the "unsafe" +- * commands in a safe interpreter. +- */ +- if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) != +- TCL_OK) +- return TCL_ERROR; +-#endif +- } else +- Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc, +- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL); +- } +- +- if (Tcl_PkgProvide(interp, "Rrd", VERSION) != TCL_OK) { +- return TCL_ERROR; +- } +- +- return TCL_OK; +-} +- +-int Tclrrd_Init( +- Tcl_Interp *interp) +-{ +- return init(interp, 0); +-} +- +-/* +- * See the comments above and note how few commands are considered "safe"... +- * Using rrdtool in a safe interpreter has very limited functionality. It's +- * tempting to just return TCL_ERROR and forget about it. +- */ +-int Tclrrd_SafeInit( +- Tcl_Interp *interp) +-{ +- return init(interp, 1); +-} +diff --git a/configure.ac b/configure.ac +index 73ef4ec..acd74e8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -830,57 +830,6 @@ AM_CONDITIONAL(LUA_SITE_LINSTALL, [test "$LUA_INSTALL_LMOD" != "$LUA_RRD_LIBDIR" + AM_CONDITIONAL(LUA50, [test "$lua_vndot" = "50"]) + AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"]) + +-enable_tcl_site=no +- +-AC_ARG_ENABLE(tcl,AS_HELP_STRING([--disable-tcl],[do not build the tcl modules]), +-[],[enable_tcl=yes]) +- +-if test "$enable_tcl" = "yes"; then +- dnl Check for Tcl. +- withval="" +- AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh]) +- enable_tcl=no +- for dir in $withval /usr/lib /usr/lib64 /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do +- AC_MSG_CHECKING(for tclConfig.sh in $dir) +- if test -f "$dir/tclConfig.sh" ; then +- tcl_config=$dir/tclConfig.sh +- enable_tcl=yes +- AC_MSG_RESULT(yes) +- break +- else +- AC_MSG_RESULT(no) +- fi +- done +- +- if test "$enable_tcl" = "no"; then +- AC_MSG_WARN([tclConfig.sh not found - Tcl interface will not be built]) +- else +- . $tcl_config +- TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION" +- if test -n "$TCL_INC_DIR"; then +- TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR" +- fi +- fi +- AC_ARG_ENABLE(tcl-site,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]), +- [],[enable_tcl_site=yes]) +- +-fi +- +-AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" ) +-AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" ) +- +- +-AC_SUBST(TCL_PREFIX) +-AC_SUBST(TCL_SHLIB_CFLAGS) +-AC_SUBST(TCL_SHLIB_LD) +-AC_SUBST(TCL_SHLIB_SUFFIX) +-AC_SUBST(TCL_PACKAGE_PATH) +-AC_SUBST(TCL_LD_SEARCH_FLAGS) +-AC_SUBST(TCL_STUB_LIB_SPEC) +-AC_SUBST(TCL_VERSION) +-AC_SUBST(TCL_PACKAGE_DIR) +-AC_SUBST(TCL_INCLUDE_SPEC) +- + AC_ARG_ENABLE(python,AS_HELP_STRING([--disable-python],[do not build the python modules]), + [],[enable_python=yes]) + +@@ -932,8 +881,6 @@ AC_CONFIG_FILES([src/Makefile]) + AC_CONFIG_FILES([src/librrd.sym.in]) + AC_CONFIG_FILES([src/librrd.pc]) + AC_CONFIG_FILES([bindings/Makefile]) +-AC_CONFIG_FILES([bindings/tcl/Makefile]) +-AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl]) + AC_CONFIG_FILES([Makefile]) + AC_CONFIG_FILES([bindings/lua/Makefile]) + +@@ -982,7 +929,6 @@ if test "$lua_need_compat51" = "1"; then + echo " Lua Lua-modules dir: $LUA_INSTALL_LMOD" + fi + fi +-echo " Build Tcl Bindings: $enable_tcl" + echo " Build Python Bindings: $enable_python" + echo " Build rrdcgi: $enable_rrdcgi" + echo " Build librrd MT: $enable_pthread" +-- +1.7.10 + diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb new file mode 100644 index 0000000000..76a7133465 --- /dev/null +++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "High performance data logging and graphing system for time series data." +HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0" + +DEPENDS = "libpng zlib cairo glib-2.0 libxml2" + +SRC_URI = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \ + file://0001-rrdtool-eradicate-tcl-support.patch \ + " +SRC_URI[md5sum] = "ffe369d8921b4dfdeaaf43812100c38f" +SRC_URI[sha256sum] = "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11" + +inherit autotools gettext + +EXTRA_AUTORECONF = "-I m4" + +EXTRA_OECONF = " \ + --enable-shared \ + --enable-local-libpng \ + --enable-local-zlib \ + --disable-libwrap \ + --program-prefix='' \ + rd_cv_ieee_works=yes \ + --disable-perl \ + --disable-python \ + --disable-ruby \ + --disable-lua \ + --disable-rpath \ +" + + -- cgit 1.2.3-korg