doublecmd/install/linux/update-repo-ppa.sh
2011-02-20 09:32:22 +00:00

96 lines
1.9 KiB
Bash
Executable file

#!/bin/bash
# This script updates Double Commander Personal Package Archive (PPA) repository
# Set Double Commander version
DC_VER=0.4.6
# Temp directory
DC_TEMP_DIR=/var/tmp/doublecmd-$(date +%y.%m.%d)
# Directory for DC source code
DC_SOURCE_DIR=$DC_TEMP_DIR/doublecmd-$DC_VER
# Directory for DC help
DC_HELP_DIR=$DC_TEMP_DIR/doublecmd-help-$DC_VER
# DC revision number
DC_REVISION=$(svnversion -n ../../)
# Set distribution
if [ -z $2 ]
then
export DIST=lucid
else
export DIST=$2
fi
# Recreate temp directory
rm -rf $DC_TEMP_DIR
mkdir -p $DC_TEMP_DIR
update_doublecmd()
{
# Export from SVN
svn export ../../ $DC_SOURCE_DIR
# Save revision number
mkdir $DC_SOURCE_DIR/.svn
cp -a ../../.svn/entries $DC_SOURCE_DIR/.svn/
# Remove help files
rm -rf $DC_SOURCE_DIR/doc/en
rm -rf $DC_SOURCE_DIR/doc/ru
# Prepare debian directory
mkdir -p $DC_SOURCE_DIR/debian
cp -r $DC_SOURCE_DIR/install/linux/deb/doublecmd/* $DC_SOURCE_DIR/debian
# Update changelog file
pushd $DC_SOURCE_DIR/debian
dch -m -D $DIST -v $DC_VER-$DC_REVISION~$DIST "Update to revision $DC_REVISION"
popd
# Create archive with source code and upload it to PPA
pushd $DC_SOURCE_DIR
debuild -S -sa
popd
}
update_doublecmd_help()
{
# Export from SVN
svn export ../../doc $DC_HELP_DIR
# Remove text files
rm -f $DC_HELP_DIR/*.txt
# Prepare debian directory
svn export deb/doublecmd-help $DC_HELP_DIR/debian
# Update changelog file
pushd $DC_HELP_DIR/debian
dch -m -v $DC_VER-$DC_REVISION~ppa "Update to revision $DC_REVISION"
popd
# Create archive with source code
pushd $DC_HELP_DIR
debuild -S -sa
popd
}
update_all()
{
update_doublecmd
update_doublecmd_help
}
case $1 in
doublecmd-help) update_doublecmd_help;;
doublecmd) update_doublecmd;;
*) update_all;;
esac
# Upload archives to PPA
cd $DC_TEMP_DIR
dput ppa:alexx2000/doublecmd $(find -name '*.changes')
# Clean
rm -rf $DC_TEMP_DIR