From 21db4c1995b393115e94774f5ff2c4d9f83c0016 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 19 Jan 2012 16:40:05 +0000 Subject: [PATCH] mrtg: add mrtg package The attached patch adds a package for the mrtg software[1]. It also closes ticket #10686. Signed-off: Paolo Pisati 1: http://oss.oetiker.ch/mrtg/ SVN-Revision: 29811 --- packages/net/mrtg/Makefile | 52 ++++++++ .../001-rm-printf-longlong-fmt-test.patch | 113 ++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 packages/net/mrtg/Makefile create mode 100644 packages/net/mrtg/patches/001-rm-printf-longlong-fmt-test.patch diff --git a/packages/net/mrtg/Makefile b/packages/net/mrtg/Makefile new file mode 100644 index 0000000000..691804f91a --- /dev/null +++ b/packages/net/mrtg/Makefile @@ -0,0 +1,52 @@ +# +# Copyright (C) 2011 OpenWrt.org +# Copyright (C) 2011 Paolo Pisati +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=mrtg +PKG_VERSION:=2.17.3 +PKG_RELEASE:= + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://oss.oetiker.ch/mrtg/pub/ +PKG_MD5SUM:=c803f671d04367ee719039ea71fb5b37 + +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/mrtg + SECTION:=net + CATEGORY:=Network + DEPENDS:=+libgd +libpng +zlib +perl +perlbase-essential +perlbase-findbin +perlbase-cwd +perlbase-config +perlbase-file +perlbase-getopt +perlbase-math +perlbase-integer +perlbase-xsloader +perlbase-pod +perlbase-universal +perlbase-socket +perlbase-posix +perlbase-autoloader +perlbase-fcntl +perlbase-tie +perlbase-io +perlbase-symbol +perlbase-selectsaver +perlbase-errno + TITLE:=The Multi Router Traffic Grapher + URL:=http://oss.oetiker.ch/mrtg/index.en.html +endef + +define Package/mrtg/description + The Multi Router Traffic Grapher, or just simply MRTG, is free software for + monitoring and measuring the traffic load on network links. It allows the + user to see traffic load on a network over time in graphical form. It was + originally developed by Tobias Oetiker and Dave Rand to monitor router + traffic, but has developed into a tool that can create graphs and statistics + for almost anything. +endef + +EXTRA_CFLAGS+= $(TARGET_CPPFLAGS) +EXTRA_LDFLAGS+= $(TARGET_LDFLAGS) -Wl,-rpath-link,$(STAGING_DIR)/usr/lib + +define Package/mrtg/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/share + $(CP) $(PKG_INSTALL_DIR)/usr/share/* $(1)/usr/share/ +endef + +$(eval $(call BuildPackage,mrtg)) diff --git a/packages/net/mrtg/patches/001-rm-printf-longlong-fmt-test.patch b/packages/net/mrtg/patches/001-rm-printf-longlong-fmt-test.patch new file mode 100644 index 0000000000..4a953ec287 --- /dev/null +++ b/packages/net/mrtg/patches/001-rm-printf-longlong-fmt-test.patch @@ -0,0 +1,113 @@ +--- mrtg-2.17.3.orig/configure.in 2011-12-25 23:54:18.284584003 +0100 ++++ mrtg-2.17.3/configure.in 2011-12-25 23:54:52.377260252 +0100 +@@ -19,47 +19,6 @@ + + AC_PATH_PROGS(NROFF, groff nroff) + +-dnl Check for long long type (64 bit rateup) +-AC_CHECK_HEADERS(inttypes.h) +-AC_CHECK_TYPE(unsigned long long) +-AC_CHECK_TYPE(long long) +-AC_CHECK_FUNCS(strtoll) +- +-# Taken from libIDL-0.8.2 +-AC_MSG_CHECKING([for printf long long format specifier]) +-AC_CACHE_VAL(long_long_format_specifier,[ +- for format in ll l q I64; do +- AC_TRY_RUN([#include +- int main() +- { +- long long b, a = -0x3AFAFAFAFAFAFAFALL; +- char buffer[1000]; +- sprintf (buffer, "%${format}u", a); +- sscanf (buffer, "%${format}u", &b); +- exit (b!=a); +- } +- ], +- long_long_format_specifier="%${format}d" +- long_long_format="${format}d" +- break) +- done]) +-AC_MSG_RESULT($long_long_format_specifier) +-AC_DEFINE_UNQUOTED(LLD, "$long_long_format_specifier", +- [How to print a long long]) +-AC_DEFINE_UNQUOTED(LLD_FORMAT, "$long_long_format", +- [long long format without % specifier]) +- +-AH_BOTTOM( +-#ifndef HAVE_STRTOLL +-long long int strtoll(const char *str, char **ptr, int base) +-{ +- long long int ll; +- sscanf(str, LLD, &ll); +- return ll; +-} +-#endif +-) +- + dnl Checks for libraries. + AC_CHECK_LIB(m, pow, [ MATHLIBS="-lm" ]) + +--- mrtg-2.17.3.orig/configure 2011-12-26 00:02:43.178539074 +0100 ++++ mrtg-2.17.3/configure 2011-12-26 00:04:09.056241468 +0100 +@@ -3609,60 +3609,6 @@ + done + + +-# Taken from libIDL-0.8.2 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for printf long long format specifier" >&5 +-$as_echo_n "checking for printf long long format specifier... " >&6; } +-if test "${long_long_format_specifier+set}" = set; then : +- $as_echo_n "(cached) " >&6 +-else +- +- for format in ll l q I64; do +- if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "cannot run test program while cross compiling +-See \`config.log' for more details" "$LINENO" 5 ; } +-else +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-#include +- int main() +- { +- long long b, a = -0x3AFAFAFAFAFAFAFALL; +- char buffer[1000]; +- sprintf (buffer, "%${format}u", a); +- sscanf (buffer, "%${format}u", &b); +- exit (b!=a); +- } +- +-_ACEOF +-if ac_fn_c_try_run "$LINENO"; then : +- long_long_format_specifier="%${format}d" +- long_long_format="${format}d" +- break +-fi +-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +- conftest.$ac_objext conftest.beam conftest.$ac_ext +-fi +- +- done +-fi +- +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $long_long_format_specifier" >&5 +-$as_echo "$long_long_format_specifier" >&6; } +- +-cat >>confdefs.h <<_ACEOF +-#define LLD "$long_long_format_specifier" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define LLD_FORMAT "$long_long_format" +-_ACEOF +- +- +- +- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 + $as_echo_n "checking for pow in -lm... " >&6; } + if test "${ac_cv_lib_m_pow+set}" = set; then : -- 2.30.2