#!/bin/sh
#
# script file om semiautomatisch een .patch en .info bestand
# aan te maken voor installatie op een Trendtac laptop
#
# geschreven door Gert van der Knokke
# datum 21-07-2008
#
# aanroepen vanuit de directory waarin de bestanden en folders staan
# met de te installeren bestanden.
#
# voorbeeld:
# mkpackage patchfilename files folders
#
# xpat2 is aangemaakt met
# mkpackage xpat2 etc share usr
#

# op andere Linux systemen
if [ -x /bin/bzip2 ]
then
        BZIP2=/bin/bzip2
fi

# op de Trendtac
if [ -x /bin/bzip2-shared ]
then
        BZIP2=/bin/bzip2-shared
fi

if [ $# -lt 2 ]
then
        echo "Usage: $0 patchname files and or folders"
        exit 1
fi

# datums vastleggen
DATESTRING1=`date +"%Y%m%d"`
DATESTRING2=`date +"%Y-%m-%d"`

# revision vast ingesteld op 1
REVISION=01

# naam van de patch uitlezen
NAME=$1

# offficiele patchnaam genereren
PATCHNAME="$NAME-R3-$REVISION($DATESTRING1)"
if [ ! -d share ]
then
        mkdir share
fi

if [ ! -d share/info ]
then
        mkdir share/info
fi

# maak dummy info file aan in share/info
touch "share/info/$PATCHNAME.info"

# nu de .info file aanmaken
{

# de bestandsnaam van de tar.bz2 file
echo "$PATCHNAME.patch"

# de naam van de patch
echo "$NAME"

# release revisie en datum
echo "R3-$REVISION($DATESTRING1)"

# naam van patch overslaan
shift

# '$*' is nu de rest van de commandline (bestanden en folders)

# aantal regels tellen
LINES=`du -ah share $* | wc -l`

# in de info file zetten gevolgde door :datum
echo "$LINES:$DATESTRING2"

# lijst met bestanden en groottes maken
du -ah share $*
} > "$PATCHNAME.info"

# copieer de info file over de dummy
cp -f "$PATCHNAME.info" share/info/
                                                                         
# de .patch file aanmaken met tar
tar -cf tarball.tar share $*
$BZIP2 tarball.tar
mv tarball.tar.bz2 "$PATCHNAME.patch"
# klaar...


