#!/bin/bash -e . /usr/share/gitlab-ci-common # these are all required ! test -z "$CI_PROJECT_DIR" ! test -z "$CI_COMMIT_SHA" ! test -z "$CI_COMMIT_TAG" ! test -z "$CI_COMMIT_REF_NAME" set -x # delete any possible remnants from previous runs, except orig tarballs find $(dirname $CI_PROJECT_DIR) -maxdepth 1 -type f -name '*-[0-9]*.*' -print -delete $apt_get update cd $CI_PROJECT_DIR if dpkg --compare-versions `dpkg -s apt |sed -n 's,^Version: \(.*\),\1,p'` ge 1.1; then $apt_get -o APT::Get::Build-Dep-Automatic=yes build-dep $CI_PROJECT_DIR else # this is running on an older version, like jessie-backports 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 install --no-install-recommends \ build-essential fakeroot git-buildpackage pristine-tar $BUILD_DEPENDS fi dpkg-checkbuilddeps debversion=$(dpkg-parsechangelog -S Version) if [[ $debversion = *-* ]]; then echo "ensure pristine-tar branch exists and is current" git clean -fdx git reset --hard git fetch --all git checkout -B pristine-tar origin/pristine-tar || ( \ echo "no pristine-tar branch, trying uscan"; apt_get_auto_install gnupg2 libwww-perl; uscan --verbose --download-current-version --force-download --rename --skip-signature; ) else echo "building native package version $debversion" fi echo "make $CI_COMMIT_REF_NAME 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