From ddb9b7ea814588080d3e59a8f6dd8e99f96df491 Mon Sep 17 00:00:00 2001 From: Amin Bandali <amin.bandali@savoirfairelinux.com> Date: Tue, 11 May 2021 13:37:26 -0400 Subject: [PATCH] debian: build and package our own Qt and client-qt for Debian Testing Change-Id: I33f13231006e568a8de9b0e067db4aaf6f15739c --- docker/Dockerfile_debian_testing | 33 ++++++++++++++++++++++++ docker/Dockerfile_debian_testing_qt | 26 +++++++++++++++++++ packaging/rules/debian/jami-all.postinst | 2 ++ scripts/make-packaging-target.py | 11 ++++++++ 4 files changed, 72 insertions(+) create mode 100644 docker/Dockerfile_debian_testing create mode 100644 docker/Dockerfile_debian_testing_qt diff --git a/docker/Dockerfile_debian_testing b/docker/Dockerfile_debian_testing new file mode 100644 index 00000000..9ddb8efe --- /dev/null +++ b/docker/Dockerfile_debian_testing @@ -0,0 +1,33 @@ +FROM debian:testing + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get clean +RUN apt-get update && \ + apt-get install -y -o Acquire::Retries=10 \ + ca-certificates \ + devscripts \ + dirmngr \ + gnupg \ + wget + +RUN wget -O - https://dl.jami.net/public-key.gpg | \ + tee /usr/share/keyrings/jami-archive-keyring.gpg > /dev/null +RUN sh -c "echo 'deb [signed-by=/usr/share/keyrings/jami-archive-keyring.gpg] https://dl.jami.net/nightly/debian_testing_qt/ jami main' > /etc/apt/sources.list.d/libqt-jami.list" + +# add deb-src entries (needed for next step) +RUN sed -n '/^deb\s/s//deb-src /p' /etc/apt/sources.list > /etc/apt/sources.list.d/deb-src.list +RUN apt-get clean && apt-get update + +COPY packaging/rules/debian/* /tmp/builddeps/debian/ +RUN cd /tmp/builddeps && \ + apt-get update; \ + mk-build-deps \ + --remove --install \ + --tool "apt-get -y --no-install-recommends -o Acquire::Retries=10" \ + "debian/control"; \ + cd / && rm -rf /tmp/builddeps + +ADD scripts/build-package-debian.sh /opt/build-package-debian.sh + +CMD /opt/build-package-debian.sh diff --git a/docker/Dockerfile_debian_testing_qt b/docker/Dockerfile_debian_testing_qt new file mode 100644 index 00000000..e06d03da --- /dev/null +++ b/docker/Dockerfile_debian_testing_qt @@ -0,0 +1,26 @@ +FROM debian:testing + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get clean +RUN apt-get update && \ + apt-get install -y -o Acquire::Retries=10 \ + devscripts \ + wget + +# add/enable src repos (needed for next step) +RUN sed -n '/^deb\s/s//deb-src /p' /etc/apt/sources.list > /etc/apt/sources.list.d/deb-src.list + +RUN apt-get clean && apt-get update +COPY packaging/rules/debian-qt/* /tmp/builddeps/debian/ +RUN cd /tmp/builddeps && \ + apt-get update; \ + mk-build-deps \ + --remove --install \ + --tool "apt-get -y --no-install-recommends -o Acquire::Retries=10" \ + "debian/control"; \ + cd / && rm -rf /tmp/builddeps + +ADD scripts/build-package-debian-qt.sh /opt/build-package-debian-qt.sh + +CMD /opt/build-package-debian-qt.sh diff --git a/packaging/rules/debian/jami-all.postinst b/packaging/rules/debian/jami-all.postinst index b2ce6a31..6f49cce2 100755 --- a/packaging/rules/debian/jami-all.postinst +++ b/packaging/rules/debian/jami-all.postinst @@ -106,6 +106,8 @@ if [ -f /etc/os-release ]; then ENDTAG="ubuntu_20.10" elif [ "${UBUNTU_CODENAME}" = "hirsute" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_21.04" ]; then ENDTAG="ubuntu_21.04" + elif [ "${ID}" = "debian" ] && [ "$(command -v lsb_release)" ] && [ "$(lsb_release -rs)" = "testing" ]; then + ENDTAG="debian_testing" else # Distribution is not supported. Don't provide automatic updates. CAN_ADD_DEB_SOURCE=false diff --git a/scripts/make-packaging-target.py b/scripts/make-packaging-target.py index 63d8bdd7..8c9b63e5 100755 --- a/scripts/make-packaging-target.py +++ b/scripts/make-packaging-target.py @@ -153,6 +153,17 @@ def run_generate_all(parsed_args): "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, "version": "$(DEBIAN_QT_VERSION)", }, + { + "distribution": "debian_testing", + "output_file": "$(DEBIAN_DSC_FILENAME)", + "options": "-e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", + }, + { + "distribution": "debian_testing_qt", + "output_file": "$(DEBIAN_QT_DSC_FILENAME)", + "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, + "version": "$(DEBIAN_QT_VERSION)", + }, # Raspbian { "distribution": "raspbian_10_armhf", -- GitLab