#!/usr/bin/perl

if ($#ARGV != 0) {
    print "specify configuration (host)\n";
    exit(1);
}

$OSTYPE   = `uname -s`;
chomp $OSTYPE;
#$LIBRADIR = "/afs/cs/project/cmcl-pach/libra";
$LIBRADIR = $ENV{"LIBRA_PATH"};
if (!defined($LIBRADIR)) {
    die "LIBRA_PATH not defined, exiting now\n";
}
$LIBRADIR = "$LIBRADIR/libra";
#$LIBRAEXECDIR = "/afs/cs/project/cmcl-pach/libra/$OSTYPE";
$LIBRAEXECDIR = "$LIBRADIR/$OSTYPE";
$SBINDIR  = "$LIBRAEXECDIR/sbin";
$ETCDIR   = "$LIBRADIR/etc";
$LOGDIR   = "$LIBRADIR/var/log";
$RUNDIR   = "$LIBRADIR/var/run";
$PIDFILE  = "$RUNDIR/slpd.$ARGV[0].pid";

$ENV{"LD_LIBRARY_PATH"} = "$LIBRAEXECDIR/lib";

if (-f $PIDFILE) {
    print "pid file exists, exit now\n";
    exit(1);
}

if ($pid = fork()) {
} else {
    print "$SBINDIR/slpd -d -c $ETCDIR/slp.conf.$ARGV[0] -r $ETCDIR/slp.reg.$ARGV[0] -l $LOGDIR/slpd.log.$ARGV[0]\n";

    exec "$SBINDIR/slpd -d -c $ETCDIR/slp.conf.$ARGV[0] -r $ETCDIR/slp.reg.$ARGV[0] -l $LOGDIR/slpd.log.$ARGV[0]";
    exit;
}

`echo $pid > $PIDFILE`;
print "slpd started on $ARGV[0]\n";

