2 # Copyright (C) 2006-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.pmacct.net/
16 PKG_MD5SUM:=3d10f9301a17f034a0f221490a99a5d0
18 PKG_BUILD_DEPENDS:=libpcap
20 include $(INCLUDE_DIR)/package.mk
22 define Package/pmacct/Default
24 CATEGORY:=Administration
26 URL:=http://www.pmacct.net/
29 define Package/nfacctd/Default
30 $(call Package/pmacct/Default)
31 TITLE:=NetFlow accounting daemon
34 define Package/nfacctd
35 $(call Package/nfacctd/Default)
38 define Package/nfacctd-mysql
39 $(call Package/nfacctd/Default)
40 TITLE+= with MySQL support
41 DEPENDS+= +libmysqlclient
44 define Package/nfacctd-pgsql
45 $(call Package/nfacctd/Default)
46 TITLE+= with PostreSQL support
50 define Package/nfacctd-sqlite
51 $(call Package/nfacctd/Default)
52 TITLE+= with SQLite support
56 define Package/pmacctd/Default
57 $(call Package/pmacct/Default)
59 TITLE:=IP pcap-based accounting daemon
62 define Package/pmacctd
63 $(call Package/pmacctd/Default)
66 define Package/pmacctd-mysql
67 $(call Package/pmacctd/Default)
68 TITLE+= with MySQL support
69 DEPENDS+= +libmysqlclient
72 define Package/pmacctd-pgsql
73 $(call Package/pmacctd/Default)
74 TITLE+= with PostreSQL support
78 define Package/pmacctd-sqlite
79 $(call Package/pmacctd/Default)
80 TITLE+= with SQLite support
84 define Package/uacctd/Default
85 $(call Package/pmacct/Default)
86 DEPENDS+= +iptables-mod-ulog
87 TITLE:=ulog accounting daemon
91 $(call Package/pmacctd/Default)
94 define Package/uacctd-mysql
95 $(call Package/pmacctd/Default)
96 TITLE+= with MySQL support
97 DEPENDS+= +libmysqlclient
100 define Package/uacctd-pgsql
101 $(call Package/pmacctd/Default)
102 TITLE+= with PostreSQL support
106 define Package/uacctd-sqlite
107 $(call Package/pmacctd/Default)
108 TITLE+= with SQLite support
109 DEPENDS+= +libsqlite3
112 define Package/pmacct-client
113 $(call Package/pmacct/Default)
114 TITLE:=Command-line client to gather data from the IMT plugin
117 define Compile/Template
119 $(PKG_BUILD_DIR)/nfacctd$(1) $(PKG_BUILD_DIR)/pmacctd$(1) $(PKG_BUILD_DIR)/uacctd$(1): $(STAMP_CONFIGURED)
120 -$(MAKE) -C $(PKG_BUILD_DIR) distclean
121 $(call Build/Configure/Default, \
122 --with-pcap-includes="$(STAGING_DIR)/usr/include" \
123 --with-pcap-libs="$(STAGING_DIR)/usr/lib" \
130 $(MAKE) -C $(PKG_BUILD_DIR) \
132 mv -f $(PKG_BUILD_DIR)/src/nfacctd $(PKG_BUILD_DIR)/nfacctd$(1)
133 mv -f $(PKG_BUILD_DIR)/src/pmacctd $(PKG_BUILD_DIR)/pmacctd$(1)
134 mv -f $(PKG_BUILD_DIR)/src/uacctd $(PKG_BUILD_DIR)/uacctd$(1)
136 $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/nfacctd$(1) $(PKG_BUILD_DIR)/pmacctd$(1) $(PKG_BUILD_DIR)/uacctd$(1)
141 define Install/Template
143 define Package/$(1)$(2)/conffiles
148 define Package/$(1)$(2)/install
149 $(INSTALL_DIR) $$(1)/usr/sbin
150 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(1)$(2) $$(1)/usr/sbin/$(1)
151 $(INSTALL_DIR) $$(1)/etc
152 $(INSTALL_DATA) ./files/$(1).conf $$(1)/etc/
153 $(INSTALL_DIR) $$(1)/etc/default
154 $(INSTALL_DATA) ./files/$(1).default $$(1)/etc/default/$(1)
155 $(INSTALL_DIR) $$(1)/etc/init.d
156 $(INSTALL_BIN) ./files/$(1).init $$(1)/etc/init.d/$(1)
161 ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd)$(CONFIG_PACKAGE_pmacctd)$(CONFIG_PACKAGE_uacctd),)
162 define Compile/pmacct/basic
163 $(call Compile/Template,, \
168 $(call Install/Template,nfacctd,)
169 $(call Install/Template,pmacctd,)
170 $(call Install/Template,uacctd,)
173 $(eval $(Compile/pmacct/basic))
175 ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd-mysql)$(CONFIG_PACKAGE_pmacctd-mysql)$(CONFIG_PACKAGE_uacctd-mysql),)
176 define Compile/pmacct/mysql
177 $(call Compile/Template,-mysql, \
179 --with-mysql-includes="$(STAGING_DIR)/usr/include" \
180 --with-mysql-libs="$(STAGING_DIR)/usr/lib/mysql" \
182 $(call Install/Template,nfacctd,-mysql)
183 $(call Install/Template,pmacctd,-mysql)
184 $(call Install/Template,uacctd,-mysql)
187 $(eval $(Compile/pmacct/mysql))
189 ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd-pgsql)$(CONFIG_PACKAGE_pmacctd-pgsql)$(CONFIG_PACKAGE_uacctd-pgsql),)
190 define Compile/pmacct/pgsql
191 $(call Compile/Template,-pgsql, \
193 --with-pgsql-includes="$(STAGING_DIR)/usr/include" \
194 --with-pgsql-libs="$(STAGING_DIR)/usr/lib" \
196 $(call Install/Template,nfacctd,-pgsql)
197 $(call Install/Template,pmacctd,-pgsql)
198 $(call Install/Template,uacctd,-pgsql)
201 $(eval $(Compile/pmacct/pgsql))
203 ifneq ($(SDK)$(CONFIG_PACKAGE_nfacctd-sqlite)$(CONFIG_PACKAGE_pmacctd-sqlite)$(CONFIG_PACKAGE_uacctd-sqlite),)
204 define Compile/pmacct/sqlite
205 $(call Compile/Template,-sqlite, \
207 --with-sqlite3-includes="$(STAGING_DIR)/usr/include" \
208 --with-sqlite3-libs="$(STAGING_DIR)/usr/lib" \
210 $(call Install/Template,nfacctd,-sqlite)
211 $(call Install/Template,pmacctd,-sqlite)
212 $(call Install/Template,uacctd,-sqlite)
215 $(eval $(Compile/pmacct/sqlite))
217 define Build/Configure
223 define Package/pmacct-client/install
224 $(INSTALL_DIR) $(1)/usr/sbin
225 $(CP) $(PKG_BUILD_DIR)/src/pmacct $(1)/usr/sbin/
228 $(eval $(call BuildPackage,nfacctd))
229 $(eval $(call BuildPackage,nfacctd-mysql))
230 $(eval $(call BuildPackage,nfacctd-pgsql))
231 $(eval $(call BuildPackage,nfacctd-sqlite))
232 $(eval $(call BuildPackage,pmacctd))
233 $(eval $(call BuildPackage,pmacctd-mysql))
234 $(eval $(call BuildPackage,pmacctd-pgsql))
235 $(eval $(call BuildPackage,pmacctd-sqlite))
236 $(eval $(call BuildPackage,pmacct-client))
237 $(eval $(call BuildPackage,uacctd))
238 $(eval $(call BuildPackage,uacctd-mysql))
239 $(eval $(call BuildPackage,uacctd-pgsql))
240 $(eval $(call BuildPackage,uacctd-sqlite))