##
## snort.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2005 The OpenPKG Project
## Copyright (c) 2000-2005 Ralf S. Engelschall
## Copyright (c) 2000-2005 Cable & Wireless
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package information
Name: snort
Summary: Network Intrusion Detection System
URL: http://www.snort.org/
Vendor: B. Caswell, M. Roesch
Packager: The OpenPKG Project
Distribution: OpenPKG
Class: PLUS
Group: Network
License: GPL
Version: 2.3.1
Release: 20050310
# package options
%option with_mysql no
%option with_pgsql no
# list of sources
Source0: http://www.snort.org/dl/current/snort-%{version}.tar.gz
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, make, gcc
PreReq: OpenPKG, openpkg >= 20040130
BuildPreReq: libpcap, libnet, pcre
PreReq: libpcap, libnet, pcre
%if "%{with_mysql}" == "yes"
BuildPreReq: mysql
PreReq: mysql
%endif
%if "%{with_pgsql}" == "yes"
BuildPreReq: postgresql
PreReq: postgresql
%endif
AutoReq: no
AutoReqProv: no
%description
Snort is an open source network intrusion detection system,
capable of performing real-time traffic analysis and packet
logging on IP networks. It can perform protocol analysis, content
searching/matching and can be used to detect a variety of attacks
and probes. Snort uses a flexible rules language to describe traffic
that it should collect or pass, as well as a detection engine that
utilizes a modular plugin architecture. Snort has a real-time
alerting capability as well. Snort has three primary uses. It can be
used as a straight packet sniffer like tcpdump(1), a packet logger
(useful for network traffic debugging, etc), or as a full blown
network intrusion detection system.
%track
prog snort = {
version = %{version}
url = http://www.snort.org/dl/
regex = snort-(\d+\.\d+\.\d+)\.tar\.gz
}
%prep
%setup -q
%build
LIBS=""
%if "%{with_pgsql}" == "yes"
LIBS="$LIBS -lpq -lcrypt -lssl -lcrypto"
%endif
case "%{l_platform -t}" in
*-sunos* ) LIBS="$LIBS -lresolv" ;;
esac
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
CPPFLAGS="%{l_cppflags}" \
LDFLAGS="%{l_ldflags}" \
LIBS="$LIBS" \
./configure \
--prefix=%{l_prefix} \
--sysconfdir=%{l_prefix}/etc/snort \
%if "%{with_mysql}" == "yes"
--with-mysql=%{l_prefix} \
%else
--without-mysql \
%endif
%if "%{with_pgsql}" == "yes"
--with-postgresql=%{l_prefix} \
%else
--without-postgresql \
%endif
--with-libpcap-includes=%{l_prefix}/include \
--with-libpcap-libraries=%{l_prefix}/lib \
--with-libnet-includes=%{l_prefix}/include \
--with-libnet-libraries=%{l_prefix}/lib
%{l_make} %{l_mflags -O}
%install
rm -rf $RPM_BUILD_ROOT
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/sbin \
$RPM_BUILD_ROOT%{l_prefix}/man/man8 \
$RPM_BUILD_ROOT%{l_prefix}/etc/snort \
$RPM_BUILD_ROOT%{l_prefix}/share/snort/rules
%{l_shtool} install -c -s -m 755 \
src/snort $RPM_BUILD_ROOT%{l_prefix}/sbin/
%{l_shtool} install -c -m 644 \
snort.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/
%{l_shtool} install -c -m 644 \
rules/*.rules $RPM_BUILD_ROOT%{l_prefix}/share/snort/rules/
%{l_shtool} install -c -m 644 \
-e 's;\(var RULE_PATH\).*;\1 %{l_prefix}/share/snort/rules;g' \
etc/snort.conf $RPM_BUILD_ROOT%{l_prefix}/etc/snort/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT