mrtg: add mrtg package
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 19 Jan 2012 16:40:05 +0000 (16:40 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 19 Jan 2012 16:40:05 +0000 (16:40 +0000)
The attached patch adds a package for the mrtg software[1].

It also closes ticket #10686.

Signed-off: Paolo Pisati <p.pisati@gmail.com>

1: http://oss.oetiker.ch/mrtg/

SVN-Revision: 29811

packages/net/mrtg/Makefile [new file with mode: 0644]
packages/net/mrtg/patches/001-rm-printf-longlong-fmt-test.patch [new file with mode: 0644]

diff --git a/packages/net/mrtg/Makefile b/packages/net/mrtg/Makefile
new file mode 100644 (file)
index 0000000..691804f
--- /dev/null
@@ -0,0 +1,52 @@
+# 
+# Copyright (C) 2011 OpenWrt.org
+# Copyright (C) 2011 Paolo Pisati <p.pisati@gmail.com>
+#
+# 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 (file)
index 0000000..4a953ec
--- /dev/null
@@ -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 <stdio.h>  
+-            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 <stdio.h>
+-            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 :