# # Copyright (C) 2006-2015 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.5 PKG_RELEASE:=2 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_HASH:=a221cb9f77347c0ca00d0937e27c1b90e3291a553cc62a4139b788e2e420e8c0 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING PKG_MAINTAINER:=Nicolas Thill 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 +PACKAGE_ulogd-mod-dbi:libdbi TITLE:=Output plugin for logging to a database using libdbi endef define Package/ulogd-mod-json $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-json:jansson TITLE:=JSON output plugin endef define Package/ulogd-mod-mysql $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-mysql:libmysqlclient TITLE:=Output plugin for logging to a MySQL database endef define Package/ulogd-mod-nfacct $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-nfacct:libnetfilter-acct TITLE:=Input plugin for flow-based logging (accounting) endef define Package/ulogd-mod-nfct $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-nfct:libnetfilter-conntrack TITLE:=Input plugin for flow-based logging (conntracking) endef define Package/ulogd-mod-nflog $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-nflog:libnetfilter-log TITLE:=Input plugin using NFLOG endef define Package/ulogd-mod-pcap $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-pcap:libpcap TITLE:=Output plugin for logging in pcap format endef define Package/ulogd-mod-pgsql $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-pgsql:libpq TITLE:=Output plugin for logging to a PostgreSQL database endef define Package/ulogd-mod-sqlite $(call Package/ulogd/Default) DEPENDS:=ulogd +PACKAGE_ulogd-mod-sqlite: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 +PACKAGE_ulogd-mod-xml:libnetfilter-acct +PACKAGE_ulogd-mod-xml:libnetfilter-conntrack +PACKAGE_ulogd-mod-xml: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 \ TARGET_CFLAGS += \ -D_GNU_SOURCE \ 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)))