Merge pull request #4853 from StevenHessing/noddos
[feed/packages.git] / net / ulogd / Makefile
1 #
2 # Copyright (C) 2006-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=ulogd
11 PKG_VERSION:=2.0.5
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=ftp://ftp.netfilter.org/pub/ulogd/ \
16 ftp://ftp.be.netfilter.org/pub/netfilter/ulogd/ \
17 ftp://ftp.de.netfilter.org/pub/netfilter/ulogd/ \
18 ftp://ftp.no.netfilter.org/pub/netfilter/ulogd/
19 PKG_HASH:=a221cb9f77347c0ca00d0937e27c1b90e3291a553cc62a4139b788e2e420e8c0
20
21 PKG_LICENSE:=GPL-2.0
22 PKG_LICENSE_FILES:=COPYING
23 PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
24
25 PKG_FIXUP:=autoreconf
26 PKG_INSTALL:=1
27
28 include $(INCLUDE_DIR)/package.mk
29
30 define Package/ulogd/Default
31 SECTION:=net
32 CATEGORY:=Network
33 URL:=http://www.netfilter.org/projects/ulogd/index.html
34 endef
35
36 define Package/ulogd
37 $(call Package/ulogd/Default)
38 DEPENDS:=+libmnl +libnfnetlink +libpthread
39 TITLE:=Netfilter userspace logging daemon
40 MENU:=1
41 endef
42
43 define Package/ulogd/conffiles
44 /etc/ulogd.conf
45 endef
46
47 define Package/ulogd-mod-dbi
48 $(call Package/ulogd/Default)
49 DEPENDS:=ulogd +libdbi
50 TITLE:=Output plugin for logging to a database using libdbi
51 endef
52
53 define Package/ulogd-mod-json
54 $(call Package/ulogd/Default)
55 DEPENDS:=ulogd +jansson
56 TITLE:=JSON output plugin
57 endef
58
59 define Package/ulogd-mod-mysql
60 $(call Package/ulogd/Default)
61 DEPENDS:=ulogd +libmysqlclient
62 TITLE:=Output plugin for logging to a MySQL database
63 endef
64
65 define Package/ulogd-mod-nfacct
66 $(call Package/ulogd/Default)
67 DEPENDS:=ulogd +libnetfilter-acct
68 TITLE:=Input plugin for flow-based logging (accounting)
69 endef
70
71 define Package/ulogd-mod-nfct
72 $(call Package/ulogd/Default)
73 DEPENDS:=ulogd +libnetfilter-conntrack
74 TITLE:=Input plugin for flow-based logging (conntracking)
75 endef
76
77 define Package/ulogd-mod-nflog
78 $(call Package/ulogd/Default)
79 DEPENDS:=ulogd +libnetfilter-log
80 TITLE:=Input plugin using NFLOG
81 endef
82
83 define Package/ulogd-mod-pcap
84 $(call Package/ulogd/Default)
85 DEPENDS:=ulogd +libpcap
86 TITLE:=Output plugin for logging in pcap format
87 endef
88
89 define Package/ulogd-mod-pgsql
90 $(call Package/ulogd/Default)
91 DEPENDS:=ulogd +libpq
92 TITLE:=Output plugin for logging to a PostgreSQL database
93 endef
94
95 define Package/ulogd-mod-sqlite
96 $(call Package/ulogd/Default)
97 DEPENDS:=ulogd +libsqlite3
98 TITLE:=Output plugin for logging to an SQLite database
99 endef
100
101 define Package/ulogd-mod-syslog
102 $(call Package/ulogd/Default)
103 DEPENDS:=ulogd
104 TITLE:=Syslog output plugin
105 endef
106
107 define Package/ulogd-mod-xml
108 $(call Package/ulogd/Default)
109 DEPENDS:=ulogd +libnetfilter-acct +libnetfilter-conntrack +libnetfilter-log
110 TITLE:=XML output plugin
111 endef
112
113 define Package/ulogd-mod-extra
114 $(call Package/ulogd/Default)
115 DEPENDS:=ulogd
116 TITLE:=Extra plugins
117 endef
118
119 PKG_BUILD_DEPENDS:=libnetfilter-acct libnetfilter-conntrack libnetfilter-log
120
121 PKG_CONFIG_DEPENDS:= \
122 CONFIG_PACKAGE_ulogd-mod-dbi \
123 CONFIG_PACKAGE_ulogd-mod-mysql \
124 CONFIG_PACKAGE_ulogd-mod-pgsql \
125 CONFIG_PACKAGE_ulogd-mod-sqlite \
126
127 TARGET_CFLAGS += \
128 -D_GNU_SOURCE \
129
130 CONFIGURE_ARGS += \
131 --enable-nfacct \
132 --enable-nfct \
133 --enable-nflog \
134
135 ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-dbi),)
136 CONFIGURE_ARGS += --with-dbi \
137 --with-dbi-inc=$(STAGING_DIR)/usr/include/dbi \
138 --with-dbi-lib=$(STAGING_DIR)/usr/lib
139 else
140 CONFIGURE_ARGS += --without-dbi
141 endif
142
143 ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-mysql),)
144 CONFIGURE_ARGS += --with-mysql="$(STAGING_DIR)/usr"
145 else
146 CONFIGURE_ARGS += --without-mysql
147 endif
148
149 ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-pgsql),)
150 CONFIGURE_ARGS += --with-pgsql="$(STAGING_DIR)/usr"
151 else
152 CONFIGURE_ARGS += --without-pgsql
153 endif
154
155 ifneq ($(SDK)$(CONFIG_PACKAGE_ulogd-mod-sqlite),)
156 CONFIGURE_ARGS += --with-sqlite="$(STAGING_DIR)/usr"
157 else
158 CONFIGURE_ARGS += --without-sqlite
159 endif
160
161 define Package/ulogd/install
162 $(INSTALL_DIR) $(1)/etc
163 $(CP) $(PKG_BUILD_DIR)/ulogd.conf $(1)/etc/
164 $(INSTALL_DIR) $(1)/usr/sbin
165 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ulogd $(1)/usr/sbin/
166 $(INSTALL_DIR) $(1)/usr/lib/ulogd
167 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_raw2packet_BASE.so $(1)/usr/lib/ulogd/
168 $(INSTALL_DIR) $(1)/etc/init.d
169 $(INSTALL_BIN) ./files/ulogd.init $(1)/etc/init.d/ulogd
170 endef
171
172 define BuildPlugin
173 define Package/ulogd-mod-$(1)/install
174 $(INSTALL_DIR) $$(1)/usr/lib/ulogd
175 for m in $(2); do \
176 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_$$$$$$$${m}.so $$(1)/usr/lib/ulogd/ ; \
177 done
178 endef
179 $$(eval $$(call BuildPackage,ulogd-mod-$(1)))
180 endef
181
182 ULOGD_EXTRA_PLUGINS:= \
183 filter_HWHDR \
184 filter_IFINDEX \
185 filter_IP2BIN \
186 filter_IP2HBIN \
187 filter_IP2STR \
188 filter_MARK \
189 filter_PRINTFLOW \
190 filter_PRINTPKT \
191 filter_PWSNIFF \
192 inppkt_UNIXSOCK \
193 output_GPRINT \
194 output_GRAPHITE \
195 output_LOGEMU \
196 output_OPRINT \
197
198 $(eval $(call BuildPackage,ulogd))
199 $(eval $(call BuildPlugin,dbi,output_DBI))
200 $(eval $(call BuildPlugin,json,output_JSON))
201 $(eval $(call BuildPlugin,mysql,output_MYSQL))
202 $(eval $(call BuildPlugin,nfacct,inpflow_NFACCT))
203 $(eval $(call BuildPlugin,nfct,inpflow_NFCT))
204 $(eval $(call BuildPlugin,nflog,inppkt_NFLOG))
205 $(eval $(call BuildPlugin,pcap,output_PCAP))
206 $(eval $(call BuildPlugin,pgsql,output_PGSQL))
207 $(eval $(call BuildPlugin,sqlite,output_SQLITE3))
208 $(eval $(call BuildPlugin,syslog,output_SYSLOG))
209 $(eval $(call BuildPlugin,xml,output_XML))
210 $(eval $(call BuildPlugin,extra,$(ULOGD_EXTRA_PLUGINS)))