SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "snort-mysql"

# SliTaz package receipt.

PACKAGE="snort-mysql"
VERSION="2.9.4"
CATEGORY="network"
SHORT_DESC="Network intrusion prevention and detection system (IDS/IPS) with MySQL support."
MAINTAINER="pascal.bellard@slitaz.org"
LICENSE="GPL2"
TARBALL="$PACKAGE-$VERSION.tar.gz"
WEB_SITE="https://github.com/snort3/snort3"
WGET_URL="https://download.tuxfamily.org/slitaz/sources/packages-cooking/${TARBALL:0:1}/$TARBALL"
DEPENDS="pcre libdnet libdaq libmysqlclient"
BUILD_DEPENDS="pcre-dev libpcap-dev libdaq-dev libdnet-dev wget zlib-dev \
mysql-dev flex"

# What is the latest version available today?
current_version()
{
    wget -O - https://www.snort.org/downloads 2>/dev/null | \
    sed '/tar.gz/!d;/snort[0-9]*-[0-9]/!d;s|.*snort[0-9]*-||;s|.t.*||' | sort -Vr | sed q
}

# Rules to configure and make the package.
compile_rules()
{
    ./configure \
        --prefix=/usr \
        --with-mysql \
        --enable-dynamicplugin \
        --enable-perfprofiling \
        --enable-zlib \
        --enable-reload \
        $CONFIGURE_ARGS &&
    make &&
    make DESTDIR=$DESTDIR install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    mkdir -p \
        $fs/usr/lib \
        $fs/etc/snort/rules \
        $fs/usr/share/snort/schemas \
        $fs/var/log/snort

    cp -a $install/usr/bin $fs/usr
    cp -a $install/usr/lib/snort_dynamic* $fs/usr/lib

    cp -a $src/etc/*.conf* $fs/etc/snort
    cp -a $src/etc/*.map $fs/etc/snort
    cp -a $src/schemas/create_mysql  $fs/usr/share/snort/schemas

    # Remove unwanted files
    rm -f $fs/usr/lib/*/*.*a
}

# Post install commands
post_install()
{
    local db_name=snort
    local db_pass=snort
    local db_schema=/usr/share/snort/create_mysql

    newline

    # addgroup snort if needed
    if ! grep -q snort "$1/etc/group"; then
        action 'Adding group snort...'
        chroot "$1/" /bin/addgroup snort
        status
    fi
    # adduser snort if needed
    if ! grep -q 'snort:' "$1/etc/passwd"; then
        action 'Adding user snort...'
        chroot "$1/" /bin/adduser -s /bin/false -h /dev/null \
            -g "Snort Daemon user" -H -D -S -G snort snort
        status
    fi
    chroot "$1/" chown snort.snort /var/log/snort 

    # Create database
    if [ -z "$1" ]; then
        if ( ! mysqladmin -s ping > /dev/null ); then
            echo 'Starting MySQL server'
            ( /etc/init.d/mysql start ; status  ) || exit
            sleep 4 #let the mysql daemon start
        fi
        if ( ! mysql -u root -Be 'show databases' | grep -q $db_name ); then
            action 'Create $db_name database'
            mysql -Be "create database $db_name"
            status
            # We suppose that user does not exist.
            # It may be false.
            action 'Create user $db_user with password $db_pass'
            mysql -Be "grant all privileges on glpi.* to $db_user@'localhost' identified by '$db_pass'"
            status
            # At last create the database for package
            action 'Create $db_name database schema.'
            mysql -u $db_user -p${db_pass} $db_name < $db_schema
            status
        fi
    fi
}
6025 packages and 203154 files in current database (Thu Apr 25 06:17:47 2024)