2015-01-11 19:21:10 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
BRANCH=$2
|
|
|
|
|
if [ "${BRANCH}" == "" ]; then
|
|
|
|
|
BRANCH=$(hg identify -b)
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
REBUILDING=0
|
|
|
|
|
SHA1=$(hg identify -i | grep -Eo "[a-zA-Z0-9]+")
|
|
|
|
|
TAG=$(hg parents --template '{latesttag}')
|
|
|
|
|
TAGSHA=$(hg identify -r $TAG | cut -d ' ' -f 1)
|
|
|
|
|
BUILD=0
|
|
|
|
|
CHANGELOG="$(hg log --branch $BRANCH -X .hgtags --style=changelog -r ${TAG}:${SHA1})"
|
|
|
|
|
if [ "$TAG" == "" ]; then
|
|
|
|
|
BUILD=0
|
|
|
|
|
REBUILDING=1
|
|
|
|
|
MAJOR=$BRANCH
|
|
|
|
|
else
|
|
|
|
|
MAJOR=$(echo $TAG | cut -d \| -f 2)
|
|
|
|
|
BUILD=$(echo $TAG | cut -d \| -f 3)
|
|
|
|
|
SHORTTAGSHA=${TAGSHA:0:12}
|
|
|
|
|
hg log -r tip | grep "Added tag build|${BRANCH}|${BUILD} for changeset ${SHORTTAGSHA}" >/dev/null
|
|
|
|
|
if [ $? -ne 0 ] && [ "$TAGSHA" != "$SHA1" ]; then
|
|
|
|
|
CHANGELOG="$(hg log --branch $BRANCH -X .hgtags --style=changelog -r ${SHORTTAGSHA}:${SHA1})"
|
|
|
|
|
BUILD=$(expr $BUILD + 1)
|
|
|
|
|
REBUILDING=1
|
|
|
|
|
else
|
|
|
|
|
SHA1=$TAGSHA
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
OS_NAME=""
|
|
|
|
|
OS_VERSION=""
|
|
|
|
|
if [ "$OS_NAME" == "" ] && [ "$(uname)" == "Darwin" ]; then
|
|
|
|
|
OS_NAME="osx"
|
|
|
|
|
elif [ "$OS_NAME" == "" ] && [ -f /etc/redhat-release ]; then
|
|
|
|
|
OS_NAME="el"
|
|
|
|
|
elif [ "$OS_NAME" == "" ] && [ "$(uname | grep -i '^MINGW')" != "" ] || [ "$(uname | grep -i '^CYGWIN')" != "" ]; then
|
|
|
|
|
OS_NAME="win"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$OS_VERSION" == "" ] && [ "$OS_NAME" == "el" ]; then
|
|
|
|
|
OS_VERSION=$(cat /etc/redhat-release | grep -o "release [0-9]" | cut -d " " -f 2)
|
|
|
|
|
RHEL_VERSION=$OS_VERSION
|
|
|
|
|
elif [ "$OS_VERSION" == "" ] && [ "$OS_NAME" == "osx" ]; then
|
|
|
|
|
OS_VERSION="$(sw_vers | grep 'ProductVersion:' | grep -o '[0-9]*\.[0-9]*\.[0-9]*')"
|
|
|
|
|
elif [ "$OS_VERSION" == "" ] && [ "$OS_NAME" == "win" ]; then
|
|
|
|
|
echo "OS_VERSION unsupported on Microsoft Windows." >&2
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$ARCH" == "" ]; then
|
|
|
|
|
if [ "$OS_NAME" == "osx" ]; then
|
|
|
|
|
ARCH=$(uname -m)
|
|
|
|
|
elif [ "$OS_NAME" != "win" ]; then
|
|
|
|
|
ARCH=$(uname -i)
|
|
|
|
|
elif [ "$OS_NAME" == "win" ]; then
|
|
|
|
|
ARCH=$(uname -m)
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
SOURCE=$((cat .hg/hgrc 2>/dev/null | grep default | cut -d = -f 2 | sed s/"^ *"//g) || echo '')
|
|
|
|
|
|
|
|
|
|
echo "TAG=\"${TAG}\""
|
|
|
|
|
echo "BRANCH=\"${BRANCH}\""
|
|
|
|
|
echo "MAJOR=\"${MAJOR}\""
|
|
|
|
|
echo "BUILD=\"${BUILD}\""
|
|
|
|
|
echo "SHA1=\"${SHA1}\""
|
|
|
|
|
echo "OS_NAME=\"\${OS_NAME:-$OS_NAME}\""
|
|
|
|
|
echo "OS_VERSION=\"\${OS_VERSION:-$OS_VERSION}\""
|
|
|
|
|
echo "ARCH=\"\${ARCH:-$ARCH}\""
|
|
|
|
|
echo "VERSION=\"${MAJOR}-${BUILD}\""
|
|
|
|
|
echo "BUILDHOST=\"$(hostname)\""
|
|
|
|
|
echo "BUILDUSER=\"$(whoami)\""
|
|
|
|
|
echo "BUILDDIR=\"$(pwd)\""
|
|
|
|
|
echo "SOURCE=\"${SOURCE}\""
|
|
|
|
|
echo "REBUILDING=$REBUILDING"
|
|
|
|
|
echo "CHANGELOG=\"$CHANGELOG\""
|