Skip to content

Commit

Permalink
CXX-2990 Fix Debian Package Build on Evergreen (#1119)
Browse files Browse the repository at this point in the history
  • Loading branch information
kkloberdanz committed Mar 15, 2024
1 parent 26260ad commit 6628554
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions .evergreen/debian_package_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,15 @@ if [ ! -z "${DEB_BUILD_PROFILES}" ]; then
fi

if [ "${IS_PATCH}" = "true" ]; then
git diff HEAD -- . ':!debian' > ../upstream.patch
git diff HEAD -- debian > ../debian.patch
git diff HEAD > ../upstream.patch
git clean -fdx
git reset --hard HEAD
git remote add upstream https://github.com/mongodb/mongo-cxx-driver
git fetch upstream
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
git checkout upstream/debian/unstable
git checkout ${CURRENT_BRANCH}
git checkout upstream/debian/unstable -- ./debian/
if [ -s ../upstream.patch ]; then
[ -d debian/patches ] || mkdir debian/patches
mv ../upstream.patch debian/patches/
Expand All @@ -33,26 +38,21 @@ if [ "${IS_PATCH}" = "true" ]; then
git commit -m 'Evergreen patch build - upstream changes'
git log -n1 -p
fi
if [ -s ../debian.patch ]; then
git apply --index ../debian.patch
git commit -m 'Evergreen patch build - Debian packaging changes'
git log -n1 -p
fi
fi
if [ "${DEB_BUILD_PROFILES#*pkg.mongo-cxx-driver.mnmlstc}" != "${DEB_BUILD_PROFILES}" ]; then
MNMLSTC_DEPS="git ca-certificates"
MNMLSTC_INCLUDE="-I/usr/include/bsoncxx/v_noabi/bsoncxx/third_party/mnmlstc "
fi

export CURRENT_BRANCH="$(git rev-parse --abbrev-ref HEAD)"

cd ..

git clone https://salsa.debian.org/installer-team/debootstrap.git debootstrap.git
export DEBOOTSTRAP_DIR=`pwd`/debootstrap.git
sudo -E ./debootstrap.git/debootstrap unstable ./unstable-chroot/ http://cdn-aws.deb.debian.org/debian
sudo -E ./debootstrap.git/debootstrap --variant=buildd unstable ./unstable-chroot/ http://cdn-aws.deb.debian.org/debian
cp -a mongo-cxx-driver ./unstable-chroot/tmp/
sudo DEB_BUILD_PROFILES="${DEB_BUILD_PROFILES}" chroot ./unstable-chroot /bin/bash -c "
(apt-get install -y build-essential git-buildpackage fakeroot debhelper pkg-config cmake curl ca-certificates libboost-dev libsasl2-dev libutf8proc-dev doxygen ${MNMLSTC_DEPS} && \
(apt-get install -y ca-certificates cmake debhelper doxygen git libboost-dev libsasl2-dev libsnappy-dev libssl-dev libutf8proc-dev pkgconf zlib1g-dev build-essential curl fakeroot furo git-buildpackage python3-sphinx python3-sphinx-design && \
mkdir /tmp/mongo-c-driver && \
curl -o deb.tar.gz -L https://s3.amazonaws.com/mciuploads/mongo-c-driver/master/mongo-c-driver-debian-packages-latest.tar.gz && \
tar zxvf deb.tar.gz && \
Expand All @@ -63,7 +63,13 @@ sudo DEB_BUILD_PROFILES="${DEB_BUILD_PROFILES}" chroot ./unstable-chroot /bin/ba
git reset --hard HEAD && \
python3 etc/calc_release_version.py > build/VERSION_CURRENT && \
git add --force build/VERSION_CURRENT && \
git commit build/VERSION_CURRENT -m 'Set current version' && \
git remote remove upstream || true && \
git remote add upstream https://github.com/mongodb/mongo-cxx-driver && \
git fetch upstream && \
git checkout upstream/debian/unstable && \
git checkout ${CURRENT_BRANCH} && \
git checkout upstream/debian/unstable -- ./debian/ && \
git commit -m 'fetch debian directory from the debian/unstable branch' && \
LANG=C /bin/bash -x ./debian/build_snapshot.sh && \
debc ../*.changes && \
dpkg -i ../*.deb && \
Expand Down

0 comments on commit 6628554

Please sign in to comment.