From 6d0caec2058b545487fe0eacd59aa08b5acc605c Mon Sep 17 00:00:00 2001 From: Amin Bandali <amin.bandali@savoirfairelinux.com> Date: Wed, 17 Mar 2021 10:40:22 -0400 Subject: [PATCH] debian: build and package client-qt Also remove unused DEBIAN_PACKAGING_OVERRIDE. Change-Id: Ida109a811bebd1fb46fd1a8b90fb5463518382c0 --- docker/Dockerfile_debian_10 | 86 ++++++----------- docker/Dockerfile_debian_10_arm64 | 86 ++++++----------- docker/Dockerfile_debian_10_armhf | 86 ++++++----------- docker/Dockerfile_debian_10_i386 | 86 ++++++----------- docker/Dockerfile_ubuntu_18.04 | 95 ++++++------------- docker/Dockerfile_ubuntu_18.04_i386 | 95 ++++++------------- docker/Dockerfile_ubuntu_20.04 | 88 ++++++----------- docker/Dockerfile_ubuntu_20.10 | 88 ++++++----------- .../rules/debian-one-click-install/control | 49 +++++++--- .../rules/debian-one-click-install/copyright | 1 - .../rules/debian-one-click-install/rules | 41 +++++++- packaging/rules/debian/control | 83 ++++++++++++---- packaging/rules/debian/copyright | 1 - packaging/rules/debian/rules | 61 +++++++++++- scripts/build-package-debian.sh | 14 --- scripts/make-packaging-target.py | 47 ++------- 16 files changed, 436 insertions(+), 571 deletions(-) diff --git a/docker/Dockerfile_debian_10 b/docker/Dockerfile_debian_10 index 6bd069d3..10dc6cc6 100644 --- a/docker/Dockerfile_debian_10 +++ b/docker/Dockerfile_debian_10 @@ -1,67 +1,37 @@ FROM debian:buster -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get clean RUN apt-get update && \ - apt-get install -y vim devscripts + apt-get install -y -o Acquire::Retries=10 \ + ca-certificates \ + devscripts \ + dirmngr \ + gnupg \ + wget -# Speed up mk-build-deps -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y -o Acquire::Retires=10 \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - nasm \ - libtool \ - libdbus-1-dev \ - libdbus-c++-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libappindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev +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_10_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 diff --git a/docker/Dockerfile_debian_10_arm64 b/docker/Dockerfile_debian_10_arm64 index 0a1024ef..e14ed3bc 100644 --- a/docker/Dockerfile_debian_10_arm64 +++ b/docker/Dockerfile_debian_10_arm64 @@ -1,67 +1,37 @@ FROM arm64v8/debian:buster -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get clean RUN apt-get update && \ - apt-get install -y vim devscripts + apt-get install -y -o Acquire::Retries=10 \ + ca-certificates \ + devscripts \ + dirmngr \ + gnupg \ + wget -# Speed up mk-build-deps -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y -o Acquire::Retires=10 \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - nasm \ - libtool \ - libdbus-1-dev \ - libdbus-c++-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libappindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev +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_10_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 diff --git a/docker/Dockerfile_debian_10_armhf b/docker/Dockerfile_debian_10_armhf index a6e8f8c6..b248da2c 100644 --- a/docker/Dockerfile_debian_10_armhf +++ b/docker/Dockerfile_debian_10_armhf @@ -1,67 +1,37 @@ FROM arm32v7/debian:buster -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get clean RUN apt-get update && \ - apt-get install -y vim devscripts + apt-get install -y -o Acquire::Retries=10 \ + ca-certificates \ + devscripts \ + dirmngr \ + gnupg \ + wget -# Speed up mk-build-deps -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y -o Acquire::Retires=10 \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - nasm \ - libtool \ - libdbus-1-dev \ - libdbus-c++-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libappindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev +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_10_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 diff --git a/docker/Dockerfile_debian_10_i386 b/docker/Dockerfile_debian_10_i386 index 15e1f627..f40d4673 100644 --- a/docker/Dockerfile_debian_10_i386 +++ b/docker/Dockerfile_debian_10_i386 @@ -1,67 +1,37 @@ FROM i386/debian:buster -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get clean RUN apt-get update && \ - apt-get install -y vim devscripts + apt-get install -y -o Acquire::Retries=10 \ + ca-certificates \ + devscripts \ + dirmngr \ + gnupg \ + wget -# Speed up mk-build-deps -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y -o Acquire::Retires=10 \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - nasm \ - libtool \ - libdbus-1-dev \ - libdbus-c++-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libappindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev +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_10_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 diff --git a/docker/Dockerfile_ubuntu_18.04 b/docker/Dockerfile_ubuntu_18.04 index 750bdaf0..da48ed1e 100644 --- a/docker/Dockerfile_ubuntu_18.04 +++ b/docker/Dockerfile_ubuntu_18.04 @@ -1,75 +1,40 @@ FROM ubuntu:18.04 -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y devscripts equivs - -# Speed up mk-build-deps RUN apt-get clean RUN apt-get update && \ apt-get install -y -o Acquire::Retries=10 \ - g++-8 \ + ca-certificates \ + devscripts \ + dirmngr \ + equivs \ gcc-8 \ - cpp-8 \ - file \ - make \ - libc6-dev \ - libstdc++-8-dev \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - libdbus-1-dev \ - libdbus-c++-dev \ - libgnutls28-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - nasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libayatana-appindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev \ - libsndfile1-dev + g++-8 \ + 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/ubuntu_18.04_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50 RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50 diff --git a/docker/Dockerfile_ubuntu_18.04_i386 b/docker/Dockerfile_ubuntu_18.04_i386 index 55ad8325..35d636ff 100644 --- a/docker/Dockerfile_ubuntu_18.04_i386 +++ b/docker/Dockerfile_ubuntu_18.04_i386 @@ -1,75 +1,40 @@ FROM i386/ubuntu:18.04 -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y devscripts equivs - -# Speed up mk-build-deps RUN apt-get clean RUN apt-get update && \ apt-get install -y -o Acquire::Retries=10 \ - g++-8 \ + ca-certificates \ + devscripts \ + dirmngr \ + equivs \ gcc-8 \ - cpp-8 \ - file \ - make \ - libc6-dev \ - libstdc++-8-dev \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - libdbus-1-dev \ - libdbus-c++-dev \ - libgnutls28-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - nasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libayatana-appindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev \ - libsndfile1-dev + g++-8 \ + 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/ubuntu_18.04_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50 RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50 diff --git a/docker/Dockerfile_ubuntu_20.04 b/docker/Dockerfile_ubuntu_20.04 index 30fa8c38..d4bb9ae8 100644 --- a/docker/Dockerfile_ubuntu_20.04 +++ b/docker/Dockerfile_ubuntu_20.04 @@ -1,68 +1,38 @@ FROM ubuntu:20.04 -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y devscripts equivs - -# Speed up mk-build-deps RUN apt-get clean RUN apt-get update && \ apt-get install -y -o Acquire::Retries=10 \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - libtool \ - libdbus-1-dev \ - libdbus-c++-dev \ - libgnutls28-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - nasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libayatana-appindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev + ca-certificates \ + devscripts \ + dirmngr \ + equivs \ + 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/ubuntu_20.04_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 diff --git a/docker/Dockerfile_ubuntu_20.10 b/docker/Dockerfile_ubuntu_20.10 index 9d97d3e1..6201b424 100644 --- a/docker/Dockerfile_ubuntu_20.10 +++ b/docker/Dockerfile_ubuntu_20.10 @@ -1,68 +1,38 @@ FROM ubuntu:20.10 -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get clean RUN apt-get update && \ - apt-get install -y devscripts equivs + apt-get install -y -o Acquire::Retries=10 \ + ca-certificates \ + devscripts \ + dirmngr \ + equivs \ + gnupg \ + wget -# Speed up mk-build-deps -RUN apt-get clean -RUN apt-get update && \ - apt-get install -y -o Acquire::Retries=3 \ - git \ - autoconf \ - automake \ - autopoint \ - cmake \ - libtool \ - libdbus-1-dev \ - libdbus-c++-dev \ - libgnutls28-dev \ - libargon2-0-dev \ - libcanberra-gtk3-dev \ - libclutter-gtk-1.0-dev \ - libclutter-1.0-dev \ - libglib2.0-dev \ - libgtk-3-dev \ - libnotify-dev \ - qtbase5-dev \ - qttools5-dev \ - qttools5-dev-tools \ - yasm \ - nasm \ - autotools-dev \ - gettext \ - libpulse-dev \ - libasound2-dev \ - libexpat1-dev \ - libpcre3-dev \ - libyaml-cpp-dev \ - libboost-dev \ - libxext-dev \ - libxfixes-dev \ - libspeex-dev \ - libspeexdsp-dev \ - uuid-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - libswscale-dev \ - libavdevice-dev \ - libopus-dev \ - libudev-dev \ - libgsm1-dev \ - libjsoncpp-dev \ - libmsgpack-dev \ - libnatpmp-dev \ - libayatana-appindicator3-dev \ - libqrencode-dev \ - libnm-dev \ - libwebkit2gtk-4.0-dev \ - libcrypto++-dev \ - libva-dev \ - libvdpau-dev \ - libssl-dev +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/ubuntu_20.10_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/* ${OVERRIDE_PACKAGING_DIR} /tmp/builddeps/debian/ +RUN cd /tmp/builddeps/debian; \ + if [ -n "${OVERRIDE_PACKAGING_DIR}" ] && [ -d "$(basename ${OVERRIDE_PACKAGING_DIR})" ]; then \ + mv "$(basename ${OVERRIDE_PACKAGING_DIR})"/* .; \ + rm -r "$(basename ${OVERRIDE_PACKAGING_DIR})"; \ + fi; \ + cd ..; \ + 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 diff --git a/packaging/rules/debian-one-click-install/control b/packaging/rules/debian-one-click-install/control index 3f376e5e..982c778d 100644 --- a/packaging/rules/debian-one-click-install/control +++ b/packaging/rules/debian-one-click-install/control @@ -1,29 +1,50 @@ Source: jami Section: comm Priority: optional -Maintainer: Alexandre Viau <aviau@debian.org> +Maintainer: The Jami project <jami@gnu.org> Build-Depends: debhelper (>= 9), autoconf, automake, cmake, libtool, autotools-dev, +# qt client + libqt-jami, +# libqt5svg5-dev, +# qml-module-qt-labs-platform, +# qml-module-qtquick-controls, +# qml-module-qtquick-controls2, +# qml-module-qtquick-dialogs, +# qml-module-qtquick-layouts, +# qml-module-qtquick-privatewidgets, +# qml-module-qtquick-shapes, +# qml-module-qtquick-templates2, +# qml-module-qtquick-window2, +# qml-module-qtquick2, +# qml-module-qtwebchannel, +# qml-module-qtwebengine | qml-module-qtwebkit, +# qtdeclarative5-dev, +# qtmultimedia5-dev, +# qtquickcontrols2-5-dev, +# qtwebengine5-dev | libqtwebkit-dev, +# both qt client and gnome client + libnm-dev, + libnotify-dev, # gnome client libebook1.2-dev, + libcanberra-gtk3-dev, libclutter-gtk-1.0-dev, libclutter-1.0-dev, libglib2.0-dev, libgtk-3-dev, - libnotify-dev, - qtbase5-dev, - qttools5-dev, - qttools5-dev-tools, +# qtbase5-dev, +# qttools5-dev, +# qttools5-dev-tools, gettext, libqrencode-dev, libayatana-appindicator3-dev | libappindicator3-dev, - libnm-dev, libwebkit2gtk-4.0-dev | libwebkit2gtk-3.0-dev, -# jami-daemon +# daemon libdbus-1-dev, libdbus-c++-dev, libupnp-dev, @@ -52,7 +73,9 @@ Build-Depends: debhelper (>= 9), libva-dev, libcrypto++-dev, libvdpau-dev, + libssl-dev, # other + nasm, yasm, Standards-Version: 4.1.5 Homepage: https://jami.net @@ -61,24 +84,22 @@ Vcs-Browser: https://git.jami.net/savoirfairelinux/ring-project Package: jami-all Architecture: any -Depends: libqt5sql5-sqlite, - gnupg, +Depends: gnupg, +# libqt5sql5-sqlite, ${shlibs:Depends}, ${misc:Depends} Replaces: jami, jami-daemon, - jami-gnome, ring, ring-all, - ring-daemon, - ring-gnome + ring-daemon Conflicts: jami, jami-daemon, jami-gnome, ring, ring-all, - ring-daemon, - ring-gnome + ring-gnome, + ring-daemon Description: Secure and distributed voice, video and chat platform - all in one package Jami (jami.net) is a secure and distributed voice, video and chat communication platform that requires no centralized server and leaves the power of privacy diff --git a/packaging/rules/debian-one-click-install/copyright b/packaging/rules/debian-one-click-install/copyright index 73da38fc..2a82b17b 100644 --- a/packaging/rules/debian-one-click-install/copyright +++ b/packaging/rules/debian-one-click-install/copyright @@ -4,7 +4,6 @@ Upstream-Contact: Alexandre Viau <alexandre.viau@savoirfairelinux.net> Source: https://dl.jami.net/release/tarballs/ Files-Excluded: client-electron/* client-uwp/* - client-qt/* client-android/* client-macosx/* client-ios/* diff --git a/packaging/rules/debian-one-click-install/rules b/packaging/rules/debian-one-click-install/rules index 44d7d430..895604b1 100755 --- a/packaging/rules/debian-one-click-install/rules +++ b/packaging/rules/debian-one-click-install/rules @@ -32,6 +32,14 @@ BUNDLED_PKGS="--enable-ffmpeg" # For ubuntu 21.04 it seems there is massive issu endif endif +# Qt-related variables +QT_JAMI_PREFIX := ${QT_JAMI_PREFIX} +export PATH := $(QT_JAMI_PREFIX)/bin:${PATH} +export LD_LIBRARY_PATH := $(QT_JAMI_PREFIX)/lib:${LD_LIBRARY_PATH} +export PKG_CONFIG_PATH := $(QT_JAMI_PREFIX)/lib/pkgconfig:${PKG_CONFIG_PATH} +export CMAKE_PREFIX_PATH := $(QT_JAMI_PREFIX)/lib/cmake:${CMAKE_PREFIX_PATH} + + %: dh $@ @@ -101,6 +109,11 @@ override_dh_auto_configure: $(CMAKE_OPTIONS) \ .. + ######################### + ## qt client configure ## + ######################### + # needs to be done after lrc is built; see below + dh_auto_configure override_dh_auto_build: @@ -120,6 +133,19 @@ override_dh_auto_build: ######################## make -C client-gnome/build LDFLAGS="-lpthread" -j$(NO_CPUS) V=1 + ################################### + ## qt client configure and build ## + ################################### + cd client-qt && \ + mkdir build && \ + cd build && \ + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLRC=$(CURDIR)/lrc \ + $(CMAKE_OPTIONS) \ + .. + make -C client-qt/build -j$(NO_CPUS) V=1 + override_dh_auto_clean: ################################ ## Generated contrib tarballs ## @@ -147,6 +173,13 @@ override_dh_auto_clean: if [ -f client-gnome/build/Makefile ]; then make -C client-gnome/build clean; fi rm -rfv client-gnome/build + ##################### + ## qt client clean ## + ##################### + # CMake build system has no distclean target, so use clean. + if [ -f client-qt/build/Makefile ]; then make -C client-qt/build clean; fi + rm -rfv client-qt/build + override_dh_clean: # GNUTLS contains: # ring-project/daemon/contrib/tarballs-unpacked/gnutls-3.5.10.tar.xz/gnutls-3.5.10/src/certtool-args.c.bak @@ -176,7 +209,13 @@ override_dh_auto_install: ## GNOME client cd client-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install - ln -sf /usr/bin/jami $(CURDIR)/debian/jami-all/usr/bin/ring.cx + rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/bin/jami + + ## Qt client + cd client-qt/build && \ + make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install + + ln -sf /usr/bin/jami $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/bin/ring.cx tmpdir:= $(shell mktemp -d) workdir:= $(shell pwd) diff --git a/packaging/rules/debian/control b/packaging/rules/debian/control index a90ba1ca..eb80e1fb 100644 --- a/packaging/rules/debian/control +++ b/packaging/rules/debian/control @@ -1,29 +1,50 @@ Source: jami Section: comm Priority: optional -Maintainer: Alexandre Viau <aviau@debian.org> +Maintainer: The Jami project <jami@gnu.org> Build-Depends: debhelper (>= 9), autoconf, automake, cmake, libtool, autotools-dev, +# qt client + libqt-jami, +# libqt5svg5-dev, +# qml-module-qt-labs-platform, +# qml-module-qtquick-controls, +# qml-module-qtquick-controls2, +# qml-module-qtquick-dialogs, +# qml-module-qtquick-layouts, +# qml-module-qtquick-privatewidgets, +# qml-module-qtquick-shapes, +# qml-module-qtquick-templates2, +# qml-module-qtquick-window2, +# qml-module-qtquick2, +# qml-module-qtwebchannel, +# qml-module-qtwebengine | qml-module-qtwebkit, +# qtdeclarative5-dev, +# qtmultimedia5-dev, +# qtquickcontrols2-5-dev, +# qtwebengine5-dev | libqtwebkit-dev, +# both qt client and gnome client + libnm-dev, + libnotify-dev, # gnome client libebook1.2-dev, + libcanberra-gtk3-dev, libclutter-gtk-1.0-dev, libclutter-1.0-dev, libglib2.0-dev, libgtk-3-dev, - libnotify-dev, - qtbase5-dev, - qttools5-dev, - qttools5-dev-tools, +# qtbase5-dev, +# qttools5-dev, +# qttools5-dev-tools, gettext, libqrencode-dev, libayatana-appindicator3-dev | libappindicator3-dev, - libnm-dev, libwebkit2gtk-4.0-dev | libwebkit2gtk-3.0-dev, -# jami-daemon +# daemon libdbus-1-dev, libdbus-c++-dev, libupnp-dev, @@ -52,7 +73,9 @@ Build-Depends: debhelper (>= 9), libva-dev, libcrypto++-dev, libvdpau-dev, + libssl-dev, # other + nasm, yasm, Standards-Version: 4.1.5 Homepage: https://jami.net @@ -61,18 +84,18 @@ Vcs-Browser: https://git.jami.net/savoirfairelinux/ring-project Package: jami-all Architecture: any -Depends: libqt5sql5-sqlite, - gnupg, +Depends: gnupg, +# libqt5sql5-sqlite, ${shlibs:Depends}, ${misc:Depends} Replaces: jami, + jami-libclient, jami-daemon, - jami-gnome, ring, ring-all, - ring-gnome, ring-daemon Conflicts: jami, + jami-libclient, jami-daemon, jami-gnome, ring, @@ -96,18 +119,15 @@ Package: jami Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libqt5sql5-sqlite, - jami-daemon (=${binary:Version}) -Replaces: jami-genome, - ring-gnome -Conflicts: jami-gnome, - ring-gnome +# libqt5sql5-sqlite, + jami-libclient (=${binary:Version}) +Provides: jami-qt Description: Secure and distributed voice, video and chat platform - desktop client Jami (jami.net) is a secure and distributed voice, video and chat communication platform that requires no centralized server and leaves the power of privacy in the hands of the user. . - This package contains the desktop client: jami-gnome. + This package contains the jami-qt desktop client. Package: ring Depends: jami, ${misc:Depends} @@ -115,6 +135,33 @@ Architecture: all Description: transitional package for jami This is a transitional package. It can safely be removed. +Package: jami-gnome +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, +# libqt5sql5-sqlite, + jami-libclient (=${binary:Version}) +Replaces: ring-gnome +Conflicts: ring-gnome +Description: Secure and distributed voice, video and chat platform - desktop client + Jami (jami.net) is a secure and distributed voice, video and chat communication + platform that requires no centralized server and leaves the power of privacy + in the hands of the user. + . + This package contains the older jami-gnome desktop client. + +Package: jami-libclient +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + jami-daemon (=${binary:Version}) +Description: Secure and distributed voice, video and chat platform - daemon + Jami (jami.net) is a secure and distributed voice, video and chat communication + platform that requires no centralized server and leaves the power of privacy + in the hands of the user. + . + This package contains the Jami client library: lrc. + Package: jami-daemon Architecture: any Depends: ${shlibs:Depends}, diff --git a/packaging/rules/debian/copyright b/packaging/rules/debian/copyright index 73da38fc..2a82b17b 100644 --- a/packaging/rules/debian/copyright +++ b/packaging/rules/debian/copyright @@ -4,7 +4,6 @@ Upstream-Contact: Alexandre Viau <alexandre.viau@savoirfairelinux.net> Source: https://dl.jami.net/release/tarballs/ Files-Excluded: client-electron/* client-uwp/* - client-qt/* client-android/* client-macosx/* client-ios/* diff --git a/packaging/rules/debian/rules b/packaging/rules/debian/rules index 847c39cd..27a990d4 100755 --- a/packaging/rules/debian/rules +++ b/packaging/rules/debian/rules @@ -15,6 +15,8 @@ endif # Binary package names JAMI_ALL_IN_ONE_PKG_NAME="jami-all" JAMI_CLIENT_PKG_NAME="jami" +JAMI_CLIENT_GNOME_PKG_NAME="jami-gnome" +JAMI_LIB_CLIENT_PKG_NAME="jami-libclient" JAMI_DAEMON_PKG_NAME="jami-daemon" # Bundled packages from contrib @@ -34,6 +36,14 @@ BUNDLED_PKGS="--enable-ffmpeg" # For ubuntu 21.04 it seems there is massive issu endif endif +# Qt-related variables +QT_JAMI_PREFIX := ${QT_JAMI_PREFIX} +export PATH := $(QT_JAMI_PREFIX)/bin:${PATH} +export LD_LIBRARY_PATH := $(QT_JAMI_PREFIX)/lib:${LD_LIBRARY_PATH} +export PKG_CONFIG_PATH := $(QT_JAMI_PREFIX)/lib/pkgconfig:${PKG_CONFIG_PATH} +export CMAKE_PREFIX_PATH := $(QT_JAMI_PREFIX)/lib/cmake:${CMAKE_PREFIX_PATH} + + %: dh $@ @@ -103,6 +113,11 @@ override_dh_auto_configure: $(CMAKE_OPTIONS) \ .. + ######################### + ## qt client configure ## + ######################### + # needs to be done after lrc is built; see below + dh_auto_configure override_dh_auto_build: @@ -122,6 +137,19 @@ override_dh_auto_build: ######################## make -C client-gnome/build LDFLAGS="-lpthread" -j$(NO_CPUS) V=1 + ################################### + ## qt client configure and build ## + ################################### + cd client-qt && \ + mkdir build && \ + cd build && \ + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLRC=$(CURDIR)/lrc \ + $(CMAKE_OPTIONS) \ + .. + make -C client-qt/build -j$(NO_CPUS) V=1 + override_dh_auto_clean: ################################ ## Generated contrib tarballs ## @@ -149,6 +177,13 @@ override_dh_auto_clean: if [ -f client-gnome/build/Makefile ]; then make -C client-gnome/build clean; fi rm -rfv client-gnome/build + ##################### + ## qt client clean ## + ##################### + # CMake build system has no distclean target, so use clean. + if [ -f client-qt/build/Makefile ]; then make -C client-qt/build clean; fi + rm -rfv client-qt/build + override_dh_clean: # GNUTLS contains: # ring-project/daemon/contrib/tarballs-unpacked/gnutls-3.5.10.tar.xz/gnutls-3.5.10/src/certtool-args.c.bak @@ -170,17 +205,24 @@ override_dh_auto_install: ######################### ## LibRingClient - cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME) install - rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME)/usr/include + cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME) install + rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/include # This is a symlink, should be in -dev package - rm -v $(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME)/usr/lib/libringclient.so + rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/lib/libringclient.so # cmake files rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME)/usr/lib/cmake ## GNOME client - cd client-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME) install + cd client-gnome/build && \ + make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME) install + rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME)/usr/bin/jami + + ## Qt client + cd client-qt/build && \ + make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME) install + ln -sf /usr/bin/jami $(CURDIR)/debian/jami/usr/bin/ring.cx ###################### @@ -205,7 +247,16 @@ override_dh_auto_install: ## GNOME client cd client-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install - ln -sf /usr/bin/jami $(CURDIR)/debian/jami-all/usr/bin/ring.cx + rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/bin/jami + + ## Qt client + cd client-qt/build && \ + make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install + + ln -sf /usr/bin/jami $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/bin/ring.cx + +override_dh_shlibdeps: + dh_shlibdeps -- -x$(JAMI_ALL_IN_ONE_PKG_NAME) tmpdir:= $(shell mktemp -d) workdir:= $(shell pwd) diff --git a/scripts/build-package-debian.sh b/scripts/build-package-debian.sh index 85795a47..0a93f4b3 100755 --- a/scripts/build-package-debian.sh +++ b/scripts/build-package-debian.sh @@ -35,30 +35,16 @@ fi # import the debian folder and override files if needed cp -r ${PKG_DIR} debian -if [ -z "${DEBIAN_PACKAGING_OVERRIDE}" ]; then - echo "DEBIAN_PACKAGING_OVERRIDE not set." -else - cp -r ${DEBIAN_PACKAGING_OVERRIDE}/* debian/ -fi DPKG_BUILD_OPTIONS="" -MKBUILD_OPTIONS="" # Set the host architecture as armhf and add some specific architecture # options to the package builder. if grep -q "raspbian_10_armhf" <<< "${DISTRIBUTION}"; then echo "Adding armhf as the host architecture." export HOST_ARCH=arm-linux-gnueabihf - dpkg --add-architecture armhf DPKG_BUILD_OPTIONS="${DPKG_BUILD_OPTIONS} -a armhf" - MKBUILD_OPTIONS="${MKBUILD_OPTIONS} --host-arch armhf" fi -# install build deps -apt-get clean -apt-get update -apt-get upgrade -o Acquire::Retries=10 -y -mk-build-deps ${MKBUILD_OPTIONS} --remove --install debian/control -t "apt-get -y --no-install-recommends" - # create changelog file DEBEMAIL="The Jami project <jami@gnu.org>" dch --create --package jami --newversion ${DEBIAN_VERSION} "Automatic nightly release" DEBEMAIL="The Jami project <jami@gnu.org>" dch --release --distribution "unstable" debian/changelog diff --git a/scripts/make-packaging-target.py b/scripts/make-packaging-target.py index 95743807..0e3b9c17 100755 --- a/scripts/make-packaging-target.py +++ b/scripts/make-packaging-target.py @@ -51,7 +51,6 @@ PACKAGE_%(distribution)s_DOCKER_RUN_COMMAND = docker run \\ -e RELEASE_VERSION=$(RELEASE_VERSION) \\ -e RELEASE_TARBALL_FILENAME=$(RELEASE_TARBALL_FILENAME) \\ -e DEBIAN_VERSION=%(version)s \\ - -e DEBIAN_PACKAGING_OVERRIDE=%(debian_packaging_override)s \\ -e CURRENT_UID=$(CURRENT_UID) \\ -e CURRENT_GID=$(CURRENT_GID) \\ -e DISTRIBUTION=%(distribution)s \\ @@ -110,7 +109,6 @@ def generate_target(distribution, output_file, options='', docker_image='', return target_template % { "distribution": distribution, "docker_image": docker_image, - "debian_packaging_override": debian_packaging_override, "output_file": output_file, "options": options, "version": version, @@ -120,7 +118,6 @@ def generate_target(distribution, output_file, options='', docker_image='', def run_generate(parsed_args): print(generate_target(parsed_args.distribution, - parsed_args.debian_packaging_override, parsed_args.output_file, parsed_args.options, parsed_args.docker_image, @@ -132,31 +129,26 @@ def run_generate_all(parsed_args): # Debian { "distribution": "debian_10", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", - "options": "--privileged --security-opt apparmor=docker-default", + "options": "-e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", }, { "distribution": "debian_10_i386", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default", }, { "distribution": "debian_10_armhf", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default", }, { "distribution": "debian_10_arm64", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default" }, { "distribution": "debian_10_qt", - "debian_packaging_override": "", "output_file": "$(DEBIAN_QT_DSC_FILENAME)", "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, "version": "$(DEBIAN_QT_VERSION)", @@ -164,15 +156,13 @@ def run_generate_all(parsed_args): { "distribution": "debian_10_oci", "docker_image": "debian_10", - "debian_packaging_override": "", "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", + "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", "version": "$(DEBIAN_OCI_VERSION)", }, { "distribution": "debian_10_i386_oci", "docker_image": "debian_10_i386", - "debian_packaging_override": "", "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", "version": "$(DEBIAN_OCI_VERSION)", @@ -180,7 +170,6 @@ def run_generate_all(parsed_args): { "distribution": "debian_10_armhf_oci", "docker_image": "debian_10_armhf", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", "version": "$(DEBIAN_OCI_VERSION)" @@ -188,7 +177,6 @@ def run_generate_all(parsed_args): { "distribution": "debian_10_arm64_oci", "docker_image": "debian_10_arm64", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", "version": "$(DEBIAN_OCI_VERSION)" @@ -196,14 +184,12 @@ def run_generate_all(parsed_args): # Raspbian { "distribution": "raspbian_10_armhf", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default", }, { "distribution": "raspbian_10_armhf_oci", "docker_image": "raspbian_10_armhf", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", "version": "$(DEBIAN_OCI_VERSION)", @@ -211,13 +197,13 @@ def run_generate_all(parsed_args): # Ubuntu { "distribution": "ubuntu_18.04", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", + "options": "-e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX)", }, { "distribution": "ubuntu_18.04_i386", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", + "options": "-e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX)", }, { "distribution": "ubuntu_18.04_qt", @@ -234,24 +220,21 @@ def run_generate_all(parsed_args): { "distribution": "ubuntu_18.04_oci", "docker_image": "ubuntu_18.04", - "debian_packaging_override": "", "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR)", + "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX)", "version": "$(DEBIAN_OCI_VERSION)", }, { "distribution": "ubuntu_18.04_i386_oci", "docker_image": "ubuntu_18.04_i386", - "debian_packaging_override": "", "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR)", + "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX)", "version": "$(DEBIAN_OCI_VERSION)", }, { "distribution": "ubuntu_20.04", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", - "options": "--privileged --security-opt apparmor=docker-default", + "options": "-e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", }, { "distribution": "ubuntu_20.04_qt", @@ -262,16 +245,14 @@ def run_generate_all(parsed_args): { "distribution": "ubuntu_20.04_oci", "docker_image": "ubuntu_20.04", - "debian_packaging_override": "", "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", + "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", "version": "$(DEBIAN_OCI_VERSION)", }, { "distribution": "ubuntu_20.10", - "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", - "options": "--privileged --security-opt apparmor=docker-default", + "options": "-e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", }, { "distribution": "ubuntu_20.10_qt", @@ -282,9 +263,8 @@ def run_generate_all(parsed_args): { "distribution": "ubuntu_20.10_oci", "docker_image": "ubuntu_20.10", - "debian_packaging_override": "", "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", + "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", "version": "$(DEBIAN_OCI_VERSION)", }, { @@ -305,13 +285,11 @@ def run_generate_all(parsed_args): # Fedora { "distribution": "fedora_32", - "debian_packaging_override": "", "output_file": ".packages-built", "options": RPM_BASED_SYSTEMS_DOCKER_RUN_OPTIONS }, { "distribution": "fedora_33", - "debian_packaging_override": "", "output_file": ".packages-built", "options": RPM_BASED_SYSTEMS_DOCKER_RUN_OPTIONS }, @@ -323,7 +301,6 @@ def run_generate_all(parsed_args): }, { "distribution": "rhel_8", - "debian_packaging_override": "", "output_file": ".packages-built", "options": RPM_BASED_SYSTEMS_DOCKER_RUN_OPTIONS, "docker_build_args": "--build-arg PASS=${PASS}" @@ -331,20 +308,17 @@ def run_generate_all(parsed_args): # OpenSUSE { "distribution": "opensuse-leap_15.2", - "debian_packaging_override": "", "output_file": ".packages-built", "options": RPM_BASED_SYSTEMS_DOCKER_RUN_OPTIONS }, { "distribution": "opensuse-tumbleweed", - "debian_packaging_override": "", "output_file": ".packages-built", "options": RPM_BASED_SYSTEMS_DOCKER_RUN_OPTIONS }, # Snap { "distribution": "snap", - "debian_packaging_override": "", "output_file": ".packages-built", }, @@ -371,7 +345,6 @@ def parse_args(): # Parameters ap.add_argument('--distribution') - ap.add_argument('--debian_packaging_override', default='') ap.add_argument('--output_file') ap.add_argument('--options', default='') ap.add_argument('--docker_image', default='') -- GitLab