summaryrefslogtreecommitdiff
path: root/package/pmacct
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/pmacct
Initial import
Diffstat (limited to 'package/pmacct')
-rw-r--r--package/pmacct/Config.in200
-rw-r--r--package/pmacct/Makefile171
-rw-r--r--package/pmacct/files/nfacctd.conf28
-rw-r--r--package/pmacct/files/nfacctd.init25
-rw-r--r--package/pmacct/files/pmacctd.conf26
-rw-r--r--package/pmacct/files/pmacctd.init25
-rw-r--r--package/pmacct/ipkg/nfacctd-custom.control6
-rw-r--r--package/pmacct/ipkg/nfacctd-mysql.control6
-rw-r--r--package/pmacct/ipkg/nfacctd-pgsql.control6
-rw-r--r--package/pmacct/ipkg/nfacctd-sqlite.control6
-rw-r--r--package/pmacct/ipkg/nfacctd.conffiles1
-rw-r--r--package/pmacct/ipkg/nfacctd.control6
-rw-r--r--package/pmacct/ipkg/nfacctd.postinst4
-rw-r--r--package/pmacct/ipkg/pmacct-client.control5
-rw-r--r--package/pmacct/ipkg/pmacctd-custom.control6
-rw-r--r--package/pmacct/ipkg/pmacctd-mysql.control6
-rw-r--r--package/pmacct/ipkg/pmacctd-pgsql.control6
-rw-r--r--package/pmacct/ipkg/pmacctd-sqlite.control6
-rw-r--r--package/pmacct/ipkg/pmacctd.conffiles1
-rw-r--r--package/pmacct/ipkg/pmacctd.control6
-rw-r--r--package/pmacct/ipkg/pmacctd.postinst4
21 files changed, 550 insertions, 0 deletions
diff --git a/package/pmacct/Config.in b/package/pmacct/Config.in
new file mode 100644
index 000000000..9a4e1f6d0
--- /dev/null
+++ b/package/pmacct/Config.in
@@ -0,0 +1,200 @@
+config ADK_COMPILE_PMACCT
+ tristate
+ default n
+ depends ADK_COMPILE_PMACCT_BASIC || ADK_COMPILE_PMACCT_MYSQL || ADK_COMPILE_PMACCT_PGSQL || ADK_COMPILE_PMACCT_SQLITE || ADK_COMPILE_PMACCT_CUSTOM || ADK_PACKAGE_PMACCT_CLIENT
+
+config ADK_COMPILE_PMACCT_BASIC
+ tristate
+ default n
+ depends ADK_PACKAGE_NFACCTD_BASIC || ADK_PACKAGE_PMACCTD_BASIC
+ select ADK_COMPILE_PMACCT
+
+config ADK_COMPILE_PMACCT_MYSQL
+ tristate
+ default n
+ depends ADK_PACKAGE_NFACCTD_MYSQL || ADK_PACKAGE_PMACCTD_MYSQL
+ select ADK_COMPILE_PMACCT
+
+config ADK_COMPILE_PMACCT_PGSQL
+ tristate
+ default n
+ depends ADK_PACKAGE_NFACCTD_PGSQL || ADK_PACKAGE_PMACCTD_PGSQL
+ select ADK_COMPILE_PMACCT
+
+config ADK_COMPILE_PMACCT_SQLITE
+ tristate
+ default n
+ depends ADK_PACKAGE_NFACCTD_SQLITE || ADK_PACKAGE_PMACCTD_SQLITE
+ select ADK_COMPILE_PMACCT
+
+config ADK_COMPILE_PMACCT_CUSTOM
+ tristate
+ default n
+ depends ADK_PACKAGE_NFACCTD_CUSTOM || ADK_PACKAGE_PMACCTD_CUSTOM
+ select ADK_COMPILE_PMACCT
+
+config ADK_SHOW_PMACCT
+ bool "pmacct/nfacct..................... IPv4/IPv6 accounting and aggregation tools"
+
+config ADK_SHOW_NFACCTD
+ prompt "nfacctd......................... NetFlow accounting daemon"
+ bool
+ default n
+ depends ADK_SHOW_PMACCT
+ help
+
+ An IPv4/IPv6 Netflow accounting and aggregation daemon
+
+ http://www.ba.cnr.it/~paolo/pmacct/
+
+ Depends:
+ - libmysqlclient (for MySQL database logging support)
+ - libpq (for PostgreSQL database logging support)
+ - libsqlite (for SQLite database logging support)
+
+
+config ADK_PACKAGE_NFACCTD_BASIC
+ prompt "nfacctd....................... built without database support"
+ tristate
+ select ADK_COMPILE_PMACCT_BASIC
+ select ADK_PACKAGE_LIBPCAP
+ depends ADK_SHOW_NFACCTD
+
+config ADK_PACKAGE_NFACCTD_MYSQL
+ prompt "nfacctd-mysql................. built with MySQL database support"
+ tristate
+ select ADK_COMPILE_PMACCT_MYSQL
+ select ADK_PACKAGE_LIBPCAP
+ select ADK_PACKAGE_LIBMYSQLCLIENT
+ depends ADK_SHOW_NFACCTD
+
+config ADK_PACKAGE_NFACCTD_PGSQL
+ prompt "nfacctd-pgsql................. built with PostgreSQL database support"
+ tristate
+ select ADK_COMPILE_PMACCT_PGSQL
+ select ADK_PACKAGE_LIBPCAP
+ select ADK_PACKAGE_LIBPQ
+ depends ADK_SHOW_NFACCTD
+
+config ADK_PACKAGE_NFACCTD_SQLITE
+ prompt "nfacctd-sqlite................ built with SQLite database support"
+ tristate
+ select ADK_COMPILE_PMACCT_SQLITE
+ select ADK_PACKAGE_LIBPCAP
+ select ADK_PACKAGE_LIBSQLITE
+ depends ADK_SHOW_NFACCTD
+
+config ADK_PACKAGE_NFACCTD_CUSTOM
+ prompt "nfacctd-custom................ customized to your needs"
+ tristate
+ select ADK_COMPILE_PMACCT_CUSTOM
+ select ADK_PACKAGE_LIBPCAP
+ depends ADK_SHOW_NFACCTD
+
+config ADK_COMPILE_NFACCTD_WITH_MYSQL
+ prompt "MySQL database support"
+ bool
+ default n
+ depends ADK_PACKAGE_NFACCTD_CUSTOM
+ select ADK_PACKAGE_LIBMYSQLCLIENT
+
+config ADK_COMPILE_NFACCTD_WITH_PGSQL
+ prompt "PostgreSQL database support"
+ bool
+ default n
+ depends ADK_PACKAGE_NFACCTD_CUSTOM
+ select ADK_PACKAGE_LIBPQ
+
+config ADK_COMPILE_NFACCTD_WITH_SQLITE
+ prompt "SQLite database support"
+ bool
+ default n
+ depends ADK_PACKAGE_NFACCTD_CUSTOM
+ select ADK_PACKAGE_LIBSQLITE
+
+
+config ADK_SHOW_PMACCTD
+ prompt "pmacctd......................... IP accounting daemon (libpcap based)"
+ bool
+ default n
+ depends ADK_SHOW_PMACCT
+ help
+
+ An IPv4/IPv6 libpcap-based accounting and aggregation daemon
+
+ http://www.ba.cnr.it/~paolo/pmacct/
+
+ Depends:
+ - libpcap
+ - libmysqlclient (for MySQL database logging support)
+ - libpq (for PostgreSQL database logging support)
+ - libsqlite (for SQLite database logging support)
+
+
+config ADK_PACKAGE_PMACCTD_BASIC
+ prompt "pmacctd....................... built without database support"
+ tristate
+ select ADK_COMPILE_PMACCT_BASIC
+ select ADK_PACKAGE_LIBPCAP
+ depends ADK_SHOW_PMACCTD
+
+config ADK_PACKAGE_PMACCTD_MYSQL
+ prompt "pmacctd-mysql................. built with MySQL database support"
+ tristate
+ select ADK_COMPILE_PMACCT_MYSQL
+ select ADK_PACKAGE_LIBPCAP
+ select ADK_PACKAGE_LIBMYSQLCLIENT
+ depends ADK_SHOW_PMACCTD
+
+config ADK_PACKAGE_PMACCTD_PGSQL
+ prompt "pmacctd-pgsql................. built with PostgreSQL database support"
+ tristate
+ select ADK_COMPILE_PMACCT_PGSQL
+ select ADK_PACKAGE_LIBPCAP
+ select ADK_PACKAGE_LIBPQ
+ depends ADK_SHOW_PMACCTD
+
+config ADK_PACKAGE_PMACCTD_SQLITE
+ prompt "pmacctd-sqlite................ built with SQLite database support"
+ tristate
+ select ADK_COMPILE_PMACCT_SQLITE
+ select ADK_PACKAGE_LIBPCAP
+ select ADK_PACKAGE_LIBSQLITE
+ depends ADK_SHOW_PMACCTD
+
+config ADK_PACKAGE_PMACCTD_CUSTOM
+ prompt "pmacctd-custom................ customized to your needs"
+ tristate
+ select ADK_COMPILE_PMACCT_CUSTOM
+ select ADK_PACKAGE_LIBPCAP
+ depends ADK_SHOW_PMACCTD
+
+config ADK_COMPILE_PMACCTD_WITH_MYSQL
+ prompt "MySQL database support"
+ bool
+ default n
+ depends ADK_PACKAGE_PMACCTD_CUSTOM
+ select ADK_PACKAGE_LIBMYSQLCLIENT
+
+config ADK_COMPILE_PMACCTD_WITH_PGSQL
+ prompt "PostgreSQL database support"
+ bool
+ default n
+ depends ADK_PACKAGE_PMACCTD_CUSTOM
+ select ADK_PACKAGE_LIBPQ
+
+config ADK_COMPILE_PMACCTD_WITH_SQLITE
+ prompt "SQLite database support"
+ bool
+ default n
+ depends ADK_PACKAGE_PMACCTD_CUSTOM
+ select ADK_PACKAGE_LIBSQLITE
+
+
+config ADK_PACKAGE_PMACCT_CLIENT
+ prompt "pmacct-client................... Command-line client to gather data from the IMT plugin"
+ tristate
+ default n
+ select ADK_COMPILE_PMACCT
+ depends ADK_SHOW_PMACCT
+
diff --git a/package/pmacct/Makefile b/package/pmacct/Makefile
new file mode 100644
index 000000000..98e1bfbb9
--- /dev/null
+++ b/package/pmacct/Makefile
@@ -0,0 +1,171 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= pmacct
+PKG_VERSION:= 0.10.0
+PKG_RELEASE:= 14
+PKG_MD5SUM:= ed510e7ee2130d1f37f27901b89e985a
+
+MASTER_SITES:= http://www.ba.cnr.it/~paolo/pmacct/
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION)rc2.tar.gz
+
+include $(TOPDIR)/mk/package.mk
+
+PMACCT_CLIENT_OPTS:= \
+
+PMACCT_BASIC_CONFIGURE_OPTS:= \
+
+PMACCT_MYSQL_CONFIGURE_OPTS:= \
+ --enable-mysql \
+ --with-mysql-includes="$(STAGING_DIR)/usr/include" \
+ --with-mysql-libs="$(STAGING_DIR)/usr/lib/mysql"
+
+PMACCT_PGSQL_CONFIGURE_OPTS:= \
+ --enable-pgsql \
+ --with-pgsql-includes="$(STAGING_DIR)/usr/include" \
+ --with-pgsql-libs="$(STAGING_DIR)/usr/lib"
+
+PMACCT_SQLITE_CONFIGURE_OPTS:= \
+ --enable-sqlite3 \
+ --with-sqlite3-includes="$(STAGING_DIR)/usr/include" \
+ --with-sqlite3-libs="$(STAGING_DIR)/usr/lib"
+
+NFACCTD_CUSTOM_CONFIGURE_OPTS:= \
+
+ifeq ($(ADK_PACKAGE_NFACCTD_WITH_MYSQL),y)
+NFACCTD_CUSTOM_CONFIGURE_OPTS+= $(PMACCT_MYSQL_CONFIGURE_OPTS)
+endif
+
+ifeq ($(ADK_PACKAGE_NFACCTD_WITH_PGSQL),y)
+NFACCTD_CUSTOM_CONFIGURE_OPTS+= $(PMACCT_PGSQL_CONFIGURE_OPTS)
+endif
+
+ifeq ($(ADK_PACKAGE_NFACCTD_WITH_SQLITE),y)
+NFACCTD_CUSTOM_CONFIGURE_OPTS+= $(PMACCT_SQLITE_CONFIGURE_OPTS)
+endif
+
+PMACCTD_CUSTOM_CONFIGURE_OPTS:= \
+
+ifeq ($(ADK_PACKAGE_PMACCTD_WITH_MYSQL),y)
+PMACCTD_CUSTOM_CONFIGURE_OPTS+= $(PMACCT_MYSQL_CONFIGURE_OPTS)
+endif
+
+ifeq ($(ADK_PACKAGE_PMACCTD_WITH_PGSQL),y)
+PMACCTD_CUSTOM_CONFIGURE_OPTS+= $(PMACCT_PGSQL_CONFIGURE_OPTS)
+endif
+
+ifeq ($(ADK_PACKAGE_PMACCTD_WITH_SQLITE),y)
+PMACCTD_CUSTOM_CONFIGURE_OPTS+= $(PMACCT_SQLITE_CONFIGURE_OPTS)
+endif
+
+define PKG_build
+
+ifneq ($(ADK_PACKAGE_$(1)),)
+BUILD_TARGETS+= $(WRKBUILD)/$(2)
+BUILD_TARGETS+= $(WRKBUILD)/$(3)
+endif
+
+$(WRKBUILD)/$(2) $(WRKBUILD)/$(3): $(WRKBUILD)/.prepared
+ -$(MAKE) -C $(WRKBUILD) distclean
+ (cd $(WRKBUILD); rm -rf config.{cache,status} ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/sbin \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib/locate \
+ --localstatedir=/var/lib \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ --disable-nls \
+ --enable-shared \
+ --disable-static \
+ --with-pcap-includes="$(STAGING_DIR)/usr/include" \
+ --with-pcap-libs="$(STAGING_DIR)/usr/lib" \
+ $$($(1)_CONFIGURE_OPTS) \
+ );
+ $(MAKE) -C $(WRKBUILD) \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include"
+ mv -f $(WRKBUILD)/nfacctd $(WRKBUILD)/$(2)
+ mv -f $(WRKBUILD)/pmacctd $(WRKBUILD)/$(3)
+
+endef
+
+define PKG_package
+
+$$(IPKG_$(1)): $(WRKBUILD)/$(2)
+ install -d -m0755 $$(IDIR_$(1))/etc
+ install -m0644 ./files/$(3).conf $$(IDIR_$(1))/etc/
+ #install -d -m0755 $$(IDIR_$(1))/etc/default
+ #install -m0644 ./files/$(3).default $$(IDIR_$(1))/etc/default/$(3)
+ install -d -m0755 $$(IDIR_$(1))/etc/init.d
+ install -m0755 ./files/$(3).init $$(IDIR_$(1))/etc/init.d/$(3)
+ install -d -m0755 $$(IDIR_$(1))/usr/sbin
+ install -m0755 $(WRKBUILD)/$(2) $$(IDIR_$(1))/usr/sbin/$(3)
+ $(RSTRIP) $$(IDIR_$(1))
+ $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
+
+endef
+
+$(eval $(call PKG_template,NFACCTD_BASIC,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,NFACCTD_MYSQL,nfacctd-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,NFACCTD_PGSQL,nfacctd-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,NFACCTD_SQLITE,nfacctd-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,NFACCTD_CUSTOM,nfacctd-custom,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PMACCTD_BASIC,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PMACCTD_MYSQL,pmacctd-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PMACCTD_PGSQL,pmacctd-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PMACCTD_SQLITE,pmacctd-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PMACCTD_CUSTOM,pmacctd-custom,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PMACCT_CLIENT,pmacct-client,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(eval $(call PKG_build,PMACCT_CLIENT,nfacctd-basic,pmacctd-basic,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_build,PMACCT_BASIC,nfacctd-basic,pmacctd-basic,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_build,PMACCT_MYSQL,nfacctd-mysql,pmacctd-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_build,PMACCT_PGSQL,nfacctd-pgsql,pmacctd-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_build,PMACCT_SQLITE,nfacctd-sqlite,pmacctd-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_build,NFACCTD_CUSTOM,nfacctd-custom,pmacctd-dummy,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_build,PMACCTD_CUSTOM,nfacctd-dummy,pmacctd-custom,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(eval $(call PKG_package,NFACCTD_BASIC,nfacctd-basic,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,NFACCTD_MYSQL,nfacctd-mysql,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,NFACCTD_PGSQL,nfacctd-pgsql,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,NFACCTD_SQLITE,nfacctd-sqlite,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,NFACCTD_CUSTOM,nfacctd-custom,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,PMACCTD_BASIC,pmacctd-basic,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,PMACCTD_MYSQL,pmacctd-mysql,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,PMACCTD_PGSQL,pmacctd-pgsql,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,PMACCTD_SQLITE,pmacctd-sqlite,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_package,PMACCTD_CUSTOM,pmacctd-custom,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(WRKBUILD)/.configured:
+ touch $@
+
+$(WRKBUILD)/.built: $(BUILD_TARGETS)
+ touch $@
+
+$(IPKG_PMACCT_CLIENT):
+ install -d -m0755 $(IDIR_PMACCT_CLIENT)/usr/sbin
+ $(CP) $(WRKBUILD)/pmacct $(IDIR_PMACCT_CLIENT)/usr/sbin/
+ $(RSTRIP) $(IDIR_PMACCT_CLIENT)
+ $(IPKG_BUILD) $(IDIR_PMACCT_CLIENT) $(PACKAGE_DIR)
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/pmacct/files/nfacctd.conf b/package/pmacct/files/nfacctd.conf
new file mode 100644
index 000000000..a9817b218
--- /dev/null
+++ b/package/pmacct/files/nfacctd.conf
@@ -0,0 +1,28 @@
+!
+! nfacctd configuration example
+!
+! debug: true
+daemonize: true
+pidfile: /var/run/nfacctd.pid
+! aggregate_filter[dummy]: src net 192.168.0.0/16
+aggregate: src_host, dst_host
+! plugin_buffer_size: 1024
+! nfacctd_port: 5678
+! nfacctd_time_secs: true
+! nfacctd_time_new: true
+plugins: memory
+imt_buckets: 65537
+imt_mem_pools_size: 65536
+! imt_mem_pools_number: 0
+! plugins: mysql
+! plugins: pgsql
+! 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
diff --git a/package/pmacct/files/nfacctd.init b/package/pmacct/files/nfacctd.init
new file mode 100644
index 000000000..2d0072bf5
--- /dev/null
+++ b/package/pmacct/files/nfacctd.init
@@ -0,0 +1,25 @@
+#!/bin/sh
+#FWINIT 80
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+ autostart)
+ test x"${nfacctd:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+ start)
+ nfacctd $nfaccd_flags
+ ;;
+ stop)
+ killall nfacctd
+ ;;
+ restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+ *)
+ echo "usage: $0 {start | stop | restart}"
+ exit 1
+esac
+exit $?
diff --git a/package/pmacct/files/pmacctd.conf b/package/pmacct/files/pmacctd.conf
new file mode 100644
index 000000000..65c6387ea
--- /dev/null
+++ b/package/pmacct/files/pmacctd.conf
@@ -0,0 +1,26 @@
+!
+! pmacctd configuration example
+!
+! debug: true
+interface: vlan1
+daemonize: true
+pidfile: /var/run/pmacctd.pid
+pmacctd_id: 1
+aggregate: src_host,dst_host
+! aggregate: src_net,dst_net
+plugins: memory
+imt_buckets: 65537
+imt_mem_pools_size: 65536
+! imt_mem_pools_number: 0
+! plugins: mysql
+! plugins: pgsql
+! 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
diff --git a/package/pmacct/files/pmacctd.init b/package/pmacct/files/pmacctd.init
new file mode 100644
index 000000000..5cde04ba7
--- /dev/null
+++ b/package/pmacct/files/pmacctd.init
@@ -0,0 +1,25 @@
+#!/bin/sh
+#FWINIT 80
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+ autostart)
+ test x"${pmacctd:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+ start)
+ pmacctd $pmacctd_flags
+ ;;
+ stop)
+ killall pmacctd
+ ;;
+ restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+ *)
+ echo "usage: $0 {start | stop | restart}"
+ exit 1
+esac
+exit $?
diff --git a/package/pmacct/ipkg/nfacctd-custom.control b/package/pmacct/ipkg/nfacctd-custom.control
new file mode 100644
index 000000000..096be7e04
--- /dev/null
+++ b/package/pmacct/ipkg/nfacctd-custom.control
@@ -0,0 +1,6 @@
+Package: nfacctd-custom
+Priority: optional
+Section: net
+Description: a NetFlow accounting daemon,
+ built with custom options
+Depends: libpcap
diff --git a/package/pmacct/ipkg/nfacctd-mysql.control b/package/pmacct/ipkg/nfacctd-mysql.control
new file mode 100644
index 000000000..e030db8fc
--- /dev/null
+++ b/package/pmacct/ipkg/nfacctd-mysql.control
@@ -0,0 +1,6 @@
+Package: nfacctd-mysql
+Priority: optional
+Section: net
+Description: a NetFlow accounting daemon,
+ built with MySQL database support
+Depends: libmysqlclient, libpcap
diff --git a/package/pmacct/ipkg/nfacctd-pgsql.control b/package/pmacct/ipkg/nfacctd-pgsql.control
new file mode 100644
index 000000000..8500ff342
--- /dev/null
+++ b/package/pmacct/ipkg/nfacctd-pgsql.control
@@ -0,0 +1,6 @@
+Package: nfacctd-pgsql
+Priority: optional
+Section: net
+Description: a NetFlow accounting daemon,
+ built with PostgreSQL database support
+Depends: libpq, libpcap
diff --git a/package/pmacct/ipkg/nfacctd-sqlite.control b/package/pmacct/ipkg/nfacctd-sqlite.control
new file mode 100644
index 000000000..add839416
--- /dev/null
+++ b/package/pmacct/ipkg/nfacctd-sqlite.control
@@ -0,0 +1,6 @@
+Package: nfacctd-sqlite
+Priority: optional
+Section: net
+Description: a NetFlow accounting daemon,
+ built with SQLite database support
+Depends: libsqlite, libpcap
diff --git a/package/pmacct/ipkg/nfacctd.conffiles b/package/pmacct/ipkg/nfacctd.conffiles
new file mode 100644
index 000000000..88dba6572
--- /dev/null
+++ b/package/pmacct/ipkg/nfacctd.conffiles
@@ -0,0 +1 @@
+/etc/nfacctd.conf
diff --git a/package/pmacct/ipkg/nfacctd.control b/package/pmacct/ipkg/nfacctd.control
new file mode 100644
index 000000000..e5afbf68d
--- /dev/null
+++ b/package/pmacct/ipkg/nfacctd.control
@@ -0,0 +1,6 @@
+Package: nfacctd
+Priority: optional
+Section: net
+Description: a NetFlow accounting daemon,
+ built without database support
+Depends: libpcap
diff --git a/package/pmacct/ipkg/nfacctd.postinst b/package/pmacct/ipkg/nfacctd.postinst
new file mode 100644
index 000000000..0b382cf0f
--- /dev/null
+++ b/package/pmacct/ipkg/nfacctd.postinst
@@ -0,0 +1,4 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf nfacctd nfacctd NO
+add_rcconf nfacctd_flags nfacctd_flags "-f /etc/nfacctd.conf"
diff --git a/package/pmacct/ipkg/pmacct-client.control b/package/pmacct/ipkg/pmacct-client.control
new file mode 100644
index 000000000..c943e731e
--- /dev/null
+++ b/package/pmacct/ipkg/pmacct-client.control
@@ -0,0 +1,5 @@
+Package: pmacct-client
+Priority: optional
+Section: net
+Description: a command-line client for pmacctd or nfacctd,
+ used to retrieve data from an active memory plugin
diff --git a/package/pmacct/ipkg/pmacctd-custom.control b/package/pmacct/ipkg/pmacctd-custom.control
new file mode 100644
index 000000000..0278df142
--- /dev/null
+++ b/package/pmacct/ipkg/pmacctd-custom.control
@@ -0,0 +1,6 @@
+Package: pmacctd-custom
+Priority: optional
+Section: net
+Description: an IP accounting daemon,
+ built with custom options
+Depends: libpcap
diff --git a/package/pmacct/ipkg/pmacctd-mysql.control b/package/pmacct/ipkg/pmacctd-mysql.control
new file mode 100644
index 000000000..2ea345fcb
--- /dev/null
+++ b/package/pmacct/ipkg/pmacctd-mysql.control
@@ -0,0 +1,6 @@
+Package: pmacctd-mysql
+Priority: optional
+Section: net
+Description: an IP accounting daemon,
+ built with MySQL database support
+Depends: libmysqlclient, libpcap
diff --git a/package/pmacct/ipkg/pmacctd-pgsql.control b/package/pmacct/ipkg/pmacctd-pgsql.control
new file mode 100644
index 000000000..7018c7350
--- /dev/null
+++ b/package/pmacct/ipkg/pmacctd-pgsql.control
@@ -0,0 +1,6 @@
+Package: pmacctd-pgsql
+Priority: optional
+Section: net
+Description: an IP accounting daemon,
+ built with PostgreSQL database support
+Depends: libpq, libpcap
diff --git a/package/pmacct/ipkg/pmacctd-sqlite.control b/package/pmacct/ipkg/pmacctd-sqlite.control
new file mode 100644
index 000000000..ad8f7c96f
--- /dev/null
+++ b/package/pmacct/ipkg/pmacctd-sqlite.control
@@ -0,0 +1,6 @@
+Package: pmacctd-sqlite
+Priority: optional
+Section: net
+Description: an IP accounting daemon,
+ built with SQLite database support
+Depends: libsqlite, libpcap
diff --git a/package/pmacct/ipkg/pmacctd.conffiles b/package/pmacct/ipkg/pmacctd.conffiles
new file mode 100644
index 000000000..ce1303ff9
--- /dev/null
+++ b/package/pmacct/ipkg/pmacctd.conffiles
@@ -0,0 +1 @@
+/etc/pmacctd.conf
diff --git a/package/pmacct/ipkg/pmacctd.control b/package/pmacct/ipkg/pmacctd.control
new file mode 100644
index 000000000..5d2cc7c4e
--- /dev/null
+++ b/package/pmacct/ipkg/pmacctd.control
@@ -0,0 +1,6 @@
+Package: pmacctd
+Priority: optional
+Section: net
+Description: an IP accounting daemon,
+ built without database support
+Depends: libpcap
diff --git a/package/pmacct/ipkg/pmacctd.postinst b/package/pmacct/ipkg/pmacctd.postinst
new file mode 100644
index 000000000..49cde0f8e
--- /dev/null
+++ b/package/pmacct/ipkg/pmacctd.postinst
@@ -0,0 +1,4 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf pmacctd pmacctd NO
+add_rcconf pmacctd_flags pmacctd_flags "-f /etc/pmacctd.conf"