synapse: update to 1.49.0.

Remove outdated INSTALL and include default configs in package instead

Remove unneeded `finish` script from `synapse` service

Use `synapse_homeserver` entrypoint instead of calling python directly

Redirect stderr to stdout so that errors with config can be seen by user

Support ${makejobs} in do_check()
This commit is contained in:
Joel Beckmeyer 2021-12-02 12:13:58 -05:00 committed by Érico Nogueira Rolim
parent f5673da06e
commit 913ee1bd96
6 changed files with 112 additions and 37 deletions

View file

@ -1,27 +0,0 @@
#
# Tell user to generate configuration when they first install it
# Taken from Arch Linux
#
case "${ACTION}" in
post)
if [ ! -e /etc/synapse/homeserver.yaml ]; then
cat <<-EOF
==> A synapse configuration file needs to be generated before you can
start synapse, and you should make sure that it's readable by the
synapse user.
cd /var/lib/synapse
sudo -u synapse python3 -m synapse.app.homeserver \\
--server-name my.domain.name \\
--config-path /etc/synapse/homeserver.yaml \\
--generate-config \\
--report-stats=yes
N.B.: The default synapse config enables the webclient feature.
You need to either disable it, install the syweb python package
from matrix-angular-sdk, or set 'web_client_location' to a path
to make synapse not try to serve it using syweb.
EOF
fi
;;
esac

View file

@ -1,2 +0,0 @@
#!/bin/sh
exec synctl stop /etc/synapse/homeserver.yaml

View file

@ -1,5 +1,4 @@
#!/bin/sh
cd /var/lib/synapse
exec chpst -u synapse:synapse python3 \
-m synapse.app.homeserver \
--config-path=/etc/synapse/homeserver.yaml
exec 2>&1
exec chpst -u synapse:synapse synapse_homeserver -c /etc/synapse/homeserver.yaml

View file

@ -0,0 +1,88 @@
diff --git a/docs/sample_config.yaml b/docs/sample_config.yaml
index 6696ed5d1..f17661fff 100644
--- a/docs/sample_config.yaml
+++ b/docs/sample_config.yaml
@@ -68,11 +68,11 @@ modules:
# lowercase and may contain an explicit port.
# Examples: matrix.org, localhost:8080
#
-server_name: "SERVERNAME"
+#server_name: "SERVERNAME"
# When running as a daemon, the file to store the pid in
#
-pid_file: DATADIR/homeserver.pid
+#pid_file: /var/lib/synapse/homeserver.pid
# The absolute URL to the web client which /_matrix/client will redirect
# to if 'webclient' is configured under the 'listeners' configuration.
@@ -370,8 +370,8 @@ manhole_settings:
# If these are left unset, then hardcoded and non-secret keys are used,
# which could allow traffic to be intercepted if sent over a public network.
#
- #ssh_priv_key_path: CONFDIR/id_rsa
- #ssh_pub_key_path: CONFDIR/id_rsa.pub
+ #ssh_priv_key_path: /etc/synapse/id_rsa
+ #ssh_pub_key_path: /etc/synapse/id_rsa.pub
# Forward extremities can build up in a room due to networking delays between
# homeservers. Once this happens in a large room, calculation of the state of
@@ -614,11 +614,11 @@ retention:
# any intermediate certificates (for instance, if using certbot, use
# `fullchain.pem` as your certificate, not `cert.pem`).
#
-#tls_certificate_path: "CONFDIR/SERVERNAME.tls.crt"
+#tls_certificate_path: "/etc/synapse/SERVERNAME.tls.crt"
# PEM-encoded private key for TLS
#
-#tls_private_key_path: "CONFDIR/SERVERNAME.tls.key"
+#tls_private_key_path: "/etc/synapse/SERVERNAME.tls.key"
# Whether to verify TLS server certificates for outbound federation requests.
#
@@ -808,7 +808,7 @@ caches:
database:
name: sqlite3
args:
- database: DATADIR/homeserver.db
+ database: /var/lib/synapse/homeserver.db
## Logging ##
@@ -816,7 +816,7 @@ database:
# A yaml python logging config file as described by
# https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema
#
-log_config: "CONFDIR/SERVERNAME.log.config"
+log_config: "/etc/synapse/log.yaml"
## Ratelimiting ##
@@ -942,7 +942,7 @@ log_config: "CONFDIR/SERVERNAME.log.config"
# Directory where uploaded images and attachments are stored.
#
-media_store_path: "DATADIR/media_store"
+media_store_path: "/var/lib/synapse/media_store"
# Media storage providers allow media to be stored in different
# locations.
@@ -1531,7 +1531,7 @@ room_prejoin_state:
# Path to the signing key to sign messages with
#
-signing_key_path: "CONFDIR/SERVERNAME.signing.key"
+signing_key_path: "/etc/synapse/SERVERNAME.signing.key"
# The keys that the server used to sign messages with but won't use
# to sign new messages.
@@ -1710,7 +1710,7 @@ saml2_config:
# Instead of putting the config inline as above, you can specify a
# separate pysaml2 configuration file:
#
- #config_path: "CONFDIR/sp_conf.py"
+ #config_path: "/etc/synapse/sp_conf.py"
# The lifetime of a SAML session. This defines how long a user has to
# complete the authentication process, if allow_unsolicited is unset.

View file

@ -0,0 +1,13 @@
diff --git a/docs/sample_log_config.yaml b/docs/sample_log_config.yaml
index 2485ad25e..71465726b 100644
--- a/docs/sample_log_config.yaml
+++ b/docs/sample_log_config.yaml
@@ -19,7 +19,7 @@ handlers:
file:
class: logging.handlers.TimedRotatingFileHandler
formatter: precise
- filename: /var/log/matrix-synapse/homeserver.log
+ filename: /var/log/synapse/homeserver.log
when: midnight
backupCount: 3 # Does not include the current log file.
encoding: utf8

View file

@ -1,6 +1,6 @@
# Template file for 'synapse'
pkgname=synapse
version=1.48.0
version=1.49.0
revision=1
build_style=python3-module
hostmakedepends="python3-setuptools"
@ -12,26 +12,30 @@ depends="python3-jsonschema python3-frozendict python3-canonicaljson
python3-setuptools python3-bleach python3-Jinja2 python3-psycopg2 python3-lxml
python3-saml2 python3-treq python3-macaroons python3-sortedcontainers
python3-typing_extensions python3-ijson"
checkdepends="$depends python3-parameterized"
checkdepends="$depends python3-parameterized python3-mock"
short_desc="Matrix reference homeserver"
maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
license="Apache-2.0"
homepage="https://github.com/matrix-org/synapse"
changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
checksum=182facc856f8d0c0d2d0dd4105fae4f851297167c0ee95c202a3aad9ed86c486
checksum=3c1b73eb36ec3af00868707b929f9b9d1faae9ccc4022c2c46bdb025ef0ead8e
conf_files="/etc/synapse/homeserver.yaml /etc/synapse/log.yaml"
system_accounts="synapse"
synapse_homedir="/var/lib/synapse"
make_dirs="
/var/lib/synapse 0700 synapse synapse
/etc/synapse 0755 synapse synapse"
/var/log/synapse 0755 synapse synapse"
do_check() {
PYTHONPATH="." trial3 tests
PYTHONPATH="." trial3 ${makejobs} tests
}
post_install() {
vsv synapse
vinstall docs/sample_config.yaml 644 etc/synapse homeserver.yaml
vinstall docs/sample_log_config.yaml 644 etc/synapse log.yaml
}