summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openwrt/package/Config.in1
-rw-r--r--openwrt/package/Makefile2
-rw-r--r--openwrt/package/pmacct/Config.in140
-rw-r--r--openwrt/package/pmacct/Makefile166
-rw-r--r--openwrt/package/pmacct/files/nfacctd.conf28
-rw-r--r--openwrt/package/pmacct/files/nfacctd.default1
-rw-r--r--openwrt/package/pmacct/files/nfacctd.init22
-rw-r--r--openwrt/package/pmacct/files/pmacctd.conf26
-rw-r--r--openwrt/package/pmacct/files/pmacctd.default1
-rw-r--r--openwrt/package/pmacct/files/pmacctd.init22
-rw-r--r--openwrt/package/pmacct/ipkg/nfacctd-custom.control10
-rw-r--r--openwrt/package/pmacct/ipkg/nfacctd-mysql.control10
-rw-r--r--openwrt/package/pmacct/ipkg/nfacctd-pgsql.control10
-rw-r--r--openwrt/package/pmacct/ipkg/nfacctd.conffiles2
-rw-r--r--openwrt/package/pmacct/ipkg/nfacctd.control10
-rw-r--r--openwrt/package/pmacct/ipkg/pmacct-client.control9
-rw-r--r--openwrt/package/pmacct/ipkg/pmacctd-custom.control10
-rw-r--r--openwrt/package/pmacct/ipkg/pmacctd-mysql.control10
-rw-r--r--openwrt/package/pmacct/ipkg/pmacctd-pgsql.control10
-rw-r--r--openwrt/package/pmacct/ipkg/pmacctd.conffiles2
-rw-r--r--openwrt/package/pmacct/ipkg/pmacctd.control10
21 files changed, 502 insertions, 0 deletions
diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index 04e64211ff..572589df17 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -67,6 +67,7 @@ source "package/siproxd/Config.in"
source "package/sipsak/Config.in"
source "package/htpdate/Config.in"
source "package/howl/Config.in"
+source "package/pmacct/Config.in"
source "package/ulogd/Config.in"
source "package/vsftpd/Config.in"
source "package/xinetd/Config.in"
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index cc1eb65f2e..3e5af69afb 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -89,6 +89,7 @@ package-$(BR2_PACKAGE_SIPSAK) += sipsak
package-$(BR2_PACKAGE_HTPDATE) += htpdate
package-$(BR2_PACKAGE_HOWL) += howl
package-$(BR2_PACKAGE_OSIRISD) += osiris
+package-$(BR2_PACKAGE_PMACCT) += pmacct
package-$(BR2_PACKAGE_ULOGD) += ulogd
package-$(BR2_PACKAGE_VSFTPD) += vsftpd
package-$(BR2_PACKAGE_XINETD) += xinetd
@@ -140,6 +141,7 @@ openldap-compile: cyrus-sasl-compile openssl-compile
siproxd-compile: libosip2-compile
sipsak-compile: openssl-compile
osiris-compile: openssl-compile
+pmacct-compile: libpcap-compile
snort-compile: libnet-compile libpcap-compile pcre-compile
ifeq ($(BR2_PACKAGE_SNORT_MYSQL),y)
diff --git a/openwrt/package/pmacct/Config.in b/openwrt/package/pmacct/Config.in
new file mode 100644
index 0000000000..fb88a073bd
--- /dev/null
+++ b/openwrt/package/pmacct/Config.in
@@ -0,0 +1,140 @@
+config BR2_PACKAGE_PMACCT
+ prompt "pmacct - a set of IPv4/IPv6 accounting and aggregation tools"
+ bool
+ default y if CONFIG_DEVEL
+ select BR2_PACKAGE_LIBPCAP
+ help
+ A small set of IPv4/IPv6 accounting and aggregation tools
+
+ http://www.ba.cnr.it/~paolo/pmacct/
+
+ Depends: libpcap
+
+choice
+ depends BR2_PACKAGE_PMACCT
+ prompt "nfacctd - a NetFlow accounting daemon"
+ tristate
+ default m if CONFIG_DEVEL
+ default n
+ optional
+
+ config BR2_PACKAGE_NFACCTD_BASIC
+ prompt "nfacctd: without database support"
+ tristate
+
+ config BR2_PACKAGE_NFACCTD_MYSQL
+ prompt "nfacctd-mysql: with MySQL database support"
+ tristate
+ select BR2_PACKAGE_LIBMYSQLCLIENT
+
+ config BR2_PACKAGE_NFACCTD_PGSQL
+ prompt "nfacctd-pgsql: with PostgreSQL database support"
+ tristate
+ select BR2_PACKAGE_LIBPQ
+
+ config BR2_PACKAGE_NFACCTD_CUSTOM
+ prompt "nfacctd-custom: customized to your needs"
+ tristate
+
+ config BR2_PACKAGE_NFACCTD_ENABLE_DEBUG
+ prompt "debug (enable debugging options, useful for bugreports)"
+ bool
+ default n
+ depends BR2_PACKAGE_NFACCTD_CUSTOM
+
+ config BR2_PACKAGE_NFACCTD_ENABLE_IPV6
+ prompt "IPv6 support"
+ bool
+ default n
+ depends BR2_PACKAGE_NFACCTD_CUSTOM
+ select BR2_PACKAGE_IPTABLES
+
+ config BR2_PACKAGE_NFACCTD_WITH_MYSQL
+ prompt "MySQL database support"
+ bool
+ default n
+ depends BR2_PACKAGE_NFACCTD_CUSTOM
+ select BR2_PACKAGE_LIBMYSQLCLIENT
+
+ config BR2_PACKAGE_NFACCTD_WITH_PGSQL
+ prompt "PostgreSQL database support"
+ bool
+ default n
+ depends BR2_PACKAGE_NFACCTD_CUSTOM
+ select BR2_PACKAGE_LIBPQ
+
+endchoice
+
+choice
+ depends BR2_PACKAGE_PMACCT
+ prompt "pmacctd - an IP accounting daemon"
+ tristate
+ default m if CONFIG_DEVEL
+ default n
+ optional
+
+ config BR2_PACKAGE_PMACCTD_BASIC
+ prompt "pmacctd: without database support"
+ tristate
+
+ config BR2_PACKAGE_PMACCTD_MYSQL
+ prompt "pmacctd-mysql: with MySQL database support"
+ tristate
+ select BR2_PACKAGE_LIBMYSQLCLIENT
+
+ config BR2_PACKAGE_PMACCTD_PGSQL
+ prompt "pmacctd-pgsql: with PostgreSQL database support"
+ tristate
+ select BR2_PACKAGE_LIBPQ
+
+ config BR2_PACKAGE_PMACCTD_CUSTOM
+ prompt "pmacctd-custom: customized to your needs"
+ tristate
+
+ config BR2_PACKAGE_PMACCTD_ENABLE_DEBUG
+ prompt "debug (enable debugging options, useful for bugreports)"
+ bool
+ default n
+ depends BR2_PACKAGE_PMACCTD_CUSTOM
+
+ config BR2_PACKAGE_PMACCTD_ENABLE_IPV6
+ prompt "IPv6 support"
+ bool
+ default n
+ depends BR2_PACKAGE_PMACCTD_CUSTOM
+ select BR2_PACKAGE_IPTABLES
+
+ config BR2_PACKAGE_PMACCTD_WITH_MYSQL
+ prompt "MySQL database support"
+ bool
+ default n
+ depends BR2_PACKAGE_PMACCTD_CUSTOM
+ select BR2_PACKAGE_LIBMYSQLCLIENT
+
+ config BR2_PACKAGE_PMACCTD_WITH_PGSQL
+ prompt "PostgreSQL database support"
+ bool
+ default n
+ depends BR2_PACKAGE_PMACCTD_CUSTOM
+ select BR2_PACKAGE_LIBPQ
+
+endchoice
+
+config BR2_PACKAGE_PMACCT_CLIENT
+ depends BR2_PACKAGE_PMACCT
+ prompt "pmacct-client: a command-line client to gather data from the IMT plugin" if BR2_PACKAGE_NFACCTD_BASIC || BR2_PACKAGE_NFACCTD_MYSQL || BR2_PACKAGE_NFACCTD_PGSQL || BR2_PACKAGE_NFACCTD_CUSTOM || BR2_PACKAGE_PMACCTD_BASIC || BR2_PACKAGE_PMACCTD_MYSQL || BR2_PACKAGE_PMACCTD_PGSQL || BR2_PACKAGE_PMACCTD_CUSTOM
+ tristate
+ default n
+
+config BR2_PACKAGE_PMACCT_BASIC
+ tristate
+ default BR2_PACKAGE_NFACCTD_BASIC || BR2_PACKAGE_PMACCTD_BASIC
+
+config BR2_PACKAGE_PMACCT_MYSQL
+ tristate
+ default BR2_PACKAGE_NFACCTD_MYSQL || BR2_PACKAGE_PMACCTD_MYSQL
+
+config BR2_PACKAGE_PMACCT_PGSQL
+ tristate
+ default BR2_PACKAGE_NFACCTD_PGSQL || BR2_PACKAGE_PMACCTD_PGSQL
+
diff --git a/openwrt/package/pmacct/Makefile b/openwrt/package/pmacct/Makefile
new file mode 100644
index 0000000000..0597cd01b8
--- /dev/null
+++ b/openwrt/package/pmacct/Makefile
@@ -0,0 +1,166 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pmacct
+PKG_VERSION:=0.8.5
+PKG_RELEASE:=1
+PKG_MD5SUM:=996d6402946553f81d94e0a60e6fc509
+
+PKG_SOURCE_URL:=http://www.ba.cnr.it/~paolo/pmacct/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+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"
+
+NFACCTD_CUSTOM_CONFIGURE_OPTS := \
+
+ifeq ($(BR2_PACKAGE_NFACCTD_ENABLE_DEBUG),y)
+NFACCTD_CUSTOM_CONFIGURE_OPTS += --enable-debug
+endif
+
+ifeq ($(BR2_PACKAGE_NFACCTD_ENABLE_IPV6),y)
+NFACCTD_CUSTOM_CONFIGURE_OPTS += --enable-ipv6
+endif
+
+ifeq ($(BR2_PACKAGE_NFACCTD_WITH_MYSQL),y)
+NFACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_MYSQL_CONFIGURE_OPTS)
+endif
+
+ifeq ($(BR2_PACKAGE_NFACCTD_WITH_PGSQL),y)
+NFACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_PGSQL_CONFIGURE_OPTS)
+endif
+
+PMACCTD_CUSTOM_CONFIGURE_OPTS := \
+
+ifeq ($(BR2_PACKAGE_PMACCTD_ENABLE_DEBUG),y)
+PMACCTD_CUSTOM_CONFIGURE_OPTS += --enable-debug
+endif
+
+ifeq ($(BR2_PACKAGE_PMACCTD_ENABLE_IPV6),y)
+PMACCTD_CUSTOM_CONFIGURE_OPTS += --enable-ipv6
+endif
+
+ifeq ($(BR2_PACKAGE_PMACCTD_WITH_MYSQL),y)
+PMACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_MYSQL_CONFIGURE_OPTS)
+endif
+
+ifeq ($(BR2_PACKAGE_PMACCTD_WITH_PGSQL),y)
+PMACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_PGSQL_CONFIGURE_OPTS)
+endif
+
+define PKG_build
+
+ifneq ($(BR2_PACKAGE_$(1)),)
+BUILD_TARGETS += $(PKG_BUILD_DIR)/$(2)
+BUILD_TARGETS += $(PKG_BUILD_DIR)/$(3)
+endif
+
+$(PKG_BUILD_DIR)/$(2) $(PKG_BUILD_DIR)/$(3): $(PKG_BUILD_DIR)/.prepared
+ -$(MAKE) -C $(PKG_BUILD_DIR) distclean
+ (cd $(PKG_BUILD_DIR); 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_LARGEFILE) \
+ $(DISABLE_NLS) \
+ --enable-shared \
+ --disable-static \
+ --with-pcap-includes="$(STAGING_DIR)/usr/include" \
+ --with-libpcap-libs="$(STAGING_DIR)/usr/lib" \
+ $$($(1)_CONFIGURE_OPTS) \
+ );
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include"
+ mv -f $(PKG_BUILD_DIR)/nfacctd $(PKG_BUILD_DIR)/$(2)
+ mv -f $(PKG_BUILD_DIR)/pmacctd $(PKG_BUILD_DIR)/$(3)
+
+endef
+
+define PKG_package
+
+$$(IPKG_$(1)): $(PKG_BUILD_DIR)/$(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 $(PKG_BUILD_DIR)/$(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_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_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_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,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_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_CUSTOM,pmacctd-custom,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+ touch $(PKG_BUILD_DIR)/.configured
+
+$(PKG_BUILD_DIR)/.built: $(BUILD_TARGETS)
+ touch $(PKG_BUILD_DIR)/.built
+
+$(IPKG_PMACCT_CLIENT):
+ install -d -m0755 $(IDIR_PMACCT_CLIENT)/usr/sbin
+ cp -fpR $(PKG_BUILD_DIR)/pmacct $(IDIR_PMACCT_CLIENT)/usr/sbin/
+ $(RSTRIP) $(IDIR_PMACCT_CLIENT)
+ $(IPKG_BUILD) $(IDIR_PMACCT_CLIENT) $(PACKAGE_DIR)
diff --git a/openwrt/package/pmacct/files/nfacctd.conf b/openwrt/package/pmacct/files/nfacctd.conf
new file mode 100644
index 0000000000..a9817b2185
--- /dev/null
+++ b/openwrt/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/openwrt/package/pmacct/files/nfacctd.default b/openwrt/package/pmacct/files/nfacctd.default
new file mode 100644
index 0000000000..9315b280c9
--- /dev/null
+++ b/openwrt/package/pmacct/files/nfacctd.default
@@ -0,0 +1 @@
+OPTIONS="-f /etc/nfacctd.conf"
diff --git a/openwrt/package/pmacct/files/nfacctd.init b/openwrt/package/pmacct/files/nfacctd.init
new file mode 100644
index 0000000000..c38c7f14b2
--- /dev/null
+++ b/openwrt/package/pmacct/files/nfacctd.init
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+BIN=nfacctd
+DEFAULT=/etc/default/$BIN
+RUN_D=/var/run
+PID_F=$RUN_D/$BIN.pid
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+ mkdir -p $RUN_D
+ $BIN $OPTIONS
+ ;;
+ stop)
+ [ -f $PID_F ] && kill -INT $(cat $PID_F)
+ ;;
+ *)
+ echo "usage: $0 (start|stop)"
+ exit 1
+esac
+
+exit $?
diff --git a/openwrt/package/pmacct/files/pmacctd.conf b/openwrt/package/pmacct/files/pmacctd.conf
new file mode 100644
index 0000000000..65c6387ea3
--- /dev/null
+++ b/openwrt/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/openwrt/package/pmacct/files/pmacctd.default b/openwrt/package/pmacct/files/pmacctd.default
new file mode 100644
index 0000000000..3c06f085f6
--- /dev/null
+++ b/openwrt/package/pmacct/files/pmacctd.default
@@ -0,0 +1 @@
+OPTIONS="-f /etc/pmacctd.conf"
diff --git a/openwrt/package/pmacct/files/pmacctd.init b/openwrt/package/pmacct/files/pmacctd.init
new file mode 100644
index 0000000000..0af1095000
--- /dev/null
+++ b/openwrt/package/pmacct/files/pmacctd.init
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+BIN=pmacctd
+DEFAULT=/etc/default/$BIN
+RUN_D=/var/run
+PID_F=$RUN_D/$BIN.pid
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+ mkdir -p $RUN_D
+ $BIN $OPTIONS
+ ;;
+ stop)
+ [ -f $PID_F ] && kill -INT $(cat $PID_F)
+ ;;
+ *)
+ echo "usage: $0 (start|stop)"
+ exit 1
+esac
+
+exit $?
diff --git a/openwrt/package/pmacct/ipkg/nfacctd-custom.control b/openwrt/package/pmacct/ipkg/nfacctd-custom.control
new file mode 100644
index 0000000000..0a863ae6e9
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/nfacctd-custom.control
@@ -0,0 +1,10 @@
+Package: nfacctd-custom
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: a NetFlow accounting daemon,
+ built with custom options
+Depends: libpcap
diff --git a/openwrt/package/pmacct/ipkg/nfacctd-mysql.control b/openwrt/package/pmacct/ipkg/nfacctd-mysql.control
new file mode 100644
index 0000000000..6ede1e0611
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/nfacctd-mysql.control
@@ -0,0 +1,10 @@
+Package: nfacctd-mysql
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: a NetFlow accounting daemon,
+ built with MySQL database support
+Depends: libmysqlclient, libpcap
diff --git a/openwrt/package/pmacct/ipkg/nfacctd-pgsql.control b/openwrt/package/pmacct/ipkg/nfacctd-pgsql.control
new file mode 100644
index 0000000000..5885297a41
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/nfacctd-pgsql.control
@@ -0,0 +1,10 @@
+Package: nfacctd-pgsql
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: a NetFlow accounting daemon,
+ built with PostgreSQL database support
+Depends: libpq, libpcap
diff --git a/openwrt/package/pmacct/ipkg/nfacctd.conffiles b/openwrt/package/pmacct/ipkg/nfacctd.conffiles
new file mode 100644
index 0000000000..dec6203510
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/nfacctd.conffiles
@@ -0,0 +1,2 @@
+/etc/default/nfacctd
+/etc/nfacctd.conf
diff --git a/openwrt/package/pmacct/ipkg/nfacctd.control b/openwrt/package/pmacct/ipkg/nfacctd.control
new file mode 100644
index 0000000000..fcd08c9329
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/nfacctd.control
@@ -0,0 +1,10 @@
+Package: nfacctd
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: a NetFlow accounting daemon,
+ built without database support
+Depends: libpcap
diff --git a/openwrt/package/pmacct/ipkg/pmacct-client.control b/openwrt/package/pmacct/ipkg/pmacct-client.control
new file mode 100644
index 0000000000..8f3369554d
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/pmacct-client.control
@@ -0,0 +1,9 @@
+Package: pmacct-client
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: a command-line client for pmacctd or nfacctd,
+ used to retrieve data from an active memory plugin
diff --git a/openwrt/package/pmacct/ipkg/pmacctd-custom.control b/openwrt/package/pmacct/ipkg/pmacctd-custom.control
new file mode 100644
index 0000000000..03bc89f905
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/pmacctd-custom.control
@@ -0,0 +1,10 @@
+Package: pmacctd-custom
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: an IP accounting daemon,
+ built with custom options
+Depends: libpcap
diff --git a/openwrt/package/pmacct/ipkg/pmacctd-mysql.control b/openwrt/package/pmacct/ipkg/pmacctd-mysql.control
new file mode 100644
index 0000000000..1733d08b5e
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/pmacctd-mysql.control
@@ -0,0 +1,10 @@
+Package: pmacctd-mysql
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: an IP accounting daemon,
+ built with MySQL database support
+Depends: libmysqlclient, libpcap
diff --git a/openwrt/package/pmacct/ipkg/pmacctd-pgsql.control b/openwrt/package/pmacct/ipkg/pmacctd-pgsql.control
new file mode 100644
index 0000000000..35ed4ff95c
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/pmacctd-pgsql.control
@@ -0,0 +1,10 @@
+Package: pmacctd-pgsql
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: an IP accounting daemon,
+ built with PostgreSQL database support
+Depends: libpq, libpcap
diff --git a/openwrt/package/pmacct/ipkg/pmacctd.conffiles b/openwrt/package/pmacct/ipkg/pmacctd.conffiles
new file mode 100644
index 0000000000..fa81c14cb8
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/pmacctd.conffiles
@@ -0,0 +1,2 @@
+/etc/default/pmacctd
+/etc/pmacctd.conf
diff --git a/openwrt/package/pmacct/ipkg/pmacctd.control b/openwrt/package/pmacct/ipkg/pmacctd.control
new file mode 100644
index 0000000000..13c208c6ad
--- /dev/null
+++ b/openwrt/package/pmacct/ipkg/pmacctd.control
@@ -0,0 +1,10 @@
+Package: pmacctd
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/pmacct/
+Description: an IP accounting daemon,
+ built without database support
+Depends: libpcap