# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 88332 2011-12-28 22:56:17Z ryandesign@macports.org $

PortSystem          1.0

name                tripwire
version             2.4.1.2
revision            2
categories          security
platforms           darwin
maintainers         nomaintainer

description         integrity assurance and intrusion detection tool

long_description    Tripwire software is a tool that checks to see what \
                    has changed on your system. The program monitors key \
                    attributes of files that should not change, \
                    including binary signature, size, expected change of \
                    size, etc.  Tripwire is originally known as an \
                    intrusion detection tool, but can be used for many \
                    other purposes such as integrity assurance, change \
                    management, policy compliance and more.

homepage            http://sourceforge.net/projects/tripwire/
master_sites        sourceforge:${name}
use_bzip2           yes
distname            ${distname}-src

checksums           md5     8a1147c278b528ed593023912c4b649a

depends_lib         port:openssl

use_autoreconf      yes

patchfiles          patch-Makefile.am    \
                    patch-platform.h     \
                    patch-aclocal.m4     \
                    patch-configure.in   \
                    patch-configure      \
                    patch-install.cfg    \
                    patch-install.sh 

post-patch {
    file attributes ${worksrcpath}/configure -permissions +x
}

if {${configure.compiler} == "clang"} {
    configure.compiler llvm-gcc-4.2
}

pre-configure {
    system "cd ${worksrcpath} && aclocal"
}

configure.args      --sysconfdir="${prefix}/etc/${name}" \
                    --mandir="${prefix}/share/man"

# Installation locations
set bindir          "${prefix}/sbin"
set sysconfdir      "${prefix}/etc/${name}"
set vardbdir        "${prefix}/var/db/${name}"
set docdir          "${prefix}/share/doc/${name}"
if {[variant_isset anacron]} {
    set crondir     "${prefix}/etc/cron.daily"
} else {
    set crondir     "${docdir}"
}

destroot.keepdirs   ${destroot}${vardbdir}/report

post-destroot {
    # Install setup script for post installation configuration
    xinstall -m 0744 ${filespath}/twsetup.sh.in \
        ${destroot}${sysconfdir}/twsetup.sh
    # Install quickstart guide
    xinstall -d -m 0755 ${destroot}${docdir}
    xinstall -m 0644 ${filespath}/quickstart.gif \
        ${destroot}${docdir}/quickstart.gif
    xinstall -m 0644 ${filespath}/quickstart.txt.in \
        ${destroot}${docdir}/quickstart.txt
    # Install daily cron job entry (requires anacron)
    xinstall -d -m 0755 ${destroot}${crondir}
    xinstall -m 0744 ${filespath}/${name}-check.in \
        ${destroot}${crondir}/${name}-check
    # Configure paths in various files
    reinplace "s|@PREFIX@|${prefix}|g" \
        ${destroot}${sysconfdir}/twsetup.sh \
        ${destroot}${crondir}/${name}-check \
        ${destroot}${docdir}/quickstart.txt
    reinplace "s|@BINDIR@|${bindir}|g" \
        ${destroot}${sysconfdir}/twsetup.sh \
        ${destroot}${crondir}/${name}-check \
        ${destroot}${docdir}/quickstart.txt
    reinplace "s|@SYSCONFDIR@|${sysconfdir}|g" \
        ${destroot}${sysconfdir}/twsetup.sh \
        ${destroot}${crondir}/${name}-check \
        ${destroot}${docdir}/quickstart.txt
    reinplace "s|@VARDBDIR@|${vardbdir}|g" \
        ${destroot}${sysconfdir}/twsetup.sh \
        ${destroot}${crondir}/${name}-check \
        ${destroot}${docdir}/quickstart.txt
    reinplace "s|@DOCDIR@|${docdir}|g" \
        ${destroot}${sysconfdir}/twsetup.sh \
        ${destroot}${crondir}/${name}-check \
        ${destroot}${docdir}/quickstart.txt
}

#variant anacron {
#    depends_run     bin:anacron:anacron
#}

notes "
Please read the quick start guide located at:

${prefix}/share/doc/${name}/quickstart.txt

for post installation configuration instructions and general usage information.
"
