From 8e5a9c781f37c7508b2f7dd50f21913e14fb3f3a Mon Sep 17 00:00:00 2001 From: rhatto Date: Tue, 6 Mar 2007 13:31:25 +0000 Subject: added snort git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@1087 370017ae-e619-0410-ac65-c121f96126d4 --- net/analyzer/snort/doinst.sh | 23 ++++++ net/analyzer/snort/snort.SlackBuild | 135 ++++++++++++++++++++++++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 net/analyzer/snort/doinst.sh create mode 100755 net/analyzer/snort/snort.SlackBuild (limited to 'net') diff --git a/net/analyzer/snort/doinst.sh b/net/analyzer/snort/doinst.sh new file mode 100644 index 00000000..5e142bb4 --- /dev/null +++ b/net/analyzer/snort/doinst.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# got it from http://www.slacky.it/repository/slackware/slackware-11.0/network/snort/2.6.1.3/src/doinst.sh + +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/classification.config.new +config etc/gen-msg.map.new +config etc/generators.new +config etc/reference.config.new +config etc/sid.new +config etc/sid-msg.map.new +config etc/snort.conf.new +config etc/threshold.conf.new +config etc/unicode.map.new diff --git a/net/analyzer/snort/snort.SlackBuild b/net/analyzer/snort/snort.SlackBuild new file mode 100755 index 00000000..5f15f70b --- /dev/null +++ b/net/analyzer/snort/snort.SlackBuild @@ -0,0 +1,135 @@ +#!/bin/bash +# +# slackbuild script for snort +# by rhatto at riseup.net +# + +if [ -s "slack-required" ]; then + echo Recomended and required packages for building snort are: + cat slack-required | sed -e 's/^/\t/' + if [ "$INTERACT" != "no" ]; then + echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER. + read crap +# else +# echo Sleeping 3 seconds... +# sleep 3 + fi +fi + +CWD="`pwd`" + +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# default settings +PACKAGE="snort" +ARCH=${ARCH:=i486} +VERSION=${VERSION:=2.6.1.3} +BUILD=${BUILD:=1rha} +SRC_DIR=${SRC:=$CWD} +TMP=${TMP:=/tmp} +REPOS=${REPOS:=$TMP} + +if [ "$ARCH" == "x86_64" ]; then + export LDFLAGS="-L/lib64 -L/usr/lib64" + LIBDIR=/usr/lib64 +else + LIBDIR=/usr/lib +fi + +# ------- error codes for createpkg -------------- +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40 + +RTOOL="wget" +PACKAGE_EXT="gz" +SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT" +URL="http://www.snort.org/dl/current/$SRC" + +SRC_DIR="$SRC_DIR/$PACKAGE" +mkdir -p $SRC_DIR + +if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi + +TMP="$TMP/$PACKAGE" +rm -rf $TMP +mkdir -p $TMP +cd $TMP + +tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR +cd $PACKAGE-$VERSION + +if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then + patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH +fi + +./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR \ + --localstatedir=/var --enable-pthread \ + --enable-linux-smp-stats --with-mysql \ + --disable-dynamicplugin || exit $ERROR_CONF + +make || exit $ERROR_MAKE +make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL + +mkdir -p $TMP/package-$PACKAGE/install +cp $CWD/doinst.sh $TMP/package-$PACKAGE/install + +CWD="`pwd`" + +cd $TMP/package-$PACKAGE + +find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p etc/snort + +CFG="snort.conf reference.config threshold.conf classification.config gen-msg.map generators sid sid.new sid-msg.map unicode.map" + +for file in $CFG; do + cp $CWD/etc/$CFG > etc/snort/$CFG.new +done + +cat << EOF > install/slack-desc +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +snort: snort +snort: +snort: Snort is an open source network intrusion prevention and detection +snort: system utilizing a rule-driven language, which combines the benefits +snort: of signature, protocol and anomaly based inspection methods. With +snort: millions of downloads to date, Snort is the most widely deployed +snort: intrusion detection and prevention technology worldwide and has +snort: become the de facto standard for the industry. +snort: +snort: +snort: +EOF + +# docs +mkdir -p usr/doc/$PACKAGE-$VERSION + +DOCS="COPYING ChangeLog LICENSE RELEASE.NOTES" + +for file in $DOCS; do + cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/ +done + +makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG + +if [ "$CLEANUP" == "yes" ]; then + rm -rf $TMP +fi + -- cgit v1.2.3