2 # Copyright (C) 2006 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
9 include $(TOPDIR)/rules.mk
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://www.snort.org/dl/current/
17 PKG_MD5SUM:=9dc9060d1f2e248663eceffadfc45e7e
20 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
21 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
23 include $(INCLUDE_DIR)/package.mk
25 define Package/snort/Default
26 SUBMENU:=snort (Ligthweight Network Intrusion Detection System)
29 DEPENDS:=+libnet0 +libpcap +libpcre
30 TITLE:=Ligthweight Network Intrusion Detection System
31 URL:=http://www.snort.org/
35 $(call Package/snort/Default)
38 define Package/snort-mysql
39 $(call Package/snort/Default)
40 DEPENDS+= +libmysqlclient
44 define Package/snort-pgsql
45 $(call Package/snort/Default)
52 CONFIG_PACKAGE_snort:=m
53 CONFIG_PACKAGE_snort-mysql:=m
54 CONFIG_PACKAGE_snort-pgsql:=m
57 define Compile/Template
59 $(PKG_BUILD_DIR)/snort-$(1): $(PKG_BUILD_DIR)/.configured
60 touch -r $(PKG_BUILD_DIR)/Makefile.am $(PKG_BUILD_DIR)/configure.in
61 touch -r $(PKG_BUILD_DIR)/Makefile.in $(PKG_BUILD_DIR)/configure
62 -$(MAKE) -C $(PKG_BUILD_DIR) distclean
63 $(call Build/Configure/Default, \
65 --with-libnet-includes="$(STAGING_DIR)/usr/lib/libnet-1.0.x/include" \
66 --with-libnet-libraries="$(STAGING_DIR)/usr/lib/libnet-1.0.x/lib" \
67 --with-libpcap-includes="$(STAGING_DIR)/usr/include" \
68 --with-libpcap-libraries="$(STAGING_DIR)/usr/lib" \
69 --with-libpcre-includes="$(STAGING_DIR)/usr/include" \
70 --with-libpcre-libraries="$(STAGING_DIR)/usr/lib" \
73 CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/mysql" \
74 LDFLAGS="$$$$LDFLAGS -L$(STAGING_DIR)/usr/lib/mysql" \
75 PATH="$(STAGING_DIR)/usr/lib/libnet-1.0.x/bin:$$$$PATH" \
78 $(MAKE) -C $(PKG_BUILD_DIR) \
81 mv $(PKG_BUILD_DIR)/src/snort $(PKG_BUILD_DIR)/snort-$(1)
83 $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/snort-$(1)
88 define Install/Template
90 define Package/$(1)/conffiles
93 /etc/snort/threshold.conf
96 define Package/$(1)/install
97 $(INSTALL_DIR) $$(1)/usr/sbin
98 $(INSTALL_BIN) $(PKG_BUILD_DIR)/snort-$(2) $$(1)/usr/sbin/snort
99 $(INSTALL_DIR) $$(1)/etc/snort
100 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/snort.conf $$(1)/etc/snort/
101 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/classification.config $$(1)/etc/snort/
102 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/gen-msg.map $$(1)/etc/snort/
103 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/reference.config $$(1)/etc/snort/
104 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/sid-msg.map $$(1)/etc/snort/
105 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/threshold.conf $$(1)/etc/snort/
106 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/unicode.map $$(1)/etc/snort/
107 $(INSTALL_DIR) $$(1)/etc/default
108 $(INSTALL_DATA) ./files/snort.default $$(1)/etc/default/snort
109 $(INSTALL_DIR) $$(1)/etc/init.d
110 $(INSTALL_BIN) ./files/snort.init $$(1)/etc/init.d/snort
116 ifneq ($(CONFIG_PACKAGE_snort),)
117 $(eval $(call Compile/Template,basic, \
119 --without-postgresql \
121 $(eval $(call Install/Template,snort,basic))
123 ifneq ($(CONFIG_PACKAGE_snort-mysql),)
124 $(eval $(call Compile/Template,mysql, \
125 --with-mysql="$(STAGING_DIR)/usr" \
126 --without-postgresql \
128 $(eval $(call Install/Template,snort-mysql,mysql))
130 ifneq ($(CONFIG_PACKAGE_snort-pgsql),)
131 $(eval $(call Compile/Template,pgsql, \
133 --with-postgresql="$(STAGING_DIR)/usr" \
135 $(eval $(call Install/Template,snort-pgsql,pgsql))
138 define Build/Configure
144 $(eval $(call BuildPackage,snort))
145 $(eval $(call BuildPackage,snort-mysql))
146 $(eval $(call BuildPackage,snort-pgsql))