-#
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=snort
-PKG_VERSION:=2.4.4
-PKG_RELEASE:=1
+PKG_VERSION:=2.8.4.1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.snort.org/dl/current/
-PKG_MD5SUM:=9dc9060d1f2e248663eceffadfc45e7e
-PKG_CAT:=zcat
+PKG_SOURCE_URL:=http://dl.snort.org/snort-current/
+PKG_MD5SUM:=63f4e76ae96a2d133f4c7b741bad5458
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP:=libtool
include $(INCLUDE_DIR)/package.mk
URL:=http://www.snort.org/
endef
+define Package/snort/Default/description
+ Snort is an open source network intrusion detection and prevention system.
+ It is capable of performing real-time traffic analysis, alerting, blocking
+ and packet logging on IP networks. It utilizes a combination of protocol
+ analysis and pattern matching in order to detect anomalies, misuse and
+ attacks.
+endef
+
define Package/snort
$(call Package/snort/Default)
endef
+define Package/snort/description
+ $(call Package/snort/Default/description)
+endef
+
define Package/snort-mysql
$(call Package/snort/Default)
DEPENDS+= +libmysqlclient
TITLE+= (MySQL)
endef
+define Package/snort-mysql/description
+ $(call Package/snort/Default/description)
+ This package contains snort with support for logging to a MySQL database.
+endef
+
define Package/snort-pgsql
$(call Package/snort/Default)
DEPENDS+= +libpq
TITLE+= (PostgreSQL)
endef
-
-ifneq ($(SDK),)
- CONFIG_PACKAGE_snort:=m
- CONFIG_PACKAGE_snort-mysql:=m
- CONFIG_PACKAGE_snort-pgsql:=m
-endif
+define Package/snort-pgsql/description
+ $(call Package/snort/Default/description)
+ This package contains snort with support for logging to a PostgreSQL database.
+endef
define Compile/Template
-$(PKG_BUILD_DIR)/snort-$(1): $(PKG_BUILD_DIR)/.configured
+$(PKG_BUILD_DIR)/snort$(1): $(STAMP_CONFIGURED)
touch -r $(PKG_BUILD_DIR)/Makefile.am $(PKG_BUILD_DIR)/configure.in
touch -r $(PKG_BUILD_DIR)/Makefile.in $(PKG_BUILD_DIR)/configure
-$(MAKE) -C $(PKG_BUILD_DIR) distclean
$(MAKE) -C $(PKG_BUILD_DIR) \
extra_incl="" \
all
- mv $(PKG_BUILD_DIR)/src/snort $(PKG_BUILD_DIR)/snort-$(1)
+ mv $(PKG_BUILD_DIR)/src/snort $(PKG_BUILD_DIR)/snort$(1)
-$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/snort-$(1)
+$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/snort$(1)
endef
define Install/Template
-define Package/$(1)/conffiles
+define Package/snort$(1)/conffiles
/etc/default/snort
/etc/snort/snort.conf
/etc/snort/threshold.conf
endef
-define Package/$(1)/install
- install -d -m0755 $$(1)/usr/sbin
- install -m0755 $(PKG_BUILD_DIR)/snort-$(2) $$(1)/usr/sbin/snort
- install -d -m0755 $$(1)/etc/snort
- install -m0644 $(PKG_BUILD_DIR)/etc/snort.conf $$(1)/etc/snort/
- install -m0644 $(PKG_BUILD_DIR)/etc/classification.config $$(1)/etc/snort/
- install -m0644 $(PKG_BUILD_DIR)/etc/gen-msg.map $$(1)/etc/snort/
- install -m0644 $(PKG_BUILD_DIR)/etc/reference.config $$(1)/etc/snort/
- install -m0644 $(PKG_BUILD_DIR)/etc/sid-msg.map $$(1)/etc/snort/
- install -m0644 $(PKG_BUILD_DIR)/etc/threshold.conf $$(1)/etc/snort/
- install -m0644 $(PKG_BUILD_DIR)/etc/unicode.map $$(1)/etc/snort/
- install -d -m0755 $$(1)/etc/default
- install -m0644 ./files/snort.default $$(1)/etc/default/snort
- install -d -m0755 $$(1)/etc/init.d
- install -m0755 ./files/snort.init $$(1)/etc/init.d/snort
+define Package/snort$(1)/install
+ $(INSTALL_DIR) $$(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/snort$(1) $$(1)/usr/sbin/snort
+ $(INSTALL_DIR) $$(1)/etc/snort
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/snort.conf $$(1)/etc/snort/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/classification.config $$(1)/etc/snort/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/gen-msg.map $$(1)/etc/snort/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/reference.config $$(1)/etc/snort/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/sid-msg.map $$(1)/etc/snort/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/threshold.conf $$(1)/etc/snort/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/unicode.map $$(1)/etc/snort/
+ $(INSTALL_DIR) $$(1)/etc/default
+ $(INSTALL_DATA) ./files/snort.default $$(1)/etc/default/snort
+ $(INSTALL_DIR) $$(1)/etc/init.d
+ $(INSTALL_BIN) ./files/snort.init $$(1)/etc/init.d/snort
endef
endef
-ifneq ($(CONFIG_PACKAGE_snort),)
- $(eval $(call Compile/Template,basic, \
+ifneq ($(SDK)$(CONFIG_PACKAGE_snort),)
+ define Compile/snort
+ $(call Compile/Template,, \
--without-mysql \
--without-postgresql \
- ))
- $(eval $(call Install/Template,snort,basic))
+ )
+ $(call Install/Template,)
+ endef
endif
-ifneq ($(CONFIG_PACKAGE_snort-mysql),)
- $(eval $(call Compile/Template,mysql, \
+$(eval $(Compile/snort))
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_snort-mysql),)
+ define Compile/snort-mysql
+ $(call Compile/Template,-mysql, \
--with-mysql="$(STAGING_DIR)/usr" \
--without-postgresql \
- ))
- $(eval $(call Install/Template,snort-mysql,mysql))
+ )
+ $(call Install/Template,-mysql)
+ endef
endif
-ifneq ($(CONFIG_PACKAGE_snort-pgsql),)
- $(eval $(call Compile/Template,pgsql, \
+$(eval $(Compile/snort-mysql))
+
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_snort-pgsql),)
+ define Compile/snort-pgsql
+ $(call Compile/Template,-pgsql, \
--without-mysql \
--with-postgresql="$(STAGING_DIR)/usr" \
- ))
- $(eval $(call Install/Template,snort-pgsql,pgsql))
+ )
+ $(call Install/Template,-pgsql)
+ endef
endif
+$(eval $(Compile/snort-pgsql))
define Build/Configure
endef