mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 00:28:23 +01:00
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@10473 1feff8c3-07ed-0310-ac33-dd36852eb9cd
291 lines
8.0 KiB
Bash
291 lines
8.0 KiB
Bash
#!/bin/sh
|
|
# $Id: dist.sh 4132 2010-02-24 05:35:35Z charlton $
|
|
|
|
#
|
|
# USAGE: ./dist.sh -v VERSION -r REVISION -d RELEASE_DATE
|
|
# [-rs REVISION-SVN] [-pr REPOS-PATH]
|
|
# [-zip] [-alpha ALPHA_NUM|-beta BETA_NUM|-rc RC_NUM]
|
|
#
|
|
# Create a distribution tarball, labelling it with the given VERSION.
|
|
# The REVISION or REVISION-SVN will be used in the version string.
|
|
# The tarball will be constructed from the root located at REPOS-PATH.
|
|
# If REPOS-PATH is not specified then the default is "branches/VERSION".
|
|
# For example, the command line:
|
|
#
|
|
# ./dist.sh -v 0.24.2 -r 6284
|
|
#
|
|
# from the top-level of a branches/0.24.2 working copy will create
|
|
# the 0.24.2 release tarball.
|
|
#
|
|
# When building a alpha, beta or rc tarballs pass the apppropriate flag
|
|
# followed by the number for that release. For example you'd do
|
|
# the following for a Beta 1 release:
|
|
# ./dist.sh -v 1.1.0 -r 10277 -pr branches/1.1.x -beta 1
|
|
#
|
|
# If neither an -alpha, -beta or -rc option with a number is
|
|
# specified, it will build a release tarball.
|
|
#
|
|
# To build a Windows zip file package pass -zip.
|
|
|
|
# echo everything
|
|
set -x
|
|
|
|
# A quick and dirty usage message
|
|
USAGE="USAGE: ./dist.sh -v VERSION -r REVISION -d RELEASE_DATE \
|
|
[-rs REVISION-SVN ] [-pr REPOS-PATH] \
|
|
[-alpha ALPHA_NUM|-beta BETA_NUM|-rc RC_NUM] \
|
|
[-zip]
|
|
EXAMPLES: ./dist.sh -v 0.36.0 -r 8278 -d 2/7/05
|
|
./dist.sh -v 0.36.0 -r 8278 -d 2/7/05 -pr trunk
|
|
./dist.sh -v 0.36.0 -r 8282 -d 2/7/05 -rs 8278 -pr tags/0.36.0
|
|
./dist.sh -v 0.36.0 -r 8282 -d 2/7/05 -rs 8278 -pr tags/0.36.0 -alpha
|
|
./dist.sh -v 0.36.0 -r 8282 -d 2/7/05 -rs 8278 -pr tags/0.36.0 -beta 1"
|
|
|
|
|
|
|
|
|
|
# Let's check and set all the arguments
|
|
ARG_PREV=""
|
|
|
|
for ARG in $@
|
|
do
|
|
if [ "$ARG_PREV" ]; then
|
|
|
|
case $ARG_PREV in
|
|
-v) VERSION="$ARG" ;;
|
|
-r) REVISION="$ARG" ;;
|
|
-rs) REVISION_SVN="$ARG" ;;
|
|
-pr) REPOS_PATH="$ARG" ;;
|
|
-rc) RC="$ARG" ;;
|
|
-beta) BETA="$ARG" ;;
|
|
-alpha) ALPHA="$ARG" ;;
|
|
-d) RDATE="$ARG" ;;
|
|
*) ARG_PREV=$ARG ;;
|
|
esac
|
|
|
|
ARG_PREV=""
|
|
|
|
else
|
|
|
|
case $ARG in
|
|
-v|-r|-rs|-pr|-beta|-rc|-alpha|-d)
|
|
ARG_PREV=$ARG
|
|
;;
|
|
-zip)
|
|
ZIP=1
|
|
ARG_PREV=""
|
|
;;
|
|
*)
|
|
echo " $USAGE"
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
done
|
|
|
|
if [ -z "$REVISION_SVN" ]; then
|
|
REVISION_SVN=$REVISION
|
|
fi
|
|
|
|
if [ -n "$ALPHA" ] && [ -n "$BETA" ] ||
|
|
[ -n "$ALPHA" ] && [ -n "$RC" ] ||
|
|
[ -n "$BETA" ] && [ -n "$RC" ] ; then
|
|
echo " $USAGE"
|
|
exit 1
|
|
elif [ -n "$ALPHA" ] ; then
|
|
VER_TAG="Alpha $ALPHA"
|
|
VER_NUMTAG="-alpha$ALPHA"
|
|
elif [ -n "$BETA" ] ; then
|
|
VER_TAG="Beta $BETA"
|
|
VER_NUMTAG="-beta$BETA"
|
|
elif [ -n "$RC" ] ; then
|
|
VER_TAG="Release Candidate $RC"
|
|
VER_NUMTAG="-rc$RC"
|
|
else
|
|
VER_TAG="r$REVISION_SVN"
|
|
VER_NUMTAG="-$REVISION"
|
|
fi
|
|
|
|
if [ -n "$ZIP" ] ; then
|
|
EXTRA_EXPORT_OPTIONS="--native-eol CRLF"
|
|
fi
|
|
|
|
if [ -z "$VERSION" ] || [ -z "$REVISION" ] || [ -z "$RDATE" ]; then
|
|
echo " $USAGE"
|
|
exit 1
|
|
fi
|
|
|
|
VER="$VERSION"
|
|
REL="$REVISION"
|
|
LOWER='abcdefghijklmnopqrstuvwxyz'
|
|
UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
VER_UC=`echo $VER | sed -e "y/$LOWER/$UPPER/"`
|
|
|
|
RELEASE_DATE="`date -d "$RDATE" "+%B %e, %G"`"
|
|
V_FIXDATE="`date -d "$RDATE" "+%d-%b-%G"`"
|
|
|
|
if [ -z "$REPOS_PATH" ]; then
|
|
REPOS_PATH="branches/$VERSION"
|
|
else
|
|
REPOS_PATH="`echo $REPOS_PATH | sed 's/^\/*//'`"
|
|
fi
|
|
|
|
DISTNAME="IPhreeqc-${VERSION}${VER_NUMTAG}"
|
|
##DIST_SANDBOX=.dist_sandbox
|
|
##DISTPATH="$DIST_SANDBOX/$DISTNAME"
|
|
DISTPATH="."
|
|
|
|
echo "Distribution will be named: $DISTNAME"
|
|
echo " release branch's revision: $REVISION"
|
|
echo " executable's revision: $REVISION_SVN"
|
|
echo " constructed from path: /$REPOS_PATH"
|
|
echo " release date: $RELEASE_DATE"
|
|
|
|
##rm -rf "$DIST_SANDBOX"
|
|
##mkdir "$DIST_SANDBOX"
|
|
##echo "Removed and recreated $DIST_SANDBOX"
|
|
##
|
|
##echo "Exporting revision $REVISION of IPhreeqc into sandbox..."
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/IPhreeqc/$REPOS_PATH" \
|
|
## "$DISTNAME")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/phreeqc3/$REPOS_PATH/src" \
|
|
## "$DISTNAME/src/phreeqcpp")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/phreeqc3/$REPOS_PATH/doc" \
|
|
## "$DISTNAME/phreeqc3-doc")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/phreeqc3/$REPOS_PATH/database" \
|
|
## "$DISTNAME/database")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/phreeqc/trunk/COMManuscript/C&Gfinal/examples/c" \
|
|
## "$DISTNAME/examples/c")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/phreeqc/trunk/COMManuscript/C&Gfinal/examples/com" \
|
|
## "$DISTNAME/examples/com")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/phreeqc/trunk/COMManuscript/C&Gfinal/examples/fortran" \
|
|
## "$DISTNAME/examples/fortran")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
##(cd "$DIST_SANDBOX" && \
|
|
## ${SVN:-svn} export -q $EXTRA_EXPORT_OPTIONS --ignore-externals -r "$REVISION" \
|
|
## "http://internalbrr.cr.usgs.gov/svn_GW/phreeqc3/trunk/HTMLversion/phreeqc3.chm" \
|
|
## "$DISTNAME/doc")
|
|
##if [ $? != 0 ] ; then
|
|
## echo "svn checkout error"
|
|
## exit $?;
|
|
##fi
|
|
##
|
|
|
|
|
|
ver_major=`echo $VERSION | cut -d '.' -f 1`
|
|
ver_minor=`echo $VERSION | cut -d '.' -f 2`
|
|
ver_patch=`echo $VERSION | cut -d '.' -f 3`
|
|
|
|
if [ -z "$ver_patch" ]; then
|
|
ver_patch="0"
|
|
fi
|
|
|
|
SED_FILES="$DISTPATH/phreeqc3-doc/RELEASE.TXT \
|
|
$DISTPATH/src/Version.h \
|
|
$DISTPATH/src/IPhreeqc.h"
|
|
|
|
for vsn_file in $SED_FILES
|
|
do
|
|
sed \
|
|
-e "/#define *VER_MAJOR/s/[0-9]\+/$ver_major/" \
|
|
-e "/#define *VER_MINOR/s/[0-9]\+/$ver_minor/" \
|
|
-e "/#define *VER_PATCH/s/[0-9]\+/$ver_patch/" \
|
|
-e "/#define *VER_REVISION/s/[0-9]\+/$REVISION_SVN/" \
|
|
-e "s/@RELEASE_DATE@/$RELEASE_DATE/g" \
|
|
-e "s/@PHREEQC_VER@/$VER/g" \
|
|
-e "s/@PHREEQC_DATE@/$RELEASE_DATE/g" \
|
|
-e "s/@REVISION_SVN@/$REVISION_SVN/g" \
|
|
< "$vsn_file" > "$vsn_file.tmp"
|
|
unix2dos "$vsn_file.tmp" 2> /dev/null
|
|
mv -f "$vsn_file.tmp" "$vsn_file"
|
|
cp "$vsn_file" "$vsn_file.dist"
|
|
done
|
|
|
|
|
|
##if [ -z "$ZIP" ]; then
|
|
## echo "Rolling $DISTNAME.tar ..."
|
|
## (cd "$DIST_SANDBOX" > /dev/null && tar c "$DISTNAME") > \
|
|
## "$DISTNAME.tar"
|
|
## echo "Compressing to $DISTNAME.tar.gz ..."
|
|
## gzip -9f "$DISTNAME.tar"
|
|
##else
|
|
## echo "Rolling $DISTNAME.zip ..."
|
|
## (cd "$DIST_SANDBOX" > /dev/null && zip -q -r - "$DISTNAME") > \
|
|
## "$DISTNAME.zip"
|
|
##fi
|
|
##echo "Removing sandbox..."
|
|
##rm -rf "$DIST_SANDBOX"
|
|
##
|
|
##echo ""
|
|
##echo "Done:"
|
|
##if [ -z "$ZIP" ]; then
|
|
## ls -l "$DISTNAME.tar.gz"
|
|
## echo ""
|
|
## echo "md5sums:"
|
|
## md5sum "$DISTNAME.tar.gz"
|
|
## type sha1sum > /dev/null 2>&1
|
|
## if [ $? -eq 0 ]; then
|
|
## echo ""
|
|
## echo "sha1sums:"
|
|
## sha1sum "$DISTNAME.tar.gz"
|
|
## fi
|
|
##else
|
|
## ls -l "$DISTNAME.zip"
|
|
## echo ""
|
|
## echo "md5sum:"
|
|
## md5sum "$DISTNAME.zip"
|
|
## type sha1sum > /dev/null 2>&1
|
|
## if [ $? -eq 0 ]; then
|
|
## echo ""
|
|
## echo "sha1sum:"
|
|
## sha1sum "$DISTNAME.zip"
|
|
## fi
|
|
##fi |