summary refs log tree commit diff
path: root/docker/build_debian.sh
blob: cea5067fe9f3f5152badf7e460f8033586d816d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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