Some useful scripts:
authoralpar
Wed, 01 Feb 2006 11:33:16 +0000
changeset 19377a7a1f95cc24
parent 1936 0722ea2b0907
child 1938 c339ade3ffc3
Some useful scripts:
check-compiler: test whether the repo compiles warningless
with various compilers.
check-integrity: checks whether everything is svn-added,
the makefiles are correct etc.
release: creates a version numbered release. Is modifies the repository.
DO NOT PLAY WITH IT!
scripts/DO-NOT-PLAY-WITH-release
scripts/check-compilers
scripts/check-tarball-integrity
scripts/make-snapshot
scripts/release
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/scripts/DO-NOT-PLAY-WITH-release	Wed Feb 01 11:33:16 2006 +0000
     1.3 @@ -0,0 +1,1 @@
     1.4 +
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/scripts/check-compilers	Wed Feb 01 11:33:16 2006 +0000
     2.3 @@ -0,0 +1,57 @@
     2.4 +#!/bin/bash
     2.5 +
     2.6 +set -e
     2.7 +
     2.8 +function make-dir () {
     2.9 +    if [ ! -d $1 ]; then
    2.10 +	mkdir $1
    2.11 +    fi
    2.12 +}
    2.13 +
    2.14 +make-dir check-compilers-dir
    2.15 +cd check-compilers-dir
    2.16 +
    2.17 +svn co https://hugo.cs.elte.hu/svn/hugo/trunk
    2.18 +
    2.19 +VERSION=r`svn info trunk|grep 'Revision:'|cut -d ' ' -f 2`
    2.20 +NAME=lemon
    2.21 +DISTNAME=${NAME}-$VERSION
    2.22 +TARNAME=${DISTNAME}.tar.gz
    2.23 +
    2.24 +function makecheck () {
    2.25 +    if [ `which $CXX` ]; then
    2.26 +	make-dir $ODIR
    2.27 +	cd $ODIR
    2.28 +	time ../trunk/configure $*
    2.29 +	time make check
    2.30 +	cd ..
    2.31 +    else
    2.32 +	echo
    2.33 +	echo '***************************************************************'
    2.34 +	echo "  COMPILER $CXX CANNOT BE FOUND"
    2.35 +	echo '***************************************************************'
    2.36 +	echo
    2.37 +    fi
    2.38 +}
    2.39 +
    2.40 +# CREATE TARBALL
    2.41 +
    2.42 +cd trunk
    2.43 +./bootstrap --amver=1.7
    2.44 +cd ..
    2.45 +
    2.46 +# CHECK COMPILERS
    2.47 +
    2.48 +ODIR=gcc-3.3 CXX=g++-3.3 CXXFLAGS='-W -Wall -Werror' makecheck --enable-gui --enable-demo --enable-benchmark
    2.49 +
    2.50 +ODIR=gcc-3.4 CXX=gcc-3.4 CXXFLAGS='-W -Wall -Werror' makecheck --enable-gui --enable-demo --enable-benchmark
    2.51 +
    2.52 +ODIR=gcc-4.0 CXX=g++-4.0 CXXFLAGS='-W -Wall -Werror' makecheck --enable-gui --enable-demo --enable-benchmark
    2.53 +
    2.54 +ODIR=icc-9.0 CXX=/opt/intel/cc/9.0/bin/icpc CXXFLAGS='-Werror' makecheck --enable-gui --enable-demo --enable-benchmark
    2.55 +
    2.56 +echo
    2.57 +echo '**********************************************************************'
    2.58 +echo '   REPOSITORY SEEMS OK'
    2.59 +echo '**********************************************************************'
    2.60 +echo
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/scripts/check-tarball-integrity	Wed Feb 01 11:33:16 2006 +0000
     3.3 @@ -0,0 +1,51 @@
     3.4 +#!/bin/bash
     3.5 +
     3.6 +set -e
     3.7 +
     3.8 +function make-dir () {
     3.9 +    if [ ! -d $1 ]; then
    3.10 +	mkdir $1
    3.11 +    fi
    3.12 +}
    3.13 +
    3.14 +rm -rf check-tarball-integrity-dir
    3.15 +make-dir check-tarball-integrity-dir
    3.16 +cd check-tarball-integrity-dir
    3.17 +
    3.18 +svn co https://hugo.cs.elte.hu/svn/hugo/trunk
    3.19 +
    3.20 +VERSION=r`svn info trunk|grep 'Revision:'|cut -d ' ' -f 2`
    3.21 +NAME=lemon
    3.22 +DISTNAME=${NAME}-$VERSION
    3.23 +TARNAME=${DISTNAME}.tar.gz
    3.24 +
    3.25 +function makecheck () {
    3.26 +make-dir $ODIR
    3.27 +cd $ODIR
    3.28 +time ../$DISTNAME/configure $*
    3.29 +time make check
    3.30 +cd ..
    3.31 +}
    3.32 +
    3.33 +# CREATE TARBALL
    3.34 +
    3.35 +cd trunk
    3.36 +./bootstrap --amver=1.7
    3.37 +./configure CXXFLAGS='-W -Wall -Werror' --enable-gui --enable-demo --enable-benchmark
    3.38 +make doc
    3.39 +make
    3.40 +make VERSION=${VERSION} distcheck
    3.41 +
    3.42 +cd ..
    3.43 +
    3.44 +tar xf trunk/$TARNAME
    3.45 +
    3.46 +# CHECK COMPILERS
    3.47 +
    3.48 +ODIR=obj-dir CXXFLAGS='-W -Wall -Werror' makecheck --enable-gui --enable-demo --enable-benchmark
    3.49 +
    3.50 +echo
    3.51 +echo '**********************************************************************'
    3.52 +echo '   REPOSITORY SEEMS OK'
    3.53 +echo '**********************************************************************'
    3.54 +echo
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/scripts/make-snapshot	Wed Feb 01 11:33:16 2006 +0000
     4.3 @@ -0,0 +1,3 @@
     4.4 +#!/bin/bash
     4.5 +
     4.6 +make VERSION=r`svn info|grep 'Revision:'|cut -d ' ' -f 2` $*
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/scripts/release	Wed Feb 01 11:33:16 2006 +0000
     5.3 @@ -0,0 +1,74 @@
     5.4 +#!/bin/bash
     5.5 +
     5.6 +# THE FIRST PARAMETER IS THE VERSION STRING
     5.7 +
     5.8 +set -e
     5.9 +
    5.10 +function make-dir () {
    5.11 +    if [ ! -d $1 ]; then
    5.12 +	mkdir $1
    5.13 +    fi
    5.14 +}
    5.15 +
    5.16 +VERSION=$1
    5.17 +PKGNAME=lemon
    5.18 +VERSION_STRING=svn-head
    5.19 +
    5.20 +make-dir release-dir
    5.21 +cd release-dir
    5.22 +
    5.23 +echo
    5.24 +echo '**********************************************************************'
    5.25 +echo '   CHECK OUT'
    5.26 +echo '**********************************************************************'
    5.27 +echo
    5.28 +
    5.29 +rm -rf trunk
    5.30 +svn co https://hugo.cs.elte.hu/svn/hugo/trunk
    5.31 +svn lock trunk
    5.32 +
    5.33 +cd trunk
    5.34 +
    5.35 +echo
    5.36 +echo '**********************************************************************'
    5.37 +echo "   CHANGE THE VERSION TO ${VERSION}"
    5.38 +echo '**********************************************************************'
    5.39 +echo
    5.40 +
    5.41 +rpl ${VERSION_STRING} $VERSION configure.ac
    5.42 +
    5.43 +
    5.44 +echo
    5.45 +echo '**********************************************************************'
    5.46 +echo '   CREATE TARBALL'
    5.47 +echo '**********************************************************************'
    5.48 +echo
    5.49 +
    5.50 +./bootstrap --amver-1.7
    5.51 +./configure CXXFLAGS='-W -Wall -Werror' --enable-gui --enable-demo --enable-benchmark
    5.52 +make doc
    5.53 +make distcheck 
    5.54 +
    5.55 +cd ..
    5.56 +
    5.57 +echo
    5.58 +echo '**********************************************************************'
    5.59 +echo '   CREATE THE OTHER TAR FILES'
    5.60 +echo '**********************************************************************'
    5.61 +echo
    5.62 +
    5.63 +mv trunk/${PKGNAME}-${VERSION}.tar.gz .
    5.64 +tar xzf ${PKGNAME}-${VERSION}.tar.gz
    5.65 +mv ${PKGNAME}-${VERSION}/doc/html ./${PKGNAME}-doc-${VERSION}
    5.66 +tar czf ${PKGNAME}-doc-${VERSION}.tar.gz ${PKGNAME}-doc-${VERSION}
    5.67 +tar czf ${PKGNAME}-${VERSION}-nodoc.tar.gz ${PKGNAME}-${VERSION}
    5.68 +rm -rf ${PKGNAME}-${VERSION} ${PKGNAME}-doc-${VERSION}
    5.69 +
    5.70 +echo
    5.71 +echo '**********************************************************************'
    5.72 +echo '   CREATE SVN TAG'
    5.73 +echo '**********************************************************************'
    5.74 +echo
    5.75 +
    5.76 +svn cp trunk https://hugo.cs.elte.hu/svn/hugo/tags/${PKGNAME}-${VERSION} -m "Version ${VERSION} released."
    5.77 +svn unlock trunk