RackHD/on-taskgraph

View on GitHub
HWIMO-BUILD

Summary

Maintainability
Test Coverage
#!/bin/bash

# Copyright 2015, 2016, EMC, Inc.

# debian packages expected...
# apt-get install git pbuilder dh-make ubuntu-dev-tools devscripts
# apt-get install nodejs nodejs-legacy npm

# Input (environment variables):
# * PKG_VERSION: The version of debian package, 
#                such as: 1.3.1 (official release);
#

set -e
set -x

rm -rf packagebuild
rsync -L -r . packagebuild
pushd packagebuild
cp ../package.json .

npm install --production --cache=`pwd`
git log -n 1 --pretty=format:%h.%ai.%s > commitstring.txt

export DEBEMAIL="hwimo robots <hwimo@hwimo.lab.emc.com>"
export DEBFULLNAME="The HWIMO Robots"

# If PKG_VERSION is not set as an environment variable
# compute it as below:
if [ -z "$PKG_VERSION" ];then
    GIT_COMMIT_DATE=$(git show -s --pretty="format:%ci")
    DATE_STRING=$(date -d "$GIT_COMMIT_DATE" -u +"%Y%m%dUTC")

    GIT_COMMIT_HASH=$(git show -s --pretty="format:%h")

    CHANGELOG_VERSION=$(dpkg-parsechangelog --show-field Version)

    PKG_VERSION="$CHANGELOG_VERSION-$DATE_STRING-$GIT_COMMIT_HASH"
fi

if [[ $PKG_VERSION =~ ^([0-9]+\.){2}[0-9]+$ ]];then
    # If version looks like 1.2.3, the build is official build.
    # So update the distribution of changelog from "UNRELEASED" to "unstable"
    dch -r ""
else
    COMMIT_STR=`git log -n 1 --oneline`
    dch -v $PKG_VERSION -u low $COMMIT_STR -b -m
fi

debuild --no-lintian --no-tgz-check -us -uc
popd