Some people say that coders would be lazy …
#!/bin/bash
# SPK Package Script
# Written in 2012 by Martin Zeitler
# usage: ./package.sh APP VERSION ARCH
TAR="$(which tar)"
APP=$1
VERSION=$2
ARCH=$3
if [ $# -ne 3 ]; then
echo "Usage: ./`basename $0` {APP VERSION ARCH}"
exit 65
fi
cd packages/$APP/
WD="$(pwd)"
RELEASE="../../releases/$APP-$ARCH-$VERSION.spk"
PACKAGE="$WD/install/package.tgz"
chmod -R 755 package/
cd $WD/package && $TAR -zcvf $PACKAGE * && cd ..
chmod 755 "$PACKAGE"
cd $WD/install/
PACKAGE_MD5=`md5sum package.tgz | awk '{ print $1 }'`
cd $WD/install && $TAR -cvf $WD/release.tar * && cd ..
rm $WD/install/package.tgz
mv $WD/release.tar $RELEASE
SIZE=$(stat -c%s "$RELEASE")
echo "-----------------------------------------"
echo "Package: $APP v$VERSION ($ARCH)"
echo " MD5: $PACKAGE_MD5"
echo " Size: $SIZE bytes"
echo "-----------------------------------------"
It can be conveniently called by a second script, which passes predefined parameters:
#!/bin/bash APP="SomeApplication" VERSION="101" ARCH="noarch" BASE_DIR=`dirname $0` echo "-----------------------------------------" echo "Now Packaging: $APP $VERSION ($ARCH)" echo "-----------------------------------------" $BASE_DIR/package.sh $APP $VERSION $ARCH
Related Links:
