You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

207 lines
5.2 KiB

#
# 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_FILES:=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-json
$(call Package/ulogd/Default)
DEPENDS:=ulogd +jansson
TITLE:=JSON output plugin
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,json,output_JSON))
$(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)))