aboutsummaryrefslogtreecommitdiff
path: root/utils/bandwidthd
diff options
context:
space:
mode:
authorJean-Michel Lacroix <lacroix@lepine-lacroix.info>2015-11-10 15:13:52 -0500
committerJean-Michel Lacroix <lacroix@lepine-lacroix.info>2015-11-10 15:13:52 -0500
commitb885721fa0bc40496216e7f2a1f86ff26f736989 (patch)
tree1bdde97db3e6760c99cc8ec12138031ffcdacce2 /utils/bandwidthd
parent726e9dcafd3645928b8ca338e6ef4691cb699350 (diff)
bandwidthd: Addition of a variant of the bandwidthd package.
Addition of the bandwidthd-pgsql package variant that can save also in a postgres database. Modification of bandwidthd.config to have the default IP address of an OpenWrt router (192.168.1.1) Addition of a small OpenWrt logo in the logo.gif Compile tested on CC and trunk (ar71xx and mvebu in both cases) run tested on CC (ar71xx) and trunk (r47397 on mvebu) Signed-off-by: Jean-Michel Lacroix <lacroix@lepine-lacroix.info>
Diffstat (limited to 'utils/bandwidthd')
-rw-r--r--utils/bandwidthd/Makefile67
-rw-r--r--utils/bandwidthd/files/bandwidthd-pgsql.config13
-rw-r--r--utils/bandwidthd/files/bandwidthd-pgsql.init90
-rw-r--r--utils/bandwidthd/files/bandwidthd.config2
-rw-r--r--utils/bandwidthd/files/logo.gifbin7573 -> 9431 bytes
5 files changed, 167 insertions, 5 deletions
diff --git a/utils/bandwidthd/Makefile b/utils/bandwidthd/Makefile
index 6ef14e52b..6cbace921 100644
--- a/utils/bandwidthd/Makefile
+++ b/utils/bandwidthd/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=bandwidthd
PKG_VERSION:=2.0.1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=@SF/bandwidthd
@@ -18,22 +18,50 @@ PKG_MD5SUM:=aa79aad7bd489fd2cae1f7dc086ca8b6
PKG_MAINTAINER:=Jean-Michel Lacroix <lacroix@lepine-lacroix.info>
PKG_LICENSE:=GPL-2.0
-PKG_LICENSE_FILES:=
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
-define Package/bandwidthd
+define Package/bandwidthd/Default
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Bandwidthd
URL:=http://bandwidthd.sourceforge.net/
+endef
+
+define Package/bandwidthd
+$(call Package/bandwidthd/Default)
+ TITLE += (without postgresql)
+ VARIANT:=no-pgsql
DEPENDS:=+libgd +libpcap
endef
+define Package/bandwidthd-pgsql
+$(call Package/bandwidthd/Default)
+ TITLE += (with postgresql enabled)
+ VARIANT:=pgsql
+ DEPENDS:=+libgd +libpcap +libpq
+endef
+
+define Package/bandwidthd/description
+ A bandwidthd tracking utility.
+endef
+
+define Package/bandwidthd-pgsql/description
+$(call Package/bandwidthd/description)
+With the ability to store in a postgresql database.
+endef
+
define Package/bandwidthd/daemon
This package contains bandwidthd a bandwith tracking utility.
endef
+define Package/bandwidthd-pgsql/daemon
+ This package contains bandwidthd a bandwith tracking utility.
+endef
+
+ifeq ($(BUILD_VARIANT),no-pgsql)
CONFIGURE_ARGS += \
ac_cv_file__sw_lib=no \
ac_cv_file__sw_include=no \
@@ -41,7 +69,18 @@ CONFIGURE_ARGS += \
ac_cv_file__usr_pkg_include=no \
ac_cv_file__usr_local_pgsql_lib=no \
ac_cv_file__usr_local_pgsql_include=no \
- ac_cv_lib_pq_PQconnectdb=no \
+ ac_cv_lib_pq_PQconnectdb=no
+endif
+
+ifeq ($(BUILD_VARIANT),pgsql)
+CONFIGURE_ARGS += \
+ ac_cv_file__sw_lib=no \
+ ac_cv_file__sw_include=no \
+ ac_cv_file__usr_pkg_lib=no \
+ ac_cv_file__usr_pkg_include=no \
+ ac_cv_file__usr_local_pgsql_lib=no \
+ ac_cv_file__usr_local_pgsql_include=no
+endif
EXTRA_CFLAGS+= $(TARGET_CPPFLAGS)
EXTRA_LDFLAGS+= $(TARGET_LDFLAGS) -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
@@ -58,8 +97,28 @@ define Package/bandwidthd/install
$(INSTALL_DATA) $(PKG_BUILD_DIR)/htdocs/logo.gif $(1)/www/
endef
+define Package/bandwidthd-pgsql/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/bandwidthd $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_DATA) ./files/bandwidthd-pgsql.config $(1)/etc/config/bandwidthd
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/bandwidthd-pgsql.init $(1)/etc/init.d/bandwidthd
+ $(INSTALL_DIR) $(1)/www/phphtdocs
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/htdocs/legend.gif $(1)/www/
+ $(INSTALL_DATA) ./files/logo.gif $(1)/www/
+ $(INSTALL_DIR) $(1)/usr/share/postgresql
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/schema.postgresql $(1)/usr/share/postgresql
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/phphtdocs/bd_pgsql_purge.sh $(1)/usr/share/postgresql
+endef
+
define Package/bandwidthd/conffiles
/etc/config/bandwidthd
endef
+define Package/bandwidthd-pgsql/conffiles
+/etc/config/bandwidthd
+endef
+
$(eval $(call BuildPackage,bandwidthd))
+$(eval $(call BuildPackage,bandwidthd-pgsql))
diff --git a/utils/bandwidthd/files/bandwidthd-pgsql.config b/utils/bandwidthd/files/bandwidthd-pgsql.config
new file mode 100644
index 000000000..0f8768792
--- /dev/null
+++ b/utils/bandwidthd/files/bandwidthd-pgsql.config
@@ -0,0 +1,13 @@
+config bandwidthd
+ option dev br-lan
+ option subnets "192.168.1.0/24"
+ option skip_intervals 0
+ option graph_cutoff 1024
+ option promiscuous true
+ option output_cdf false
+ option recover_cdf false
+ option filter ip
+ option graph true
+ option meta_refresh 150
+ option disabled_pgsql_connect_string "user = postgres dbname = bandwidthd host = 192.168.1.1"
+ option disabled_sensor_id "openwrt.mydomain.domain"
diff --git a/utils/bandwidthd/files/bandwidthd-pgsql.init b/utils/bandwidthd/files/bandwidthd-pgsql.init
new file mode 100644
index 000000000..232fa0cb8
--- /dev/null
+++ b/utils/bandwidthd/files/bandwidthd-pgsql.init
@@ -0,0 +1,90 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2008-2015 OpenWrt.org
+
+START=99
+
+config_cb() {
+ local cfg_type="$1"
+ local cfg_name="$2"
+
+ case "$cfg_type" in
+ bandwidthd)
+ append cfgs "$cfg_name"
+ ;;
+ esac
+}
+
+export_bool() {
+ local option="$1"
+ local section="$2"
+ local _loctmp
+ config_get_bool _loctmp "$section" "$option"
+ if [ -n "$_loctmp" ]; then
+ conffile="${conffile}$option "
+ if [ 1 -eq "$_loctmp" ]; then
+ conffile="${conffile}true"
+ else
+ conffile="${conffile}false"
+ fi
+ conffile="${conffile}\n"
+ fi
+}
+
+export_number() {
+ local option="$1"
+ local section="$2"
+ local _loctmp
+ config_get _loctmp "$section" "$option"
+ if [ -n "$_loctmp" ]; then
+ conffile="${conffile}$option ${_loctmp}\n"
+ fi
+}
+
+export_string() {
+ local option="$1"
+ local section="$2"
+ local _loctmp
+ config_get _loctmp "$section" "$option"
+ if [ -n "$_loctmp" ]; then
+ conffile="${conffile}$option \"${_loctmp}\"\n"
+ fi
+}
+
+start() {
+ local subnet conffile
+
+ [ -d /tmp/bandwidthd ] || mkdir -p /tmp/bandwidthd && cp /www/legend.gif /www/logo.gif /tmp/bandwidthd/
+ [ -e /htdocs ] || ln -s /tmp/bandwidthd /htdocs
+ [ -e /www/bandwidthd ] || ln -s /tmp/bandwidthd /www/bandwidthd
+ rm -f /tmp/bandwidthd.conf
+ touch /tmp/bandwidthd.conf
+ [ -e /etc/bandwidthd.conf ] || ln -s /tmp/bandwidthd.conf /etc/bandwidthd.conf
+
+
+ config_load bandwidthd
+ for cfg in $cfgs; do
+ config_get subnets $cfg subnets
+ for subnet in $subnets; do
+ conffile="${conffile}subnet ${subnet}\n"
+ done
+ export_string dev $cfg
+ export_number skip_intervals $cfg
+ export_number graph_cutoff $cfg
+ export_bool promiscuous $cfg
+ export_bool output_cdf $cfg
+ export_bool recover_cdf $cfg
+ export_string filter $cfg
+ export_bool graph $cfg
+ export_number meta_refresh $cfg
+ export_string pgsql_connect_string $cfg
+ export_string sensor_id $cfg
+ [ -n "$conffile" ] && echo -e "$conffile" >>/tmp/bandwidthd.conf
+ unset conffile
+ done
+ cd /
+ service_start /usr/sbin/bandwidthd
+}
+
+stop() {
+ service_stop /usr/sbin/bandwidthd
+}
diff --git a/utils/bandwidthd/files/bandwidthd.config b/utils/bandwidthd/files/bandwidthd.config
index 4bb18cf92..0769b1c8e 100644
--- a/utils/bandwidthd/files/bandwidthd.config
+++ b/utils/bandwidthd/files/bandwidthd.config
@@ -1,6 +1,6 @@
config bandwidthd
option dev br-lan
- option subnets "192.168.0.0/16 10.0.0.0/8 172.16.0.0/12"
+ option subnets "192.168.1.0/24"
option skip_intervals 0
option graph_cutoff 1024
option promiscuous true
diff --git a/utils/bandwidthd/files/logo.gif b/utils/bandwidthd/files/logo.gif
index 7b17cc6cb..2ffec5605 100644
--- a/utils/bandwidthd/files/logo.gif
+++ b/utils/bandwidthd/files/logo.gif
Binary files differ