--- /dev/null
+#
+# Copyright (C) 2006-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ulogd
+PKG_VERSION:=2.0.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=ftp://ftp.netfilter.org/pub/ulogd/ \
+ ftp://ftp.be.netfilter.org/pub/netfilter/ulogd/ \
+ ftp://ftp.de.netfilter.org/pub/netfilter/ulogd/ \
+ ftp://ftp.no.netfilter.org/pub/netfilter/ulogd/
+PKG_MD5SUM:=7c71ec460dfea5287eba27472c521ebc
+
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILE:=COPYING
+PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/ulogd/Default
+ SECTION:=net
+ CATEGORY:=Network
+ URL:=http://www.netfilter.org/projects/ulogd/index.html
+endef
+
+define Package/ulogd
+ $(call Package/ulogd/Default)
+ DEPENDS:=+libmnl +libnfnetlink +libpthread
+ TITLE:=Netfilter userspace logging daemon
+ MENU:=1
+endef
+
+define Package/ulogd/conffiles
+/etc/ulogd.conf
+endef
+
+define Package/ulogd-mod-dbi
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libdbi
+ TITLE:=Output plugin for logging to a database using libdbi
+endef
+
+define Package/ulogd-mod-mysql
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libmysqlclient
+ TITLE:=Output plugin for logging to a MySQL database
+endef
+
+define Package/ulogd-mod-nfacct
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libnetfilter-acct
+ TITLE:=Input plugin for flow-based logging (accounting)
+endef
+
+define Package/ulogd-mod-nfct
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libnetfilter-conntrack
+ TITLE:=Input plugin for flow-based logging (conntracking)
+endef
+
+define Package/ulogd-mod-nflog
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libnetfilter-log
+ TITLE:=Input plugin using NFLOG
+endef
+
+define Package/ulogd-mod-pcap
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libpcap
+ TITLE:=Output plugin for logging in pcap format
+endef
+
+define Package/ulogd-mod-pgsql
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libpq
+ TITLE:=Output plugin for logging to a PostgreSQL database
+endef
+
+define Package/ulogd-mod-sqlite
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libsqlite3
+ TITLE:=Output plugin for logging to an SQLite database
+endef
+
+define Package/ulogd-mod-syslog
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd
+ TITLE:=Syslog output plugin
+endef
+
+define Package/ulogd-mod-xml
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd +libnetfilter-acct +libnetfilter-conntrack +libnetfilter-log
+ TITLE:=XML output plugin
+endef
+
+define Package/ulogd-mod-extra
+ $(call Package/ulogd/Default)
+ DEPENDS:=ulogd
+ TITLE:=Extra plugins
+endef
+
+PKG_BUILD_DEPENDS:=libnetfilter-acct libnetfilter-conntrack libnetfilter-log
+
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_PACKAGE_ulogd-mod-dbi \
+ CONFIG_PACKAGE_ulogd-mod-mysql \
+ CONFIG_PACKAGE_ulogd-mod-pgsql \
+ CONFIG_PACKAGE_ulogd-mod-sqlite \
+
+CONFIGURE_ARGS += \
+ --enable-nfacct \
+ --enable-nfct \
+ --enable-nflog \
+
+ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-dbi),)
+ CONFIGURE_ARGS += --with-dbi \
+ --with-dbi-inc=$(STAGING_DIR)/usr/include/dbi \
+ --with-dbi-lib=$(STAGING_DIR)/usr/lib
+else
+ CONFIGURE_ARGS += --without-dbi
+endif
+
+ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-mysql),)
+ CONFIGURE_ARGS += --with-mysql="$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS += --without-mysql
+endif
+
+ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-pgsql),)
+ CONFIGURE_ARGS += --with-pgsql="$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS += --without-pgsql
+endif
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_ulogd-mod-sqlite),)
+ CONFIGURE_ARGS += --with-sqlite="$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS += --without-sqlite
+endif
+
+define Package/ulogd/install
+ $(INSTALL_DIR) $(1)/etc
+ $(CP) $(PKG_BUILD_DIR)/ulogd.conf $(1)/etc/
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ulogd $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/usr/lib/ulogd
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_raw2packet_BASE.so $(1)/usr/lib/ulogd/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/ulogd.init $(1)/etc/init.d/ulogd
+endef
+
+define BuildPlugin
+ define Package/ulogd-mod-$(1)/install
+ $(INSTALL_DIR) $$(1)/usr/lib/ulogd
+ for m in $(2); do \
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_$$$$$$$${m}.so $$(1)/usr/lib/ulogd/ ; \
+ done
+ endef
+ $$(eval $$(call BuildPackage,ulogd-mod-$(1)))
+endef
+
+ULOGD_EXTRA_PLUGINS:= \
+ filter_HWHDR \
+ filter_IFINDEX \
+ filter_IP2BIN \
+ filter_IP2HBIN \
+ filter_IP2STR \
+ filter_MARK \
+ filter_PRINTFLOW \
+ filter_PRINTPKT \
+ filter_PWSNIFF \
+ inppkt_UNIXSOCK \
+ output_GPRINT \
+ output_GRAPHITE \
+ output_LOGEMU \
+ output_OPRINT \
+
+$(eval $(call BuildPackage,ulogd))
+$(eval $(call BuildPlugin,dbi,output_DBI))
+$(eval $(call BuildPlugin,mysql,output_MYSQL))
+$(eval $(call BuildPlugin,nfacct,inpflow_NFACCT))
+$(eval $(call BuildPlugin,nfct,inpflow_NFCT))
+$(eval $(call BuildPlugin,nflog,inppkt_NFLOG))
+$(eval $(call BuildPlugin,pcap,output_PCAP))
+$(eval $(call BuildPlugin,pgsql,output_PGSQL))
+$(eval $(call BuildPlugin,sqlite,output_SQLITE3))
+$(eval $(call BuildPlugin,syslog,output_SYSLOG))
+$(eval $(call BuildPlugin,xml,output_XML))
+$(eval $(call BuildPlugin,extra,$(ULOGD_EXTRA_PLUGINS)))