136 lines
2.9 KiB
Bash
136 lines
2.9 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
# Make a distribution of ConfigTool for Linux
|
||
|
# Usage: maketarball.sh wxconfigtool-dir bin-dir deliver-dir version [ options ]
|
||
|
# For example: maketarball.sh ~/wxconfigtool /tmp/build-wxconfigtool /tmp/wxconfigtool-deliver 1.40
|
||
|
|
||
|
APPDIR=$1
|
||
|
SRC=$APPDIR/src
|
||
|
BINARYSRC=$2
|
||
|
DEST=$3
|
||
|
BUILD=0
|
||
|
UPX=0
|
||
|
PROGNAME=$0
|
||
|
|
||
|
# Set this to the required version
|
||
|
VERSION=$4
|
||
|
|
||
|
dotar()
|
||
|
{
|
||
|
rm -f -r $DEST/wxconfigtool*
|
||
|
rm -f $DEST/wxconfigtool-*.*
|
||
|
|
||
|
mkdir -p $DEST/wxconfigtool-$VERSION
|
||
|
mkdir -p $DEST/wxconfigtool-$VERSION/resources
|
||
|
mkdir -p $DEST/wxconfigtool-$VERSION/Sample
|
||
|
cd $DEST/wxconfigtool-$VERSION
|
||
|
|
||
|
# Copy readme files
|
||
|
cp $APPDIR/docs/readme.txt readme.txt
|
||
|
cp $APPDIR/docs/license.txt .
|
||
|
|
||
|
# Copy the application binary
|
||
|
cp $BINARYSRC/wxconfigtool .
|
||
|
|
||
|
# Copy the wxHTML Help manual file
|
||
|
cp $APPDIR/manual/configtool.htb .
|
||
|
|
||
|
# Copy the sample
|
||
|
cp -r $APPDIR/sample Sample
|
||
|
cp $APPDIR/resources/* resources
|
||
|
|
||
|
echo Removing junk from the samples folder...
|
||
|
rm -f -r Sample/CVS
|
||
|
|
||
|
# Copy the resources file
|
||
|
rm -f configtool.bin
|
||
|
zip configtool.bin -j resources/*
|
||
|
|
||
|
rm -f -r resources
|
||
|
|
||
|
# Remove any debug info from wxconfigtool
|
||
|
strip wxconfigtool
|
||
|
|
||
|
# Maybe compress the binary
|
||
|
if [ "$UPX" != "0" ]; then
|
||
|
upx wxconfigtool
|
||
|
fi
|
||
|
|
||
|
cd ..
|
||
|
|
||
|
# Make .tar.gz and .tar.bz2 archives
|
||
|
tar cvf $DEST/wxconfigtool-$VERSION-i386.tar wxconfigtool-$VERSION/*
|
||
|
gzip -c $DEST/wxconfigtool-$VERSION-i386.tar > $DEST/wxconfigtool-$VERSION-i386.tar.gz
|
||
|
bzip2 -c $DEST/wxconfigtool-$VERSION-i386.tar > $DEST/wxconfigtool-$VERSION-i386.tar.bz2
|
||
|
}
|
||
|
|
||
|
dobuild()
|
||
|
{
|
||
|
makeapp release full
|
||
|
}
|
||
|
|
||
|
usage()
|
||
|
{
|
||
|
echo Usage: $PROGNAME "cvs-dir bin-dir deliver-dir version-number [ options ]"
|
||
|
echo Options:
|
||
|
echo " --help Display this help message"
|
||
|
echo " --upx Compress executable with UPX"
|
||
|
echo " --build Invoke 'maketarball.sh release full' first"
|
||
|
echo For example: maketarball.sh ~/wxconfigtool /tmp/build-app /tmp/wxconfigtool-deliver 1.20
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
# Process command line options.
|
||
|
shift 4
|
||
|
for i in "$@"; do
|
||
|
case "$i" in
|
||
|
--build) BUILD=1 ;;
|
||
|
--upx) UPX=1 ;;
|
||
|
*)
|
||
|
usage
|
||
|
exit
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ ! -d "$DEST" ]; then
|
||
|
mkdir -p $DEST
|
||
|
fi
|
||
|
|
||
|
if [ ! -d "$SRC" ]; then
|
||
|
echo Source directory $SRC not found.
|
||
|
usage
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ ! -d "$BINARYSRC" ]; then
|
||
|
echo Location of wxconfigtool binary $BINARYSRC not found.
|
||
|
usage
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ "$VERSION" = "" ]; then
|
||
|
echo Pass the version number as the fourth argument.
|
||
|
usage
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
echo Creating Version $VERSION distribution in $DEST, using source directory $SRC and wxconfigtool binary in $BINARYSRC.
|
||
|
#echo Press return to continue.
|
||
|
#read dummy
|
||
|
|
||
|
# Remove all existing files
|
||
|
if [ ! -d "$DEST/wxconfigtool" ]; then
|
||
|
rm -f -r $DEST/wxconfigtool
|
||
|
fi
|
||
|
|
||
|
# Skip INNO setup if INNO is 0.
|
||
|
if [ "$BUILD" = "1" ]; then
|
||
|
dobuild
|
||
|
fi
|
||
|
|
||
|
dotar
|
||
|
|
||
|
echo ConfigTool archived.
|
||
|
|