2021-03-25 19:53:54 +03:00
|
|
|
#!/usr/bin/env bash
|
2018-12-20 14:33:29 +03:00
|
|
|
|
|
|
|
# The script to build the Debian package, as ran inside the Docker image.
|
|
|
|
|
|
|
|
set -ex
|
|
|
|
|
2019-07-29 17:33:32 +03:00
|
|
|
# Get the codename from distro env
|
2021-10-23 01:07:23 +03:00
|
|
|
DIST=$(cut -d ':' -f2 <<< "${distro:?}")
|
2018-12-20 14:33:29 +03:00
|
|
|
|
|
|
|
# we get a read-only copy of the source: make a writeable copy
|
|
|
|
cp -aT /synapse/source /synapse/build
|
|
|
|
cd /synapse/build
|
|
|
|
|
2024-07-02 14:39:32 +03:00
|
|
|
# Delete any existing `.so` files to ensure a clean build.
|
|
|
|
rm -f /synapse/build/synapse/*.so
|
|
|
|
|
2021-07-14 16:41:40 +03:00
|
|
|
# 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)
|
|
|
|
|
2021-10-23 01:07:23 +03:00
|
|
|
DEB_VERSION=$(dpkg-parsechangelog -SVersion)
|
2021-07-14 16:41:40 +03:00
|
|
|
case $DEB_VERSION in
|
2021-08-01 12:47:36 +03:00
|
|
|
*~rc*|*~a*|*~b*|*~c*)
|
2021-07-14 16:41:40 +03:00
|
|
|
sed -ie '/^Section:/c\Section: prerelease' debian/control
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2021-08-01 12:47:36 +03:00
|
|
|
# add an entry to the changelog for this distribution
|
|
|
|
dch -M -l "+$DIST" "build for $DIST"
|
|
|
|
dch -M -r "" --force-distribution --distribution "$DIST"
|
2021-07-14 16:41:40 +03:00
|
|
|
|
2018-12-20 14:33:29 +03:00
|
|
|
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
|