Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Improve Depends specs in debian package. #5675

Merged
merged 1 commit into from
Jul 17, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/5675.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Minor tweaks to postgres documentation.
3 changes: 3 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ matrix-synapse-py3 (1.1.0-1) UNRELEASED; urgency=medium
[ Amber Brown ]
* Update logging config defaults to match API changes in Synapse.

[ Richard van der Hoff ]
* Add Recommends and Depends for some libraries which you probably want.

-- Erik Johnston <erikj@rae> Thu, 04 Jul 2019 13:59:02 +0100

matrix-synapse-py3 (1.1.0) stable; urgency=medium
Expand Down
7 changes: 7 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,20 @@ 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.
Build-Depends:
debhelper (>= 9),
dh-systemd,
dh-virtualenv (>= 1.1),
libsystemd-dev,
libpq-dev,
lsb-release,
python3-dev,
python3,
python3-setuptools,
python3-pip,
python3-venv,
libsqlite3-dev,
tar,
Standards-Version: 3.9.8
Homepage: https://github.com/matrix-org/synapse
Expand All @@ -28,9 +32,12 @@ Depends:
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},
Expand Down
14 changes: 14 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,29 @@
# Build Debian package using https://github.com/spotify/dh-virtualenv
#

# assume we only have one package
PACKAGE_NAME:=`dh_listpackages`

override_dh_systemd_enable:
dh_systemd_enable --name=matrix-synapse

override_dh_installinit:
dh_installinit --name=matrix-synapse

# we don't really want to strip the symbols from our object files.
override_dh_strip:

override_dh_shlibdeps:
# make the postgres package's dependencies a recommendation
# rather than a hard dependency.
find debian/$(PACKAGE_NAME)/ -path '*/site-packages/psycopg2/*.so' | \
xargs dpkg-shlibdeps -Tdebian/$(PACKAGE_NAME).substvars \
-pshlibs1 -dRecommends

# all the other dependencies can be normal 'Depends' requirements,
# except for PIL's, which is self-contained and which confuses
# dpkg-shlibdeps.
dh_shlibdeps -X site-packages/PIL/.libs -X site-packages/psycopg2

override_dh_virtualenv:
./debian/build_virtualenv
Expand Down
3 changes: 3 additions & 0 deletions docker/Dockerfile-dhvirtualenv
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ RUN cd dh-virtualenv-1.1 && dpkg-buildpackage -us -uc -b
FROM ${distro}

# Install the build dependencies
#
# NB: keep this list in sync with the list of build-deps in debian/control
# TODO: it would be nice to do that automatically.
RUN apt-get update -qq -o Acquire::Languages=none \
&& env DEBIAN_FRONTEND=noninteractive apt-get install \
-yqq --no-install-recommends -o Dpkg::Options::=--force-unsafe-io \
Expand Down
8 changes: 5 additions & 3 deletions docs/postgres.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ a postgres database.

* If you are using the `matrix.org debian/ubuntu
packages <../INSTALL.md#matrixorg-packages>`_,
the necessary libraries will already be installed.
the necessary python library will already be installed, but you will need to
ensure the low-level postgres library is installed, which you can do with
``apt install libpq5``.

* For other pre-built packages, please consult the documentation from the
relevant package.
Expand All @@ -34,7 +36,7 @@ Assuming your PostgreSQL database user is called ``postgres``, create a user
su - postgres
createuser --pwprompt synapse_user

Before you can authenticate with the ``synapse_user``, you must create a
Before you can authenticate with the ``synapse_user``, you must create a
database that it can access. To create a database, first connect to the database
with your database user::

Expand All @@ -53,7 +55,7 @@ and then run::
This would create an appropriate database named ``synapse`` owned by the
``synapse_user`` user (which must already have been created as above).

Note that the PostgreSQL database *must* have the correct encoding set (as
Note that the PostgreSQL database *must* have the correct encoding set (as
shown above), otherwise it will not be able to store UTF8 strings.

You may need to enable password authentication so ``synapse_user`` can connect
Expand Down