DocScoDoc/tools/make-release.sh

46 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Préparation d'une release ScoDoc
# Download last git
source config.sh
source utils.sh
usage() {
echo "Usage: $0 v9.x.y, where v9.x.y est le numéro de version créé"
exit 1
}
if [ $# != 1 ] || [ $1 = "-h" ] || [ $1 = "--help" ]
then
usage
fi
VERSION=$1
SOURCE_URL="https://scodoc.org/git/viennet/ScoDoc.git"
SOURCE_BRANCH="ScoDoc8"
# Check local diffs, ignoring file modes (changed on VMs)
local_diffs=$(git -c core.fileMode=false status --porcelain --untracked-files=no | wc -l)
if [ "$local_diffs" -ne 0 ]
then
die "you have local diffs: git commit or stash before releasing"
fi
echo "Preparing release $VERSION"
mkdir "/tmp/$VERSION" || die "can't create directory /tmp/$VERSION"
cd "/tmp/$VERSION" || die "can't cd /tmp/$VERSION"
git clone "$SOURCE_URL" || die "git error cloning $SOURCE_URL"
cd ScoDoc || die "no ScoDoc directory !"
git checkout "$SOURCE_BRANCH" || die "git ckecking out branch $SOURCE_BRANCH"
# --- Create empty .../var/ subdir
mkdir -p var/scodoc || die "can't create var subdirectory"
mkdir var/scodoc/archives var/scodoc/photos var/scodoc/tmp var/scodoc/config
mkdir var/scodoc/config/version var/scodoc/config/depts var/scodoc/config/logos
cd ..
mv ScoDoc scodoc8
chown -R scodoc scodoc8
tar cfz "scodoc8-$VERSION.tgz" scodoc8