Merge branch 'synapse-upstream-repository' into 'master'

__matrix_synapse: use matrix.org APT repository for Debian

See merge request ungleich-public/cdist-contrib!41
This commit is contained in:
fnux 2021-10-30 14:13:45 +02:00
commit 96e335d285

View file

@ -19,41 +19,23 @@
# #
# OS-specific configuration. # OS-specific configuration.
os=$(cat "$__global/explorer/os") os=$(cat "${__global:?}/explorer/os")
distribution=$(cat "$__global/explorer/lsb_codename")
case "$os" in case "$os" in
debian) debian)
synapse_user=matrix-synapse synapse_user=matrix-synapse
synapse_pkg=matrix-synapse synapse_pkg=matrix-synapse-py3
synapse_service=matrix-synapse synapse_service=matrix-synapse
ldap_auth_provider_pkg=matrix-synapse-ldap3 ldap_auth_provider_pkg=matrix-synapse-ldap3
synapse_conf_dir='/etc/matrix-synapse' synapse_conf_dir='/etc/matrix-synapse'
synapse_data_dir='/var/lib/matrix-synapse' synapse_data_dir='/var/lib/matrix-synapse'
# See https://packages.debian.org/bullseye/matrix-synapse for state of # We directly use upstream's APT repository.
# synapse packaging in debian. # See https://code.ungleich.ch/ungleich-public/cdist-contrib/-/issues/11 for details.
case "$distribution" in __apt_key matrix-org --uri https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
stretch) require="__apt_key/matrix-org" __apt_source matrix-org \
echo "The matrix-synapse package in debian stretch is outdated and unusable." >&2 --uri https://packages.matrix.org/debian/ \
exit 1 --component main
;;
buster)
# Enable debian-backports for debian Buster, as the 'stable'
# matrix-synapse package is ways too old (< 1.0).
apt_target_release=buster-backports
__apt_backports
;;
bullseye|sid)
# As of writting (2021-02), the default matrix-synapse of those
# release is perfectly usable.
:
;;
*)
echo "Unknown debian release '$distribution'. Exiting" >&2
exit 1
;;
esac
;; ;;
alpine) alpine)
synapse_user=synapse synapse_user=synapse
@ -74,7 +56,7 @@ esac
# Small helper used to get boolean values which can be used as-is in the # Small helper used to get boolean values which can be used as-is in the
# configuration template. # configuration template.
get_boolean_for () { get_boolean_for () {
if [ -f "$__object/parameter/${1:?}" ]; then if [ -f "${__object:?}/parameter/${1:?}" ]; then
echo 'true' echo 'true'
else else
echo 'false' echo 'false'
@ -309,12 +291,10 @@ case "$DATABASE_ENGINE" in
esac esac
# Install OS packages. We have a bit of boilerplate to handle the debian # Install OS packages. We have a bit of boilerplate to handle the debian case.
# backports situation.
synapse_req= synapse_req=
if [ -n "$apt_target_release" ]; then if [ "$os" = "debian" ]; then
require="__apt_backports" __package_apt "$synapse_pkg" \ require="__apt_source/matrix-org" __package_apt "$synapse_pkg"
--target-release "$apt_target_release"
synapse_req="__package_apt/$synapse_pkg" synapse_req="__package_apt/$synapse_pkg"
else else
__package "$synapse_pkg" __package "$synapse_pkg"
@ -322,12 +302,12 @@ else
fi fi
if [ -n "$ENABLE_LDAP_AUTH" ]; then if [ -n "$ENABLE_LDAP_AUTH" ]; then
if [ -n "$apt_target_release" ]; then if [ "$os" = "debian" ]; then
require="__package_apt/$synapse_pkg" __package_apt "$ldap_auth_provider_pkg" \ require="__apt_source/matrix-org" __package_apt "$ldap_auth_provider_pkg"
--target-release "$apt_target_release"
else else
__package "$ldap_auth_provider_pkg" __package "$ldap_auth_provider_pkg"
fi fi
synapse_req="$synapse_req __package_apt/$ldap_auth_provider_pkg"
fi fi
# Generate and deploy configuration files. # Generate and deploy configuration files.