[packages] pmacct: use VARIANTs, add sfacctd
* use VARIANTs to build basic, mysql, postgresql & sqlite derivatives * add sfacctd (sFlow accounting daemon) * add config-time dependency on IPv6 git-svn-id: svn://svn.openwrt.org/openwrt/packages@28468 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
8bd55e3a03
commit
424ca0ab39
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=pmacct
|
PKG_NAME:=pmacct
|
||||||
PKG_VERSION:=0.12.5
|
PKG_VERSION:=0.12.5
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://www.pmacct.net/
|
PKG_SOURCE_URL:=http://www.pmacct.net/
|
||||||
@ -17,6 +17,11 @@ PKG_MD5SUM:=3d10f9301a17f034a0f221490a99a5d0
|
|||||||
|
|
||||||
PKG_BUILD_DEPENDS:=libpcap
|
PKG_BUILD_DEPENDS:=libpcap
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
||||||
|
PKG_CONFIG_DEPENDS:= \
|
||||||
|
CONFIG_IPV6 \
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
define Package/pmacct/Default
|
define Package/pmacct/Default
|
||||||
@ -26,59 +31,27 @@ define Package/pmacct/Default
|
|||||||
URL:=http://www.pmacct.net/
|
URL:=http://www.pmacct.net/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/pmacct-client
|
||||||
|
$(call Package/pmacct/Default)
|
||||||
|
TITLE:=Command-line client to gather data from the IMT plugin
|
||||||
|
VARIANT:=basic
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/nfacctd/Default
|
define Package/nfacctd/Default
|
||||||
$(call Package/pmacct/Default)
|
$(call Package/pmacct/Default)
|
||||||
TITLE:=NetFlow accounting daemon
|
TITLE:=NetFlow accounting daemon
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/nfacctd
|
|
||||||
$(call Package/nfacctd/Default)
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/nfacctd-mysql
|
|
||||||
$(call Package/nfacctd/Default)
|
|
||||||
TITLE+= with MySQL support
|
|
||||||
DEPENDS+= +libmysqlclient
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/nfacctd-pgsql
|
|
||||||
$(call Package/nfacctd/Default)
|
|
||||||
TITLE+= with PostreSQL support
|
|
||||||
DEPENDS+= +libpq
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/nfacctd-sqlite
|
|
||||||
$(call Package/nfacctd/Default)
|
|
||||||
TITLE+= with SQLite support
|
|
||||||
DEPENDS+= +libsqlite3
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/pmacctd/Default
|
define Package/pmacctd/Default
|
||||||
$(call Package/pmacct/Default)
|
$(call Package/pmacct/Default)
|
||||||
DEPENDS+= +libpcap
|
DEPENDS+= +libpcap
|
||||||
TITLE:=IP pcap-based accounting daemon
|
TITLE:=IP pcap-based accounting daemon
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/pmacctd
|
define Package/sfacctd/Default
|
||||||
$(call Package/pmacctd/Default)
|
$(call Package/pmacct/Default)
|
||||||
endef
|
DEPENDS+= +libpcap
|
||||||
|
TITLE:=sFlow accounting daemon
|
||||||
define Package/pmacctd-mysql
|
|
||||||
$(call Package/pmacctd/Default)
|
|
||||||
TITLE+= with MySQL support
|
|
||||||
DEPENDS+= +libmysqlclient
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/pmacctd-pgsql
|
|
||||||
$(call Package/pmacctd/Default)
|
|
||||||
TITLE+= with PostreSQL support
|
|
||||||
DEPENDS+= +libpq
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/pmacctd-sqlite
|
|
||||||
$(call Package/pmacctd/Default)
|
|
||||||
TITLE+= with SQLite support
|
|
||||||
DEPENDS+= +libsqlite3
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/uacctd/Default
|
define Package/uacctd/Default
|
||||||
@ -87,155 +60,125 @@ define Package/uacctd/Default
|
|||||||
TITLE:=ulog accounting daemon
|
TITLE:=ulog accounting daemon
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/uacctd
|
|
||||||
$(call Package/pmacctd/Default)
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/uacctd-mysql
|
CONFIGURE_ARGS+= \
|
||||||
$(call Package/pmacctd/Default)
|
$(call autoconf_bool,CONFIG_IPV6,ipv6) \
|
||||||
TITLE+= with MySQL support
|
--with-pcap-includes="$(STAGING_DIR)/usr/include" \
|
||||||
DEPENDS+= +libmysqlclient
|
--with-pcap-libs="$(STAGING_DIR)/usr/lib" \
|
||||||
endef
|
--enable-ulog \
|
||||||
|
|
||||||
define Package/uacctd-pgsql
|
ifeq ($(BUILD_VARIANT),basic)
|
||||||
$(call Package/pmacctd/Default)
|
|
||||||
TITLE+= with PostreSQL support
|
|
||||||
DEPENDS+= +libpq
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/uacctd-sqlite
|
CONFIGURE_ARGS += \
|
||||||
$(call Package/pmacctd/Default)
|
|
||||||
TITLE+= with SQLite support
|
|
||||||
DEPENDS+= +libsqlite3
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/pmacct-client
|
|
||||||
$(call Package/pmacct/Default)
|
|
||||||
TITLE:=Command-line client to gather data from the IMT plugin
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Compile/Template
|
|
||||||
|
|
||||||
$(PKG_BUILD_DIR)/nfacctd$(1) $(PKG_BUILD_DIR)/pmacctd$(1) $(PKG_BUILD_DIR)/uacctd$(1): $(STAMP_CONFIGURED)
|
|
||||||
-$(MAKE) -C $(PKG_BUILD_DIR) distclean
|
|
||||||
$(call Build/Configure/Default, \
|
|
||||||
--with-pcap-includes="$(STAGING_DIR)/usr/include" \
|
|
||||||
--with-pcap-libs="$(STAGING_DIR)/usr/lib" \
|
|
||||||
--enable-ulog \
|
|
||||||
$(2) \
|
|
||||||
,\
|
|
||||||
LIBS="-lz" \
|
|
||||||
,,\
|
|
||||||
);
|
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
||||||
all
|
|
||||||
mv -f $(PKG_BUILD_DIR)/src/nfacctd $(PKG_BUILD_DIR)/nfacctd$(1)
|
|
||||||
mv -f $(PKG_BUILD_DIR)/src/pmacctd $(PKG_BUILD_DIR)/pmacctd$(1)
|
|
||||||
mv -f $(PKG_BUILD_DIR)/src/uacctd $(PKG_BUILD_DIR)/uacctd$(1)
|
|
||||||
|
|
||||||
$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/nfacctd$(1) $(PKG_BUILD_DIR)/pmacctd$(1) $(PKG_BUILD_DIR)/uacctd$(1)
|
|
||||||
|
|
||||||
endef
|
|
||||||
|
|
||||||
|
|
||||||
define Install/Template
|
|
||||||
|
|
||||||
define Package/$(1)$(2)/conffiles
|
|
||||||
/etc/default/$(1)
|
|
||||||
/etc/$(1).conf
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/$(1)$(2)/install
|
|
||||||
$(INSTALL_DIR) $$(1)/usr/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(1)$(2) $$(1)/usr/sbin/$(1)
|
|
||||||
$(INSTALL_DIR) $$(1)/etc
|
|
||||||
$(INSTALL_DATA) ./files/$(1).conf $$(1)/etc/
|
|
||||||
$(INSTALL_DIR) $$(1)/etc/default
|
|
||||||
$(INSTALL_DATA) ./files/$(1).default $$(1)/etc/default/$(1)
|
|
||||||
$(INSTALL_DIR) $$(1)/etc/init.d
|
|
||||||
$(INSTALL_BIN) ./files/$(1).init $$(1)/etc/init.d/$(1)
|
|
||||||
endef
|
|
||||||
|
|
||||||
endef
|
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd)$(CONFIG_PACKAGE_pmacctd)$(CONFIG_PACKAGE_uacctd),)
|
|
||||||
define Compile/pmacct/basic
|
|
||||||
$(call Compile/Template,, \
|
|
||||||
--disable-mysql \
|
--disable-mysql \
|
||||||
--disable-pgsql \
|
--disable-pgsql \
|
||||||
--disable-sqlite3 \
|
--disable-sqlite3 \
|
||||||
)
|
|
||||||
$(call Install/Template,nfacctd,)
|
|
||||||
$(call Install/Template,pmacctd,)
|
|
||||||
$(call Install/Template,uacctd,)
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
$(eval $(Compile/pmacct/basic))
|
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd-mysql)$(CONFIG_PACKAGE_pmacctd-mysql)$(CONFIG_PACKAGE_uacctd-mysql),)
|
endif
|
||||||
define Compile/pmacct/mysql
|
|
||||||
$(call Compile/Template,-mysql, \
|
ifeq ($(BUILD_VARIANT),mysql)
|
||||||
|
|
||||||
|
CONFIGURE_ARGS += \
|
||||||
--enable-mysql \
|
--enable-mysql \
|
||||||
--with-mysql-includes="$(STAGING_DIR)/usr/include" \
|
--with-mysql-includes="$(STAGING_DIR)/usr/include" \
|
||||||
--with-mysql-libs="$(STAGING_DIR)/usr/lib/mysql" \
|
--with-mysql-libs="$(STAGING_DIR)/usr/lib/mysql" \
|
||||||
)
|
--disable-pgsql \
|
||||||
$(call Install/Template,nfacctd,-mysql)
|
--disable-sqlite3 \
|
||||||
$(call Install/Template,pmacctd,-mysql)
|
|
||||||
$(call Install/Template,uacctd,-mysql)
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
$(eval $(Compile/pmacct/mysql))
|
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd-pgsql)$(CONFIG_PACKAGE_pmacctd-pgsql)$(CONFIG_PACKAGE_uacctd-pgsql),)
|
CONFIGURE_VARS+= \
|
||||||
define Compile/pmacct/pgsql
|
LIBS="-lz" \
|
||||||
$(call Compile/Template,-pgsql, \
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BUILD_VARIANT),pgsql)
|
||||||
|
|
||||||
|
CONFIGURE_ARGS += \
|
||||||
|
--disable-mysql \
|
||||||
--enable-pgsql \
|
--enable-pgsql \
|
||||||
--with-pgsql-includes="$(STAGING_DIR)/usr/include" \
|
--with-pgsql-includes="$(STAGING_DIR)/usr/include" \
|
||||||
--with-pgsql-libs="$(STAGING_DIR)/usr/lib" \
|
--with-pgsql-libs="$(STAGING_DIR)/usr/lib" \
|
||||||
)
|
--disable-sqlite3 \
|
||||||
$(call Install/Template,nfacctd,-pgsql)
|
|
||||||
$(call Install/Template,pmacctd,-pgsql)
|
|
||||||
$(call Install/Template,uacctd,-pgsql)
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
$(eval $(Compile/pmacct/pgsql))
|
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd-sqlite)$(CONFIG_PACKAGE_pmacctd-sqlite)$(CONFIG_PACKAGE_uacctd-sqlite),)
|
endif
|
||||||
define Compile/pmacct/sqlite
|
|
||||||
$(call Compile/Template,-sqlite, \
|
ifeq ($(BUILD_VARIANT),sqlite)
|
||||||
|
|
||||||
|
CONFIGURE_ARGS += \
|
||||||
|
--disable-mysql \
|
||||||
|
--disable-pgsql \
|
||||||
--enable-sqlite3 \
|
--enable-sqlite3 \
|
||||||
--with-sqlite3-includes="$(STAGING_DIR)/usr/include" \
|
--with-sqlite3-includes="$(STAGING_DIR)/usr/include" \
|
||||||
--with-sqlite3-libs="$(STAGING_DIR)/usr/lib" \
|
--with-sqlite3-libs="$(STAGING_DIR)/usr/lib" \
|
||||||
)
|
|
||||||
$(call Install/Template,nfacctd,-sqlite)
|
|
||||||
$(call Install/Template,pmacctd,-sqlite)
|
|
||||||
$(call Install/Template,uacctd,-sqlite)
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
$(eval $(Compile/pmacct/sqlite))
|
|
||||||
|
|
||||||
define Build/Configure
|
endif
|
||||||
endef
|
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
|
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||||
|
all install
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
define Package/pmacct-client/install
|
define Package/pmacct-client/install
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
$(CP) $(PKG_BUILD_DIR)/src/pmacct $(1)/usr/sbin/
|
$(CP) $(PKG_BUILD_DIR)/src/pmacct $(1)/usr/sbin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,nfacctd))
|
|
||||||
$(eval $(call BuildPackage,nfacctd-mysql))
|
|
||||||
$(eval $(call BuildPackage,nfacctd-pgsql))
|
|
||||||
$(eval $(call BuildPackage,nfacctd-sqlite))
|
|
||||||
$(eval $(call BuildPackage,pmacctd))
|
|
||||||
$(eval $(call BuildPackage,pmacctd-mysql))
|
|
||||||
$(eval $(call BuildPackage,pmacctd-pgsql))
|
|
||||||
$(eval $(call BuildPackage,pmacctd-sqlite))
|
|
||||||
$(eval $(call BuildPackage,pmacct-client))
|
|
||||||
$(eval $(call BuildPackage,uacctd))
|
|
||||||
$(eval $(call BuildPackage,uacctd-mysql))
|
|
||||||
$(eval $(call BuildPackage,uacctd-pgsql))
|
|
||||||
$(eval $(call BuildPackage,uacctd-sqlite))
|
|
||||||
|
|
||||||
|
# $(1): build variant {basic,mysql,pgsql,sqlite}
|
||||||
|
# $(2): package name prefix {nfacctd,pmacctd,sfacctd,uacctd}
|
||||||
|
# $(3): package name suffix {,-mysql,-pgsql,-sqlite}
|
||||||
|
# $(4): additional title (with MySQL support, ...)
|
||||||
|
# $(5): additional dependencies (+libmysqlclient, ...)
|
||||||
|
|
||||||
|
define BuildPackage/Template
|
||||||
|
|
||||||
|
define Package/$(2)$(3)
|
||||||
|
$(call Package/$(2)/Default)
|
||||||
|
DEPENDS+= $(5)
|
||||||
|
TITLE+= $(4)
|
||||||
|
VARIANT:=$(1)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/$(2)$(3)/conffiles
|
||||||
|
/etc/default/$(2)
|
||||||
|
/etc/$(2).conf
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/$(2)$(3)/install
|
||||||
|
$(INSTALL_DIR) $$(1)/usr/sbin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/$(2) $$(1)/usr/sbin/
|
||||||
|
$(INSTALL_DIR) $$(1)/etc
|
||||||
|
$(INSTALL_DATA) ./files/$(2).conf $$(1)/etc/
|
||||||
|
$(INSTALL_DIR) $$(1)/etc/default
|
||||||
|
$(INSTALL_DATA) ./files/$(2).default $$(1)/etc/default/$(2)
|
||||||
|
$(INSTALL_DIR) $$(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./files/$(2).init $$(1)/etc/init.d/$(2)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$$(eval $$(call BuildPackage,$(2)$(3)))
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,pmacct-client))
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage/Template,basic,nfacctd,,,))
|
||||||
|
$(eval $(call BuildPackage/Template,basic,pmacctd,,,))
|
||||||
|
$(eval $(call BuildPackage/Template,basic,sfacctd,,,))
|
||||||
|
$(eval $(call BuildPackage/Template,basic,uacctd,,,))
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage/Template,mysql,nfacctd,-mysql,with MySQL support,+libmysqlclient))
|
||||||
|
$(eval $(call BuildPackage/Template,mysql,pmacctd,-mysql,with MySQL support,+libmysqlclient))
|
||||||
|
$(eval $(call BuildPackage/Template,mysql,sfacctd,-mysql,with MySQL support,+libmysqlclient))
|
||||||
|
$(eval $(call BuildPackage/Template,mysql,uacctd,-mysql,with MySQL support,+libmysqlclient))
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage/Template,pgsql,nfacctd,-pgsql,with PostgreSQL support,+libpq))
|
||||||
|
$(eval $(call BuildPackage/Template,pgsql,pmacctd,-pgsql,with PostgreSQL support,+libpq))
|
||||||
|
$(eval $(call BuildPackage/Template,pgsql,sfacctd,-pgsql,with PostgreSQL support,+libpq))
|
||||||
|
$(eval $(call BuildPackage/Template,pgsql,uacctd,-pgsql,with PostgreSQL support,+libpq))
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage/Template,sqlite,nfacctd,-sqlite,with SQLite support,+libsqlite3))
|
||||||
|
$(eval $(call BuildPackage/Template,sqlite,pmacctd,-sqlite,with SQLite support,+libsqlite3))
|
||||||
|
$(eval $(call BuildPackage/Template,sqlite,sfacctd,-sqlite,with SQLite support,+libsqlite3))
|
||||||
|
$(eval $(call BuildPackage/Template,sqlite,uacctd,-sqlite,with SQLite support,+libsqlite3))
|
||||||
|
27
admin/pmacct/files/sfacctd.conf
Normal file
27
admin/pmacct/files/sfacctd.conf
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
!
|
||||||
|
! sfacctd configuration example
|
||||||
|
!
|
||||||
|
! debug: true
|
||||||
|
daemonize: true
|
||||||
|
pidfile: /var/run/sfacctd.pid
|
||||||
|
! aggregate_filter[dummy]: src net 192.168.0.0/16
|
||||||
|
aggregate: src_host, dst_host
|
||||||
|
! plugin_buffer_size: 1024
|
||||||
|
! sfacctd_port: 5678
|
||||||
|
plugins: memory
|
||||||
|
imt_buckets: 65537
|
||||||
|
imt_mem_pools_size: 65536
|
||||||
|
! imt_mem_pools_number: 0
|
||||||
|
! plugins: mysql
|
||||||
|
! plugins: pgsql
|
||||||
|
! plugins: sqlite3
|
||||||
|
! sql_db: pmacct
|
||||||
|
! sql_table: acct
|
||||||
|
! sql_table_version: 2
|
||||||
|
! sql_passwd: arealsmartpwd
|
||||||
|
! sql_user: pmacct
|
||||||
|
! sql_refresh_time: 90
|
||||||
|
! sql_optimize_clauses: true
|
||||||
|
! sql_history: 10m
|
||||||
|
! sql_history_roundoff: mh
|
||||||
|
! networks_file: ./networks.example
|
1
admin/pmacct/files/sfacctd.default
Normal file
1
admin/pmacct/files/sfacctd.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
OPTIONS="-f /etc/sfacctd.conf"
|
18
admin/pmacct/files/sfacctd.init
Normal file
18
admin/pmacct/files/sfacctd.init
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Copyright (C) 2006 OpenWrt.org
|
||||||
|
START=50
|
||||||
|
|
||||||
|
BIN=sfacctd
|
||||||
|
DEFAULT=/etc/default/$BIN
|
||||||
|
RUN_D=/var/run
|
||||||
|
PID_F=$RUN_D/$BIN.pid
|
||||||
|
|
||||||
|
start() {
|
||||||
|
[ -f $DEFAULT ] && . $DEFAULT
|
||||||
|
mkdir -p $RUN_D
|
||||||
|
$BIN $OPTIONS
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
[ -f $PID_F ] && kill -INT $(cat $PID_F)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user