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