ulogd: import from old packages feed
authorNicolas Thill <nico@openwrt.org>
Sat, 23 Aug 2014 09:18:13 +0000 (11:18 +0200)
committerNicolas Thill <nico@openwrt.org>
Sat, 23 Aug 2014 09:18:13 +0000 (11:18 +0200)
 - update to latest version (v2.0.4)
 - use PKG_INSTALL
 - add DBI plugin
 - convert init script to procd
 - add license info
 - add myself as maintainer

Signed-off-by: Nicolas Thill <nico@openwrt.org>
net/ulogd/Makefile [new file with mode: 0644]
net/ulogd/files/ulogd.init [new file with mode: 0644]

diff --git a/net/ulogd/Makefile b/net/ulogd/Makefile
new file mode 100644 (file)
index 0000000..375712b
--- /dev/null
@@ -0,0 +1,200 @@
+#
+# 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)))
diff --git a/net/ulogd/files/ulogd.init b/net/ulogd/files/ulogd.init
new file mode 100644 (file)
index 0000000..3650322
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2014 OpenWrt.org
+
+START=20
+
+USE_PROCD=1
+
+start_service() {
+       procd_open_instance
+       procd_set_param command /usr/sbin/ulogd
+       procd_close_instance
+}