Create a local copy of the scripts directory.
The idea is to move the build system out of the project tree as much as possible. This has two benefits: - it does not add any baggage to somebody who just wants to compile the project, and doesn't want to create any new modules, - it means that project trees don't have to be updated every time a change is made to the module instantiation stuff.
This commit is contained in:
parent
201586b051
commit
87272247fb
65 changed files with 1561 additions and 0 deletions
80
scripts/release.sh
Executable file
80
scripts/release.sh
Executable file
|
|
@ -0,0 +1,80 @@
|
|||
#!/bin/bash
|
||||
# @P@/scripts/release.sh
|
||||
#
|
||||
# (c)2006, @AUTHOR@, <@EMAIL@>.
|
||||
# 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: 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 -b releaseprivate "${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"
|
||||
sha1sum "${PKGNAME}.tar.bz2" > "${PKGNAME}.sha1"
|
||||
sha1sum "${PKGNAME}-doc.tar.bz2" > "${PKGNAME}-doc.sha1"
|
||||
gpg -a -b "${PKGNAME}.tar.bz2"
|
||||
gpg -a -b "${PKGNAME}-doc.tar.bz2"
|
||||
|
||||
|
||||
|
||||
# clean up
|
||||
rm -rf "${PKGNAME}" "${PKGNAME}-doc"
|
||||
|
||||
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
||||
# vim: expandtab:ts=4:sw=4
|
||||
Loading…
Add table
Add a link
Reference in a new issue