ci-image-git-buildpackage/gitlab-ci-git-buildpackage

33 lines
1001 B
Bash
Executable File

#!/bin/bash
if [ "$CI_COMMIT_REF_NAME" == "upstream" ] || [ "$CI_COMMIT_REF_NAME" == "pristine-tar" ]; then
echo No builds run on the $CI_COMMIT_REF_NAME branch, exiting
exit 0
fi
set -e
set -x
apt-get -qy update
apt-get -qy dist-upgrade
cd $CI_PROJECT_DIR
export BUILD_DEPENDS=`sed 's/\s*|[^,]*,/,/g' debian/control | perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p'`
apt-get -qy install --no-install-recommends \
build-essential dpkg-dev fakeroot git-buildpackage pristine-tar $BUILD_DEPENDS
apt-get -qy autoremove --purge
dpkg-checkbuilddeps
echo "ensure pristine-tar branch exists"
git branch -a
git remote -v
git branch --track pristine-tar origin/pristine-tar || true
echo "make master branch current for gbp"
git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA"
if [ -z "$CI_COMMIT_TAG" ]; then
gbp buildpackage -uc -us --git-debian-branch="$CI_COMMIT_REF_NAME"
else
gbp buildpackage -uc -us
fi
exec "$@"