forked from MirrorHub/synapse
fa6deb298b
Debian package builds were failing for two reasons: 1. Python versions prior to 3.7 throw exceptions when attempting to print Unicode characters under a "C" locale. (#9076) 2. We depended on `dh-systemd` which no longer exists in Debian Bullseye, but is necessary in Ubuntu Xenial. (#9073) Setting `LANG="C.UTF-8"` in the build environment fixes the first issue. See also: https://bugs.python.org/issue19846 The second issue is a bit trickier. The dh-systemd package was merged into debhelper version 9.20160709 and a transitional package left in its wake. The transitional dh-systemd package was removed in Debian Bullseye. However, Ubuntu Xenial ships an older debhelper, and still needs dh-systemd. Thus, builds were failing on Bullseye since we depended on a package which had ceased existing, but we couldn't remove it from the debian/control file and our build scripts because we still needed it for Ubuntu Xenial. We can fix the debian/control issue by listing dh-systemd as an alternative to the newer versions of debhelper. Since dh-systemd declares that it depends on debhelper, Ubuntu Xenial will select its older dh-systemd which will in turn pull in its older debhelper, resulting in no change from the status quo. All other supported releases will satisfy the debhelper dependency constraint and skip the dh-systemd alternative. Build scripts were fixed by unconditionally attempting to install dh-systemd on all releases and suppressing failures. Once we drop support for Ubuntu Xenial, we can revert most of this commit and rely on the version constraint on debhelper in debian/control. Fixes #9076 Fixes #9073 Signed-off-by: Dan Callahan <danc@element.io>
48 lines
1.4 KiB
Text
48 lines
1.4 KiB
Text
Source: matrix-synapse-py3
|
|
Section: contrib/python
|
|
Priority: extra
|
|
Maintainer: Synapse Packaging team <packages@matrix.org>
|
|
# keep this list in sync with the build dependencies in docker/Dockerfile-dhvirtualenv.
|
|
# TODO: Remove the dependency on dh-systemd after dropping support for Ubuntu xenial
|
|
# On all other supported releases, it's merely a transitional package which
|
|
# does nothing but depends on debhelper (> 9.20160709)
|
|
Build-Depends:
|
|
debhelper (>= 9.20160709) | dh-systemd,
|
|
dh-virtualenv (>= 1.1),
|
|
libsystemd-dev,
|
|
libpq-dev,
|
|
lsb-release,
|
|
python3-dev,
|
|
python3,
|
|
python3-setuptools,
|
|
python3-pip,
|
|
python3-venv,
|
|
tar,
|
|
Standards-Version: 3.9.8
|
|
Homepage: https://github.com/matrix-org/synapse
|
|
|
|
Package: matrix-synapse-py3
|
|
Architecture: amd64
|
|
Provides: matrix-synapse
|
|
Conflicts:
|
|
matrix-synapse (<< 0.34.0.1-0matrix2),
|
|
matrix-synapse (>= 0.34.0.1-1),
|
|
Pre-Depends: dpkg (>= 1.16.1)
|
|
Depends:
|
|
adduser,
|
|
debconf,
|
|
python3-distutils|libpython3-stdlib (<< 3.6),
|
|
${misc:Depends},
|
|
${shlibs:Depends},
|
|
${synapse:pydepends},
|
|
# some of our scripts use perl, but none of them are important,
|
|
# so we put perl:Depends in Suggests rather than Depends.
|
|
Recommends:
|
|
${shlibs1:Recommends},
|
|
Suggests:
|
|
sqlite3,
|
|
${perl:Depends},
|
|
Description: Open federated Instant Messaging and VoIP server
|
|
Matrix is an ambitious new ecosystem for open federated Instant
|
|
Messaging and VoIP. Synapse is a reference Matrix server
|
|
implementation.
|