#!/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) cd $(dirname $(pwd)) [ -z "${VERBOSE}" ] && VERBOSE="0" source "scripts/functions.sh" || exit 1 # Get version etc. if [ $# -ne 2 ] then echo "Usage: scripts/release.sh " 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"