#!/bin/sh

# apt-dater - terminal-based remote package update manager
#
# $Id: script 358 2009-05-25 11:39:38Z liske $
#
# Authors:
#   Andre Ellguth <ellguth@ibh.de>
#   Thomas Liske <liske@ibh.de>
#
# Copyright Holder:
#   2008-2009 (C) IBH IT-Service GmbH [http://www.ibh.de/apt-dater/]
#
# License:
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this package; if not, write to the Free Software
#   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
#

BNAME="$1"
ERRPATTERN="$2"

shift
shift

echo -n > "$BNAME/command"
for i in "$@"; do
    echo -n "\"$i\" " >> "$BNAME/command"
done

chmod +x "$BNAME/command"
script -c "$BNAME/command" -t "$BNAME/typescript" 2> "$BNAME/timingfile"

echo -n "Duration=" >> "$BNAME/meta"
cat "$BNAME/timingfile" | cut '-d ' -f1 | awk '{ s += $1 } END { print s }' >> "$BNAME/meta"

if (egrep -aiqse "$ERRPATTERN" "$BNAME/typescript"); then
    echo "ErrPattern=$ERRPATTERN" >> "$BNAME/meta"
    touch "$BNAME/failed"
fi
