76 lines
1.6 KiB
Bash
Executable File
76 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# @P@/scripts/release.sh
|
|
#
|
|
# (c)2006, Laurence Withers. Released under the GNU GPL. See file
|
|
# COPYING for more information / terms of license.
|
|
#
|
|
|
|
# Prepares package for release. Expects the version number on the
|
|
# command line.
|
|
|
|
|
|
|
|
# Get the directory of the repository (needed to include functions file)
|
|
cd "$(dirname $0)"
|
|
REPOS=$(dirname "$(pwd)")
|
|
source "${REPOS}/scripts/functions.sh" || exit 1
|
|
|
|
|
|
|
|
# Get version etc.
|
|
if [ $# -ne 2 ]
|
|
then
|
|
echo "Usage: scripts/release.sh <version> <output_dir>"
|
|
exit 1
|
|
fi
|
|
VER=$1
|
|
DIR=$2
|
|
|
|
PKGNAME="@P@-${VER}"
|
|
|
|
|
|
|
|
# move to output directory and clone git repository
|
|
echo "Cloning repository..."
|
|
do_cmd cd "${DIR}" || exit 1
|
|
do_cmd rm -rf "${PKGNAME}" "${PKGNAME}-doc" || exit 1
|
|
do_cmd git-clone --local --shared -n "${REPOS}" "${PKGNAME}" || exit 1
|
|
do_cmd cd "${PKGNAME}" || exit 1
|
|
print_success "Done"
|
|
|
|
|
|
|
|
# Check out a new copy of the library from git
|
|
echo "Checking out tag ${VER}..."
|
|
do_cmd git-checkout "${VER}" || exit 1
|
|
print_success "Done"
|
|
|
|
|
|
|
|
# Check that the default build operation runs; also, build and save the
|
|
# documentation whilst we're at it
|
|
do_cmd ./make.sh default docs || exit 1
|
|
do_cmd mv html "../${PKGNAME}-doc" || exit 1
|
|
|
|
|
|
|
|
# Clean up
|
|
do_cmd ./make.sh clean || exit 1
|
|
do_cmd rm -rf .git || exit 1
|
|
|
|
|
|
|
|
# Build archive, md5sum and signature
|
|
cd ..
|
|
tar c "${PKGNAME}" | bzip2 > "${PKGNAME}.tar.bz2"
|
|
tar c "${PKGNAME}-doc" | bzip2 > "${PKGNAME}-doc.tar.bz2"
|
|
md5sum "${PKGNAME}.tar.bz2" > "${PKGNAME}.md5"
|
|
md5sum "${PKGNAME}-doc.tar.bz2" > "${PKGNAME}-doc.md5"
|
|
gpg -a -b "${PKGNAME}.tar.bz2"
|
|
gpg -a -b "${PKGNAME}-doc.tar.bz2"
|
|
|
|
|
|
|
|
# clean up
|
|
rm -rf "${PKGNAME}" "${PKGNAME}-doc"
|