# -*- 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$

PortSystem          1.0
PortGroup           github 1.0

github.setup        cawka ccnx-trace 1.1.3
checksums           rmd160  d7119d5caaaa1eb28d7fcf4ea432e2af325e414c \
                    sha256  ef37df403fe99dc9aaed7bd5c45462f8e1e050f37c5a0a182e0b8fd4b6335c40

name                ccnx-trace
homepage            http://code.google.com/p/ccnx-trace/
license             GPL-3+
version             1.1.3

categories          net ccnx
platforms           darwin
maintainers         ucla.edu:alexander.afanasyev

description         traceroute-like functionality for CCNx

long_description    The CCNx Trace is a tool with traceroute like functionality for CCNx. \
                    The CCNx code can be obtained at http://www.ccnx.org. This tools is \
                    written for troubleshooting problems in a network of ccnx nodes. This \
                    tool can trace to a certain CCN URI, e.g, ccnx:/ndn/csu/netsec/index. \
                    The tool displays all routes to the namespace and problems at each route, \
                    if any. In this process, the tool bypasses the intermediate ccnx caches. 

use_autoreconf      yes
use_configure       yes
depends_lib-append  port:ccnx

configure.args-append  --with-ccnx=${prefix} \
                       --with-openssl=${prefix}

post-patch {
    reinplace   "s|LOGFILE \"ccn_traced.log\"|LOGFILE \"${prefix}/var/log/ccn_traced.log\"|g" ${worksrcpath}/source/conf.h
}

post-destroot {
    system "echo \"su - ccnx -c '${prefix}/bin/ccn_traced'\"  > \"${destroot}${prefix}/bin/ccn_traced-wrapper\""
    file attributes "${destroot}${prefix}/bin/ccn_traced-wrapper" -permissions 0755
}

post-activate {
    touch "${prefix}/var/log/ccn_traced.log"
    file attributes "${prefix}/var/log/ccn_traced.log" -owner ccnx -group ccnx
}

startupitem.executable  "${prefix}/bin/ccn_traced-wrapper"

startupitem.create      yes
startupitem.name        ${name}

startupitem.netchange   no

startupitem.logevents   yes
startupitem.logfile     ${prefix}/var/log/ccnx-trace-events.log

