blob: 2fe7e3bc162e452a948a913bf6ad0773ad45f49d [file] [log] [blame]
#!/bin/bash
# helper script to be invoked by jenkins/buildbot or github actions
# $1 [optional]: the build type - release | nightly | test
buildtype=${1:-test}
set -x
set -e
PARALLEL=${PARALLEL:-1}
TMP=$(mktemp -d /tmp/debuild.XXXXXX)
function cleanup() {
[[ -d $TMP ]] && rm -rf $TMP
}
trap cleanup EXIT
# populate submodules
git submodule update --init --recursive
. scripts/git-tag.sh
git archive HEAD --prefix=bcc/ --format=tar -o $TMP/bcc_$revision.orig.tar
# archive submodules
pushd src/cc/libbpf
git archive HEAD --prefix=bcc/src/cc/libbpf/ --format=tar -o $TMP/bcc_libbpf_$revision.orig.tar
popd
pushd $TMP
# merge all archives into bcc_$revision.orig.tar.gz
tar -A -f bcc_$revision.orig.tar bcc_libbpf_$revision.orig.tar
gzip bcc_$revision.orig.tar
tar xf bcc_$revision.orig.tar.gz
cd bcc
debuild=debuild
if [[ "$buildtype" = "test" ]]; then
# when testing, use faster compression options
debuild+=" --preserve-envvar PATH"
echo -e '#!/bin/bash\nexec /usr/bin/dpkg-deb -z1 "$@"' \
| sudo tee /usr/local/bin/dpkg-deb
sudo chmod +x /usr/local/bin/dpkg-deb
dch -b -v $revision-$release "$git_subject"
fi
if [[ "$buildtype" = "nightly" ]]; then
dch -v $revision-$release "$git_subject"
fi
DEB_BUILD_OPTIONS="nocheck parallel=${PARALLEL}" $debuild -us -uc
popd
cp $TMP/*.deb .