# $Id: Portfile 87104 2011-11-10 19:29:34Z snc@macports.org $

PortSystem 1.0

name             snort
version          2.9.1.2
categories       net
maintainers      markd
license          GPL-2
description      Open Source Network Intrusion Detection System
long_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, such as buffer overflows, stealth port scans, CGI \
    attacks, SMB probes, OS fingerprinting attempts, and much more.
homepage         http://www.snort.org/
platforms        darwin freebsd
master_sites     ${homepage}dl/snort-current/

checksums        rmd160  a28ebd59df80884e1554fb75a4279e97b1dd8b32 \
                 sha256  eac98be8138f9debdcc8f77061dab1950e88fa40c18311ddbab0a329852375f5

depends_lib      port:daq

startupitem.create  yes
startupitem.start   "${prefix}/share/${name}/snort.sh"
startupitem.stop    "/bin/kill \$(cat /var/run/snort_*.pid)"

variant mysql5 description {mysql 5 support} {
    depends_lib-append    path:bin/mysql_config5:mysql5
    configure.args-append   --with-mysql-includes=${prefix}/include/mysql5/mysql \
                            --with-mysql-libraries=${prefix}/lib/mysql5/mysql
}

variant mysql4 description {mysql 4 support} {
    depends_lib-append    port:mysql4
    configure.args-append --with-mysql=${prefix}
}

post-destroot {
# Copy the Snort database schemas
    xinstall -d -m 755 ${destroot}${prefix}/share/${name}/schemas
    eval xinstall -m 755 [glob ${worksrcpath}/schemas/create*] ${destroot}${prefix}/share/${name}/schemas

# Copy Snort's etc/ files
    xinstall -d -m 755 ${destroot}${prefix}/etc/${name}
    eval xinstall [glob ${worksrcpath}/etc/*.map] ${destroot}${prefix}/etc/${name}
    eval xinstall [glob ${worksrcpath}/etc/*.conf*] ${destroot}${prefix}/etc/${name}
    file rename ${destroot}${prefix}/etc/${name}/snort.conf ${destroot}${prefix}/etc/${name}/snort.conf.dist

# fix snort.conf.dist
    reinplace "s|dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/|dynamicpreprocessor directory ${prefix}/lib/snort_dynamicpreprocessor/|g" ${destroot}${prefix}/etc/${name}/snort.conf.dist
    reinplace "s|dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so|dynamicengine ${prefix}/lib/snort_dynamicengine/libsf_engine.dylib|g" ${destroot}${prefix}/etc/${name}/snort.conf.dist
    reinplace "s|dynamicdetection directory /usr/local/lib/snort_dynamicrule/|dynamicdetection directory ${prefix}/lib/snort_dynamicrule/|g" ${destroot}${prefix}/etc/${name}/snort.conf.dist
    reinplace "s|dynamicdetection file /usr/local/lib/snort_dynamicrule/libdynamicexamplerule.so|dynamicdetection file ${prefix}/lib/snort_dynamicrule/libdynamicexamplerule.dylib|g" ${destroot}${prefix}/etc/${name}/snort.conf.dist

    xinstall -m 755 ${filespath}/snort.sh \
        ${destroot}${prefix}/share/${name}/snort.sh
    reinplace "s|__PREFIX__|${prefix}|g" \
        ${destroot}${prefix}/share/${name}/snort.sh
}

notes "
            ***** File locations *****

The Snort database schemas -> ${prefix}/share/${name}/schemas
The snort.conf sample file -> ${prefix}/etc/${name}/snort.conf.dist (copy to snort.conf)

NOTE: Make sure you do not change the location of the snort.conf file\
or the startup scripts will not be able to find it.
"

livecheck.type      regex
livecheck.url       ${homepage}snort-downloads
livecheck.regex     >${name}-(\[0-9.\]+)${extract.suffix}<
