diff --git a/debian/build_virtualenv b/debian/build_virtualenv index e691163619..71d50a43ce 100755 --- a/debian/build_virtualenv +++ b/debian/build_virtualenv @@ -43,7 +43,8 @@ dh_virtualenv \ --preinstall="wheel" \ --extra-pip-arg="--no-cache-dir" \ --extra-pip-arg="--compile" \ - --extras="all,systemd,test" + --extras="all,systemd,test" \ + --requirements="requirements.txt" PACKAGE_BUILD_DIR="debian/matrix-synapse-py3" VIRTUALENV_DIR="${PACKAGE_BUILD_DIR}${DH_VIRTUALENV_INSTALL_ROOT}/matrix-synapse" diff --git a/docker/Dockerfile-dhvirtualenv b/docker/Dockerfile-dhvirtualenv index fbc1d2346f..0922e9d526 100644 --- a/docker/Dockerfile-dhvirtualenv +++ b/docker/Dockerfile-dhvirtualenv @@ -85,6 +85,15 @@ RUN apt-get update -qq -o Acquire::Languages=none \ libpq-dev \ xmlsec1 +RUN pip3 install -U \ + pip \ + setuptools \ + wheel + +# We normally use poetry 1.1.12. However we need to use a prerelease of 1.2 here, +# which fixes a bug in poetry export that stops us from exporting for Python 3.8 builds. +RUN pip3 install poetry==1.2.0b1 + COPY --from=builder /dh-virtualenv_1.2.2-1_all.deb / # install dhvirtualenv. Update the apt cache again first, in case we got a diff --git a/docker/build_debian.sh b/docker/build_debian.sh index 9eae38af91..5adfbb48ca 100644 --- a/docker/build_debian.sh +++ b/docker/build_debian.sh @@ -11,6 +11,9 @@ DIST=$(cut -d ':' -f2 <<< "${distro:?}") cp -aT /synapse/source /synapse/build cd /synapse/build +# Export a requirements.txt file for the dh-virtualenv to use +poetry export --extras "all test" -o requirements.txt + # if this is a prerelease, set the Section accordingly. # # When the package is later added to the package repo, reprepro will use the