mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-23 01:55:53 +03:00
c82eb02d64
This is part of fixing #6116: we want to put RC debs into a different place than release debs, so reprepro has to be able to tell them apart.
42 lines
1.2 KiB
Bash
42 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# The script to build the Debian package, as ran inside the Docker image.
|
|
|
|
set -ex
|
|
|
|
# Get the codename from distro env
|
|
DIST=`cut -d ':' -f2 <<< $distro`
|
|
|
|
# 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"
|
|
|
|
# if this is a prerelease, set the Section accordingly.
|
|
#
|
|
# When the package is later added to the package repo, reprepro will use the
|
|
# Section to determine which "component" it should go into (see
|
|
# https://manpages.debian.org/stretch/reprepro/reprepro.1.en.html#GUESSING)
|
|
|
|
DEB_VERSION=`dpkg-parsechangelog -SVersion`
|
|
case $DEB_VERSION in
|
|
*rc*|*a*|*b*|*c*)
|
|
sed -ie '/^Section:/c\Section: prerelease' debian/control
|
|
;;
|
|
esac
|
|
|
|
|
|
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
|