#!/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...