75 lines
2.2 KiB
Bash
75 lines
2.2 KiB
Bash
#!/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 identify -t)
|
|
LASTTAGGEDBUILD=$(hg log -r $(hg identify -n):0 --branch $BRANCH --template "{tags}\n" | grep -v "^$" | grep "build|" | head -n 1)
|
|
BUILD=0
|
|
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 ${SHA1} | grep "Added tag build|${BRANCH}|${BUILD} for changeset ${SHORTTAGSHA}" >/dev/null
|
|
if [ $? -ne 0 ] && [ "$TAGSHA" != "$SHA1" ]; then
|
|
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)" == "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 | grep default | cut -d = -f 2 | sed s/"^ *"//g)
|
|
|
|
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"
|