diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-12-20 11:33:29 +0000 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2018-12-20 11:33:29 +0000 |
commit | 1a6d5bfa08b4ba618dcab68e4ed524c4db07da2b (patch) | |
tree | c29f79003b2ff7bd8a26d5dcbdf44a1f96a71fed /docker/build_debian.sh | |
parent | import from package-debian-synapse (diff) | |
download | synapse-1a6d5bfa08b4ba618dcab68e4ed524c4db07da2b.tar.xz |
Debian packaging via dh_virtualenv (#4285)
Diffstat (limited to 'docker/build_debian.sh')
-rw-r--r-- | docker/build_debian.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/docker/build_debian.sh b/docker/build_debian.sh new file mode 100644 index 0000000000..cea5067fe9 --- /dev/null +++ b/docker/build_debian.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# The script to build the Debian package, as ran inside the Docker image. + +set -ex + +DIST=`lsb_release -c -s` + +# We need to build a newer dh_virtualenv on older OSes like Xenial. +if [ "$DIST" = 'xenial' ]; then + mkdir -p /tmp/dhvenv + cd /tmp/dhvenv + wget https://github.com/spotify/dh-virtualenv/archive/1.1.tar.gz + tar xvf 1.1.tar.gz + cd dh-virtualenv-1.1/ + env DEBIAN_FRONTEND=noninteractive mk-build-deps -ri -t "apt-get -yqq --no-install-recommends -o Dpkg::Options::=--force-unsafe-io" + dpkg-buildpackage -us -uc -b + cd /tmp/dhvenv + apt-get install -yqq ./dh-virtualenv_1.1-1_all.deb +fi + + +# we get a read-only copy of the source: make a writeable copy +cp -aT /synapse/source /synapse/build +cd /synapse/build + +# add an entry to the changelog for this distribution +dch -M -l "+$DIST" "build for $DIST" +dch -M -r "" --force-distribution --distribution "$DIST" + +dpkg-buildpackage -us -uc + +ls -l .. + +# copy the build results out, setting perms if necessary +shopt -s nullglob +for i in ../*.deb ../*.dsc ../*.tar.xz ../*.changes ../*.buildinfo; do + [ -z "$TARGET_USERID" ] || chown "$TARGET_USERID" "$i" + [ -z "$TARGET_GROUPID" ] || chgrp "$TARGET_GROUPID" "$i" + mv "$i" /debs +done |