#!/bin/sh # lw-build-system/scripts/release.sh # # (c)2006, Laurence Withers, . # Released under the GNU GPLv2. See file COPYING or # http://www.gnu.org/copyleft/gpl.html for details. # # 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)") [ -z "${VERBOSE}" ] && VERBOSE=0 source "${REPOS}/scripts/functions.sh" || exit 1 # Get version etc. if [ $# -ne 2 ] then echo "Usage: $0 " exit 1 fi VER=$1 DIR=$2 PKGNAME="$(basename ${REPOS})-${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 -b releaseprivate "${VER}" || exit 1 print_success "Done" # Check that the default build operation runs do_cmd ./make.sh || exit 1 # build and save the documentation, if required BUILD_DOCS="" [ -e src/docs ] && BUILD_DOCS="1" if [ ! -z ${BUILD_DOCS} ] then do_cmd ./make.sh docs || exit 1 do_cmd mv html "../${PKGNAME}-doc" || exit 1 fi # 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" sha1sum "${PKGNAME}.tar.bz2" > "${PKGNAME}.sha1" gpg -a -b "${PKGNAME}.tar.bz2" if [ ! -z ${BUILD_DOCS} ] then tar c "${PKGNAME}-doc" | bzip2 > "${PKGNAME}-doc.tar.bz2" sha1sum "${PKGNAME}-doc.tar.bz2" > "${PKGNAME}-doc.sha1" gpg -a -b "${PKGNAME}-doc.tar.bz2" fi # clean up rm -rf "${PKGNAME}" "${PKGNAME}-doc" # kate: replace-trailing-space-save true; space-indent true; tab-width 4; # vim: ts=4:sw=4:expandtab