diff --git a/Makefile b/Makefile index a35bc6fa6292bfac268e435ad9a334a2624c4ea8..ac0e3873d482fc86294684c178cf8823f5a9eb18 100644 --- a/Makefile +++ b/Makefile @@ -41,6 +41,15 @@ DEBIAN_OCI_VERSION:=$(RELEASE_VERSION)~dfsg1-0 DEBIAN_OCI_DSC_FILENAME:=jami_$(DEBIAN_OCI_VERSION).dsc DEBIAN_OCI_PKG_DIR:="packaging/rules/debian-one-click-install" +# Qt versions +QT_MAJOR:=5 +QT_MINOR:=15 +QT_PATCH:=2 +QT_TARBALL_CHECKSUM:="3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240" +DEBIAN_QT_VERSION:=$(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-1 +DEBIAN_QT_DSC_FILENAME:=libqt-jami_$(DEBIAN_QT_VERSION).dsc +QT_JAMI_PREFIX:="/usr/lib/libqt-jami" + ##################### ## Other variables ## ##################### diff --git a/client-android b/client-android index 85a91942f52165a5bfe294a4e694c4d8ce4cdcd9..6f27eea38d7dc9f9fc8d21fb4ed636b00dfa9294 160000 --- a/client-android +++ b/client-android @@ -1 +1 @@ -Subproject commit 85a91942f52165a5bfe294a4e694c4d8ce4cdcd9 +Subproject commit 6f27eea38d7dc9f9fc8d21fb4ed636b00dfa9294 diff --git a/client-gnome b/client-gnome index 902bde7fa45b530f68a0f620fc506cee87d9da4e..24f21063914fe2879f3e41326d80202688d3c214 160000 --- a/client-gnome +++ b/client-gnome @@ -1 +1 @@ -Subproject commit 902bde7fa45b530f68a0f620fc506cee87d9da4e +Subproject commit 24f21063914fe2879f3e41326d80202688d3c214 diff --git a/daemon b/daemon index e23b7bc9387a0f728c501803631e7467513d7524..451854b2077f778d8c28b24dda524e4345d0b9f5 160000 --- a/daemon +++ b/daemon @@ -1 +1 @@ -Subproject commit e23b7bc9387a0f728c501803631e7467513d7524 +Subproject commit 451854b2077f778d8c28b24dda524e4345d0b9f5 diff --git a/docker/Dockerfile_debian_10_qt b/docker/Dockerfile_debian_10_qt new file mode 100644 index 0000000000000000000000000000000000000000..32459806d5baa8a914916857d623bf0dda4b42a9 --- /dev/null +++ b/docker/Dockerfile_debian_10_qt @@ -0,0 +1,31 @@ +FROM debian:buster + +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/* ${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-qt.sh /opt/build-package-debian-qt.sh + +CMD /opt/build-package-debian-qt.sh diff --git a/docker/Dockerfile_fedora_32 b/docker/Dockerfile_fedora_32 index 71d59e5f183987ca92ab4ea3da24e8ff2664fa0d..454a044b51f398c5a02ad91e3845f903ac84481c 100644 --- a/docker/Dockerfile_fedora_32 +++ b/docker/Dockerfile_fedora_32 @@ -1,13 +1,11 @@ FROM fedora:32 RUN dnf clean all -RUN dnf install -y dnf-command\(builddep\) rpmdevtools -RUN dnf clean all -RUN dnf upgrade -y && \ - dnf install -y mesa-libgbm-devel mesa-dri-drivers && \ - dnf install -y libinput-devel && \ - dnf install -y \ +RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \ + dnf install -y mock + +RUN dnf install -y \ git \ rpm-build \ tar \ @@ -21,11 +19,12 @@ RUN dnf upgrade -y && \ libcanberra-devel \ libcurl-devel \ libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ dbus-devel \ expat-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ dbus-c++-devel \ dbus-devel \ libXext-devel \ @@ -66,8 +65,14 @@ RUN dnf upgrade -y && \ qrencode-devel \ qt5-qtbase-devel \ qt5-qttools-devel \ + qt5-qtdeclarative-devel \ + qt5-qtquickcontrols \ + qt5-qtquickcontrols2-devel \ + qt5-qtmultimedia-devel \ + qt5-qtsvg-devel \ + qt5-qtwebengine-devel \ sqlite-devel -ADD scripts/build-package-fedora.sh /opt/build-package-fedora.sh +ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh -CMD /opt/build-package-fedora.sh +CMD /opt/build-package-rpm.sh diff --git a/docker/Dockerfile_fedora_33 b/docker/Dockerfile_fedora_33 index 0cb5e777004bd32e589de1932416f21884266965..51f57aca6ed431b27eecb139999387b4e8894813 100644 --- a/docker/Dockerfile_fedora_33 +++ b/docker/Dockerfile_fedora_33 @@ -1,13 +1,11 @@ FROM fedora:33 RUN dnf clean all -RUN dnf install -y dnf-command\(builddep\) rpmdevtools -RUN dnf clean all -RUN dnf upgrade -y && \ - dnf install -y mesa-libgbm-devel mesa-dri-drivers && \ - dnf install -y libinput-devel && \ - dnf install -y \ +RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \ + dnf install -y mock + +RUN dnf install -y \ git \ rpm-build \ tar \ @@ -21,11 +19,12 @@ RUN dnf upgrade -y && \ libcanberra-devel \ libcurl-devel \ libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ dbus-devel \ expat-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ dbus-c++-devel \ dbus-devel \ libXext-devel \ @@ -66,8 +65,14 @@ RUN dnf upgrade -y && \ qrencode-devel \ qt5-qtbase-devel \ qt5-qttools-devel \ + qt5-qtdeclarative-devel \ + qt5-qtquickcontrols \ + qt5-qtquickcontrols2-devel \ + qt5-qtmultimedia-devel \ + qt5-qtsvg-devel \ + qt5-qtwebengine-devel \ sqlite-devel -ADD scripts/build-package-fedora.sh /opt/build-package-fedora.sh +ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh -CMD /opt/build-package-fedora.sh +CMD /opt/build-package-rpm.sh diff --git a/docker/Dockerfile_fedora_34 b/docker/Dockerfile_fedora_34 index 578d05fc8c5e0e523c2179df46b7bd6519a6b625..ba0d2441515bd625319fd732c3887aceabbf52bd 100644 --- a/docker/Dockerfile_fedora_34 +++ b/docker/Dockerfile_fedora_34 @@ -1,13 +1,11 @@ FROM fedora:34 RUN dnf clean all -RUN dnf install -y dnf-command\(builddep\) rpmdevtools -RUN dnf clean all -RUN dnf upgrade -y && \ - dnf install -y mesa-libgbm-devel mesa-dri-drivers && \ - dnf install -y libinput-devel && \ - dnf install -y \ +RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \ + dnf install -y mock + +RUN dnf install -y \ git \ rpm-build \ tar \ @@ -21,11 +19,12 @@ RUN dnf upgrade -y && \ libcanberra-devel \ libcurl-devel \ libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ dbus-devel \ expat-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ dbus-c++-devel \ dbus-devel \ libXext-devel \ @@ -66,8 +65,14 @@ RUN dnf upgrade -y && \ qrencode-devel \ qt5-qtbase-devel \ qt5-qttools-devel \ + qt5-qtdeclarative-devel \ + qt5-qtquickcontrols \ + qt5-qtquickcontrols2-devel \ + qt5-qtmultimedia-devel \ + qt5-qtsvg-devel \ + qt5-qtwebengine-devel \ sqlite-devel -ADD scripts/build-package-fedora.sh /opt/build-package-fedora.sh +ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh -CMD /opt/build-package-fedora.sh +CMD /opt/build-package-rpm.sh diff --git a/docker/Dockerfile_opensuse-leap_15.2 b/docker/Dockerfile_opensuse-leap_15.2 index 54f7bc76e0c826fa65a2d7fc230f37df49e7b2f9..4b6faa07e92974b44d3e0c4663e6cb3ab618ab14 100644 --- a/docker/Dockerfile_opensuse-leap_15.2 +++ b/docker/Dockerfile_opensuse-leap_15.2 @@ -26,12 +26,9 @@ RUN zypper --non-interactive up -y && \ libcanberra-devel \ libcurl-devel \ libtool \ - libQt5DBus-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ libdbus-c++-devel \ - libQt5DBus-devel \ libXext-devel \ libXfixes-devel \ yasm \ @@ -40,7 +37,6 @@ RUN zypper --non-interactive up -y && \ chrpath \ check \ astyle \ - uuid-devel \ gettext-devel \ gcc-c++ \ which \ @@ -63,26 +59,42 @@ RUN zypper --non-interactive up -y && \ libnma-devel \ libcryptopp-devel \ libdbus-c++-devel \ - libQt5DBus-devel \ libexpat-devel \ gnome-icon-theme-symbolic \ libgsm-devel \ gtk3-devel \ libappindicator-devel \ sqlite-devel \ - libQt5Sql-devel \ - libQt5Gui-devel \ ffmpeg-4-libavutil-devel \ gtk3-devel\ qrencode-devel \ python3-python-dateutil \ - libqt5-linguist-devel \ libsndfile-devel \ - evolution-devel + libdrm \ + gperf \ + bison \ + flex \ + nodejs12 \ + mozilla-nss-devel \ + python-xml \ + libxcb* \ + libxkb* \ + libX11-devel \ + libXrender-devel \ + libfreetype6 \ + xcb-util-image-devel \ + xcb-util-keysyms-devel \ + xcb-util-renderutil-devel \ + xcb-util-wm-devel \ + xorg-x11-devel \ + xz \ + xkeyboard-config \ + libnotify \ + wget 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 -ADD scripts/build-package-opensuse-leap.sh /opt/build-package-opensuse-leap.sh +ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh -CMD /opt/build-package-opensuse-leap.sh +CMD /opt/build-package-rpm.sh diff --git a/docker/Dockerfile_opensuse-tumbleweed b/docker/Dockerfile_opensuse-tumbleweed index 6c10f9f4210bd9c37cdfd9b0ce73984f06c3ecd0..2f0dc201c2d3c57cabe286ae36a25b4a80217bb2 100644 --- a/docker/Dockerfile_opensuse-tumbleweed +++ b/docker/Dockerfile_opensuse-tumbleweed @@ -27,7 +27,6 @@ RUN zypper --non-interactive up -y && \ libQt5DBus-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ libdbus-c++-devel \ libQt5DBus-devel \ libXext-devel \ @@ -70,14 +69,36 @@ RUN zypper --non-interactive up -y && \ sqlite-devel \ libQt5Sql-devel \ libQt5Gui-devel \ + libqt5-qtdeclarative-devel \ + libqt5-qtquickcontrols \ + libQt5Concurrent-devel \ + libQt5QuickControls2-devel \ + libqt5-qtmultimedia-devel \ + libqt5-qtsvg-devel \ + libqt5-qtwebengine-devel \ + libQt5Sql-devel \ + libQt5Gui-devel \ ffmpeg-4-libavutil-devel \ gtk3-devel\ qrencode-devel \ python3-python-dateutil \ libqt5-linguist-devel \ libsndfile-devel \ - evolution-devel + libxcb* \ + libxkb* \ + libX11-devel \ + libXrender-devel \ + libfreetype6 \ + xcb-util-image-devel \ + xcb-util-keysyms-devel \ + xcb-util-renderutil-devel \ + xcb-util-wm-devel \ + xorg-x11-devel \ + xz \ + libnotify \ + xkeyboard-config \ + wget -ADD scripts/build-package-opensuse-leap.sh /opt/build-package-opensuse-leap.sh +ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh -CMD /opt/build-package-opensuse-leap.sh +CMD /opt/build-package-rpm.sh diff --git a/docker/Dockerfile_rhel_8 b/docker/Dockerfile_rhel_8 index 810eb2c8adc65fa7765bd9d9d242c83f17af138e..0ff9b05906a2be2c095512da68657b8a95ad7d45 100644 --- a/docker/Dockerfile_rhel_8 +++ b/docker/Dockerfile_rhel_8 @@ -8,70 +8,77 @@ RUN subscription-manager attach --auto RUN subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms RUN dnf clean all -RUN dnf install -y dnf-command\(builddep\) rpmdevtools +RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \ + dnf install -y mock -RUN dnf clean all -RUN dnf upgrade -y && \ - dnf install -y mesa-dri-drivers && \ - dnf install -y \ +RUN dnf install -y \ git \ rpm-build \ tar \ make \ autoconf \ automake \ - cmake \ nasm \ + cmake \ + speexdsp-devel \ pulseaudio-libs-devel \ libcanberra-devel \ libcurl-devel \ libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ dbus-devel \ expat-devel \ pcre-devel \ - boost-devel \ + yaml-cpp-devel \ + dbus-c++-devel \ dbus-devel \ libXext-devel \ libXfixes-devel \ + yasm \ + speex-devel \ + gsm-devel \ chrpath \ check \ + astyle \ gettext-devel \ gcc-c++ \ + libstdc++-static \ which \ alsa-lib-devel \ systemd-devel \ libuuid-devel \ + uuid-devel \ gnutls-devel \ nettle-devel \ + opus-devel \ patch \ + jsoncpp-devel \ + libnatpmp-devel \ webkitgtk4-devel \ + cryptopp-devel \ libva-devel \ + libvdpau-devel \ + msgpack-devel \ + NetworkManager-libnm-devel \ openssl-devel \ - qt5-devel \ - clutter \ clutter-devel \ clutter-gtk-devel \ + libappindicator-gtk3-devel \ + libnotify-devel \ + libupnp-devel \ qrencode-devel \ - yasm \ - opus \ - opus-devel \ - libvdpau-devel \ - libvdpau \ - speexdsp \ - speexdsp-devel \ - cppunit-devel \ - cppunit \ - libsndfile \ - libsndfile-devel \ - gsm-devel \ - evolution-data-server \ - evolution-devel \ - qt5-qtbase-5.11.1-7.el8.i686 \ - dbus-c++ \ - jsoncpp-devel - -ADD scripts/build-package-rhel.sh /opt/build-package-rhel.sh + sqlite-devel \ + libdrm \ + gperf \ + bison \ + flex \ + nodejs \ + nss-devel \ + kernel-headers \ + python2 \ + wget -CMD /opt/build-package-rhel.sh +ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh -RUN subscription-manager unregister +CMD /opt/build-package-rpm.sh \ No newline at end of file diff --git a/docker/Dockerfile_ubuntu_18.04_qt b/docker/Dockerfile_ubuntu_18.04_qt new file mode 100644 index 0000000000000000000000000000000000000000..222be506c1b40deadec434c73648f92003539514 --- /dev/null +++ b/docker/Dockerfile_ubuntu_18.04_qt @@ -0,0 +1,32 @@ +FROM ubuntu:18.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get clean +RUN apt-get update && \ + apt-get install -y -o Acquire::Retries=10 \ + devscripts \ + equivs \ + 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/* ${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-qt.sh /opt/build-package-debian-qt.sh + +CMD /opt/build-package-debian-qt.sh diff --git a/docker/Dockerfile_ubuntu_18.04_qt_i386 b/docker/Dockerfile_ubuntu_18.04_qt_i386 new file mode 100644 index 0000000000000000000000000000000000000000..271b8afda4cf8fe14e779f45974347af098159f7 --- /dev/null +++ b/docker/Dockerfile_ubuntu_18.04_qt_i386 @@ -0,0 +1,32 @@ +FROM i386/ubuntu:18.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get clean +RUN apt-get update && \ + apt-get install -y -o Acquire::Retries=10 \ + devscripts \ + equivs \ + 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/* ${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-qt.sh /opt/build-package-debian-qt.sh + +CMD /opt/build-package-debian-qt.sh diff --git a/docker/Dockerfile_ubuntu_20.04_qt b/docker/Dockerfile_ubuntu_20.04_qt new file mode 100644 index 0000000000000000000000000000000000000000..053bf6d20cad69e55d9d5d7afe3d50e2d34be092 --- /dev/null +++ b/docker/Dockerfile_ubuntu_20.04_qt @@ -0,0 +1,32 @@ +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get clean +RUN apt-get update && \ + apt-get install -y -o Acquire::Retries=10 \ + devscripts \ + equivs \ + 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/* ${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-qt.sh /opt/build-package-debian-qt.sh + +CMD /opt/build-package-debian-qt.sh diff --git a/docker/Dockerfile_ubuntu_20.10_qt b/docker/Dockerfile_ubuntu_20.10_qt new file mode 100644 index 0000000000000000000000000000000000000000..6b1ed4cb241efbb5768f71f2348a7641769cea90 --- /dev/null +++ b/docker/Dockerfile_ubuntu_20.10_qt @@ -0,0 +1,32 @@ +FROM ubuntu:20.10 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get clean +RUN apt-get update && \ + apt-get install -y -o Acquire::Retries=10 \ + devscripts \ + equivs \ + 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/* ${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-qt.sh /opt/build-package-debian-qt.sh + +CMD /opt/build-package-debian-qt.sh diff --git a/packaging/rules/debian-qt/compat b/packaging/rules/debian-qt/compat new file mode 100644 index 0000000000000000000000000000000000000000..9a037142aa3c1b4c490e1a38251620f113465330 --- /dev/null +++ b/packaging/rules/debian-qt/compat @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/packaging/rules/debian-qt/control b/packaging/rules/debian-qt/control new file mode 100644 index 0000000000000000000000000000000000000000..3e0f5f53695d208e1ae42fc142ad55b56e06bb53 --- /dev/null +++ b/packaging/rules/debian-qt/control @@ -0,0 +1,384 @@ +Source: libqt-jami +Section: libs +Priority: optional +Maintainer: The Jami project <jami@gnu.org> +Rules-Requires-Root: no +Standards-Version: 4.5.1 +Build-Depends: debhelper (>= 9), +# ===================================================== +# the following list of deps was gathered with help +# from https://salsa.debian.org/qt-kde-team/qt repos +# ===================================================== +# +# ====== +# qtbase +# ====== +# debhelper-compat (= 13), +# debhelper, + default-libmysqlclient-dev, + dh-exec, +# dpkg-dev (>= 1.17.14), + dpkg-dev, + firebird-dev [kfreebsd-any linux-any], + freetds-dev, + libasound2-dev [linux-any], + libatspi2.0-dev, + libcups2-dev, + libdbus-1-dev, + libdouble-conversion-dev, + libdrm-dev [linux-any], + libfontconfig1-dev, + libfreetype6-dev, + libgbm-dev [linux-any kfreebsd-any], + libgl-dev, +# libgles-dev, (not available in buster) + libglib2.0-dev, +# libglu1-mesa-dev | libglu-dev, + libgtk-3-dev, + libharfbuzz-dev (>= 1.6.0~), + libicu-dev, + libinput-dev [linux-any], + libjpeg-dev, + libkrb5-dev, +# libmd4c-dev, (not in buster) + libmtdev-dev [linux-any], + libpcre2-dev, + libpng-dev, + libpq-dev, + libproxy-dev, + libpulse-dev, + libsqlite3-dev, + libssl-dev, + libudev-dev [linux-any], + libvulkan-dev [linux-any], + libx11-dev, + libx11-xcb-dev, + libxcb-glx0-dev, + libxcb-icccm4-dev, + libxcb-image0-dev, + libxcb-keysyms1-dev, + libxcb-randr0-dev, + libxcb-render-util0-dev, + libxcb-render0-dev, + libxcb-shape0-dev, + libxcb-shm0-dev, + libxcb-sync-dev, + libxcb-util0-dev, + libxcb-xfixes0-dev, + libxcb-xinerama0-dev, + libxcb-xinput-dev, + libxcb-xkb-dev, + libxcb1-dev, + libxext-dev, + libxi-dev, + libxkbcommon-dev, + libxkbcommon-x11-dev, + libxrender-dev, + libzstd-dev, + pkg-config, +# pkg-kde-tools (>= 0.15.17~), + publicsuffix, +# qt5-qmake-bin <cross>, + unixodbc-dev, + zlib1g-dev, +# ============= +# qtdeclarative +# ============= +# debhelper-compat (= 13), +# dpkg-dev (>= 1.20.0), + libgl1-mesa-dri, +# pkg-kde-tools (>= 0.15.17~), + python3:any, +# qtbase5-private-dev (>= 5.15.2+dfsg~), + xauth <!nocheck>, + xvfb <!nocheck>, +# ================== +# qtgraphicaleffects +# ================== +# debhelper-compat (= 13), +# dpkg-dev (>= 1.16.1), +# pkg-kde-tools (>= 0.15.26~), +# qml-module-qtquick-window2 (>= 5.15.2+dfsg~), +# qml-module-qtquick2 (>= 5.15.2+dfsg~), +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-dev-tools (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# ============ +# qtmultimedia +# ============ +# debhelper-compat (= 13), +# libasound2-dev [linux-any], + libgstreamer-plugins-base1.0-dev, + libgstreamer1.0-dev, + libopenal-dev, +# libpulse-dev, +# libqt5opengl5-dev (>= 5.15.2+dfsg~), +# pkg-kde-tools, +# qml-module-qtquick2, +# qml-module-qttest, +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-dev (>= 5.15.2+dfsg~), +# xauth <!nocheck>, +# xvfb <!nocheck>, +# zlib1g-dev, +# ========================= +# qtlocation (for qtwebkit) +# ========================= +# debhelper-compat (= 13), + libboost-dev, +# libicu-dev, + libprotozero-dev (>= 1.5.2), +# libqt5opengl5-dev (>= 5.15.2+dfsg~), +# pkg-kde-tools, +# qml-module-qttest (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), + rapidjson-dev (>= 1.1.0), +# xauth <!nocheck>, +# xvfb <!nocheck>, +# zlib1g-dev, +# =============== +# qtquickcontrols +# =============== +# debhelper-compat (= 13), +# dpkg-dev (>= 1.17.14), +# pkg-kde-tools (>= 0.15.26~), +# qml-module-qt-labs-folderlistmodel (>= 5.15.2+dfsg~), +# qml-module-qt-labs-settings (>= 5.15.2+dfsg~), +# qml-module-qtgraphicaleffects (>= 5.15.2~), +# qml-module-qtqml (>= 5.15.2+dfsg~), +# qml-module-qtqml-models2 (>= 5.15.2+dfsg~), +# qml-module-qtquick-layouts (>= 5.15.2+dfsg~), +# qml-module-qtquick-window2 (>= 5.15.2+dfsg~), +# qml-module-qttest (>= 5.15.2+dfsg~), +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-dev-tools (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# xauth <!nocheck>, +# xvfb <!nocheck>, +# ======================== +# qtsensors (for qtwebkit) +# ======================== +# debhelper-compat (= 13), +# pkg-kde-tools, +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-dev (>= 5.15.2+dfsg~), +# xauth <!nocheck>, +# xvfb <!nocheck>, +# ================ +# qtquickcontrols2 +# ================ +# debhelper-compat (= 13), +# dpkg-dev (>= 1.16.1), +# pkg-kde-tools (>= 0.15.29~), +# qml-module-qtgraphicaleffects (>= 5.15.2~), +# qml-module-qtquick-layouts (>= 5.15.2+dfsg~), +# qml-module-qtquick-window2 (>= 5.15.2+dfsg~), +# qml-module-qttest (>= 5.15.2+dfsg~), +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-dev-tools (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# xauth <!nocheck>, +# xvfb <!nocheck>, +# ===== +# qtsvg +# ===== + dbus, +# debhelper-compat (= 13), +# dpkg-dev (>= 1.17.14), +# libqt5opengl5-dev (>= 5.15.2+dfsg~), +# pkg-kde-tools (>= 0.15.17), +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# zlib1g-dev, +# ======= +# qttools +# ======= +# debhelper-compat (= 13), + libclang-dev (>= 1:3.9~) [amd64 arm64 armel armhf hurd-i386 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el powerpc ppc64 ppc64el riscv64 s390x sparc64], +# libqt5opengl5-dev (>= 5.15.2+dfsg~), +# libqt5sql5-sqlite (>= 5.15.2+dfsg~), +# libqt5webkit5-dev (>= 5.212.0~alpha4-8~) [alpha amd64 arm64 armel armhf i386 mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 x32], + llvm-dev (>= 1:3.9~) [amd64 arm64 armel armhf hurd-i386 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el powerpc ppc64 ppc64el riscv64 s390x sparc64], +# pkg-kde-tools, +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# zlib1g-dev, +# ========= +# qtwayland +# ========= +# dbus <!nocheck>, +# debhelper-compat (= 13), +# dpkg-dev (>= 1.17.14), + libegl1-mesa-dev, + libfontconfig1-dev, +# libglib2.0-dev, +# libinput-dev, +# libmtdev-dev [linux-any], +# libudev-dev [linux-any], + libwayland-dev (>= 1.8.0), + libwayland-egl1-mesa | libwayland-egl1, + libxcomposite-dev, +# libxkbcommon-dev (>= 0.2.0), +# libxrender-dev, +# pkg-config, +# pkg-kde-tools, +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-dev:native (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# xauth <!nocheck>, +# xvfb <!nocheck>, +# ============ +# qtwebchannel +# ============ +# debhelper-compat (= 13), +# libqt5websockets5-dev (>= 5.15.2~), +# pkg-kde-tools, +# qml-module-qttest (>= 5.15.2+dfsg~), +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-dev (>= 5.15.2+dfsg~), +# =========== +# qtwebengine +# =========== +# binutils (>= 2.32-8~), + binutils, + bison, + chrpath, + closure-compiler, +# debhelper-compat (= 13), + flex, + gperf, + khronos-api, +# libasound2-dev [linux-any], + libavcodec-dev (>= 7:3.4.8~), + libavformat-dev (>= 7:3.4.8~), + libavutil-dev (>= 7:3.4.8~), + libcap-dev [linux-any], +# libdbus-1-dev, +# libegl1-mesa-dev, + libevent-dev, + libflac-dev, +# libfontconfig1-dev, +# libgl-dev (>= 1.3) [!armel !armhf], +# libgl1-mesa-dri, +# libgles-dev [armel armhf], +# libglib2.0-dev, + libglu1-mesa-dev [!armel !armhf] | libglu-dev [!armel !armhf], +# libgstreamer-plugins-base1.0-dev, +# libgstreamer1.0-dev, +# libharfbuzz-dev, +# libicu-dev (>= 64~), +# libjpeg-dev, + libjsoncpp-dev, + liblcms2-dev, + libminizip-dev, + libnss3-dev, +# libopus-dev (>= 1.3.1), + libopus-dev, + libpci-dev, +# libpng-dev, + libprotobuf-dev, +# libpulse-dev, +# libqt5opengl5-dev (>= 5.15.2+dfsg~), +# libqt5svg5-dev (>= 5.15.2~), +# libqt5webchannel5-dev (>= 5.15.2~), + libre2-dev, + libsnappy-dev, +# libsqlite3-dev, + libusb-1.0-0-dev, +# libvpx-dev (>= 1.8), + libvpx-dev, + libwebp-dev, +# libx11-xcb-dev, + libxcb-dri3-dev, +# libxcomposite-dev, + libxcursor-dev, + libxdamage-dev, + libxml2-dev, + libxnvctrl-dev, + libxrandr-dev, +# libxrender-dev, + libxslt1-dev, + libxss-dev, + libxtst-dev, + mesa-common-dev, + ninja-build, +# pkg-config, +# pkg-kde-tools, + protobuf-compiler, + python2 | python, +# qtbase5-dev (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# qtpositioning5-dev (>= 5.15.2+dfsg~), +# qtquickcontrols2-5-dev (>= 5.15.2+dfsg~), +# qttools5-dev (>= 5.15.2~), + re2c, + ruby, +# xauth, +# xvfb, + yasm [amd64 i386], + yui-compressor, +# ======================================= +# qtwebkit (currently mainly for qttools) +# ======================================= +# bison, + cmake (>= 2.8.12), +# debhelper-compat (= 13), +# flex, +# gperf, +# libfontconfig1-dev, + libgl1-mesa-dev [!armel !armhf] | libgl-dev [!armel !armhf], + libgles2-mesa-dev [armel armhf] | libgles2-dev [armel armhf], +# libglib2.0-dev, +# libglu1-mesa-dev [!armel !armhf] | libglu-dev [!armel !armhf], +# libgstreamer-plugins-base1.0-dev, +# libgstreamer1.0-dev, + libhyphen-dev, +# libicu-dev, +# libjpeg-dev, +# libpng-dev, +# libqt5opengl5-dev (>= 5.15.2+dfsg~), +# libqt5sensors5-dev (>= 5.15.2~), +# libqt5webchannel5-dev (>= 5.15.2~), +# libsqlite3-dev, +# libwebp-dev, + libwoff-dev, +# libxcomposite-dev, +# libxml2-dev, +# libxrender-dev, +# libxslt1-dev, +# ninja-build, +# pkg-config, +# pkg-kde-tools (>= 0.6.4), +# python3:native, +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# qtpositioning5-dev (>= 5.15.2+dfsg~), +# ruby:native, +# xauth <!nocheck>, +# xvfb <!nocheck>, +# =============================== +# qtwebsockets (for qtwebchannel) +# =============================== +# debhelper-compat (= 13), +# pkg-kde-tools, +# qml-module-qtquick2 (>= 5.15.2+dfsg~), +# qml-module-qttest (>= 5.15.2+dfsg~), +# qtbase5-private-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-dev (>= 5.15.2+dfsg~), +# qtdeclarative5-private-dev (>= 5.15.2+dfsg~), +# xauth, +# xvfb, + + +Package: libqt-jami +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Custom build of Qt framework used by the Jami Qt client. diff --git a/packaging/rules/debian-qt/libqt-jami-env.sh b/packaging/rules/debian-qt/libqt-jami-env.sh new file mode 100755 index 0000000000000000000000000000000000000000..6324f0fed16062061a00196d81bebedaf292b47f --- /dev/null +++ b/packaging/rules/debian-qt/libqt-jami-env.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +QT_JAMI_PREFIX=/usr/lib/libqt-jami + +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}" diff --git a/packaging/rules/debian-qt/libqt-jami.install b/packaging/rules/debian-qt/libqt-jami.install new file mode 100644 index 0000000000000000000000000000000000000000..39543c60b630cc3244a0363d6f39f273e333abf6 --- /dev/null +++ b/packaging/rules/debian-qt/libqt-jami.install @@ -0,0 +1,2 @@ +usr/lib/libqt-jami +debian/libqt-jami-env.sh usr/lib/libqt-jami/bin/ diff --git a/packaging/rules/debian-qt/rules b/packaging/rules/debian-qt/rules new file mode 100755 index 0000000000000000000000000000000000000000..a84739102d4e85d6ddad5cee43490e0906257f87 --- /dev/null +++ b/packaging/rules/debian-qt/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# export DH_VERBOSE = 1 + +%: + dh $@ + +override_dh_auto_configure: + ./configure \ + -opensource \ + -confirm-license \ + -nomake examples \ + -nomake tests \ + -prefix "${QT_JAMI_PREFIX}" + +override_dh_auto_install: + dh_auto_install -Smakefile -- INSTALL_ROOT=$(CURDIR)/debian/tmp/ diff --git a/packaging/rules/debian-qt/source/format b/packaging/rules/debian-qt/source/format new file mode 100644 index 0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047 --- /dev/null +++ b/packaging/rules/debian-qt/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/packaging/rules/fedora/jami-one-click.spec b/packaging/rules/fedora/jami-one-click.spec deleted file mode 100644 index c29286b01f64958809f64864d9e98cc6037f09bd..0000000000000000000000000000000000000000 --- a/packaging/rules/fedora/jami-one-click.spec +++ /dev/null @@ -1,229 +0,0 @@ -%define name jami-all -%define version RELEASE_VERSION -%define release 0 -%define postinst jami-all.postinst - -Name: %{name} -Version: %{version} -Release: %{release}%{?dist} -Summary: Free software for distributed and secured communication. -Group: Applications/Internet -License: GPLv3+ -URL: https://jami.net/ -Source: jami_%{version}.tar.gz -#Requires: jami-daemon = %{version} -Obsoletes: ring ring-daemon -Provides: ring -Conflicts: ring ring-daemon - -BuildRequires: make -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: cmake -BuildRequires: pulseaudio-libs-devel -BuildRequires: libcanberra-devel -BuildRequires: libtool -BuildRequires: dbus-devel -BuildRequires: expat-devel -BuildRequires: pcre-devel -BuildRequires: yaml-cpp-devel -BuildRequires: boost-devel -BuildRequires: dbus-c++-devel -BuildRequires: dbus-devel -BuildRequires: libXext-devel -BuildRequires: yasm -BuildRequires: speex-devel -BuildRequires: chrpath -BuildRequires: check -BuildRequires: astyle -BuildRequires: uuid-c++-devel -BuildRequires: gettext-devel -BuildRequires: gcc-c++ -BuildRequires: which -BuildRequires: alsa-lib-devel -BuildRequires: systemd-devel -BuildRequires: libuuid-devel -BuildRequires: libXfixes-devel -BuildRequires: uuid-devel -BuildRequires: gnutls-devel -BuildRequires: nettle-devel -BuildRequires: opus-devel -BuildRequires: jsoncpp-devel -BuildRequires: libnatpmp-devel -BuildRequires: gsm-devel -BuildRequires: libupnp-devel -BuildRequires: gcc-c++ -BuildRequires: qt5-qtbase-devel -BuildRequires: gnome-icon-theme-symbolic -BuildRequires: clutter-gtk-devel -BuildRequires: clutter-devel -BuildRequires: glib2-devel -BuildRequires: gtk3-devel -BuildRequires: libnotify-devel -BuildRequires: qt5-qttools-devel -BuildRequires: qrencode-devel -BuildRequires: libappindicator-gtk3-devel -BuildRequires: NetworkManager-libnm-devel -BuildRequires: libva-devel -BuildRequires: webkitgtk4-devel -BuildRequires: cryptopp-devel - - -%description -Jami is free software for universal communication which respects freedoms -and privacy of its users. -. -This package contains the desktop client: jami-gnome. - -%prep -%setup -n ring-project - -%build -########################### -## Ring Daemon configure ## -########################### -mkdir -p daemon/contrib/native -cd %{_builddir}/ring-project/daemon/contrib/native && \ - ../bootstrap \ - --no-checksums \ - --disable-ogg \ - --disable-flac \ - --disable-vorbis \ - --disable-vorbisenc \ - --disable-speex \ - --disable-sndfile \ - --disable-gsm \ - --disable-speexdsp \ - --disable-natpmp && \ - make list && \ - make fetch && \ - make -j4 V=1 && \ - make -j4 V=1 .ffmpeg - -cd %{_builddir}/ring-project/daemon && \ - ./autogen.sh && \ - ./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --disable-shared - -############################# -## libringclient configure ## -############################# -cd %{_builddir}/ring-project/lrc && \ - mkdir build && \ - cd build && \ - cmake \ - -DRING_BUILD_DIR=%{_builddir}/ring-project/daemon/src \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_BUILD_TYPE=Debug \ - .. - -############################ -## gnome client configure ## -############################ -cd %{_builddir}/ring-project/client-gnome && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DLibRingClient_PROJECT_DIR=%{_builddir}/ring-project/lrc \ - -DGSETTINGS_LOCALCOMPILE=OFF \ - .. - -####################### -## Ring Daemon build ## -####################### -make -C %{_builddir}/ring-project/daemon -j4 V=1 -pod2man %{_builddir}/ring-project/daemon/man/dring.pod > %{_builddir}/ring-project/daemon/dring.1 - -######################### -## libringclient build ## -######################### -make -C %{_builddir}/ring-project/lrc/build -j4 V=1 - -######################## -## gnome client build ## -######################## -make -C %{_builddir}/ring-project/client-gnome/build LDFLAGS="-lpthread" -j4 V=1 - - -%install -######################### -## Ring Daemon install ## -######################### -DESTDIR=%{buildroot} make -C daemon install -cp %{_builddir}/ring-project/daemon/dring.1 %{buildroot}/%{_mandir}/man1/dring.1 -rm -rfv %{buildroot}/%{_prefix}/include -rm -rfv %{buildroot}/%{_libdir}/*.a -rm -rfv %{buildroot}/%{_libdir}/*.la - -########################### -## libringclient install ## -########################### -DESTDIR=%{buildroot} make -C lrc/build install -rm -rfv %{buildroot}/%{_prefix}/include - -# This is a symlink, should be in -dev package -rm -v %{buildroot}/%{_libdir}/libringclient.so - -# cmake files -rm -rfv %{buildroot}/%{_libdir}/cmake - -########################## -## gnome client install ## -########################## -DESTDIR=%{buildroot} make -C client-gnome/build install -ln -sf %{_bindir}/jami %{buildroot}/%{_bindir}/ring.cx - -########################## -## post install script ## -########################## -#mkdir -p %{buildroot}/opt/repo-package/ -cp %{_builddir}/ring-project/packaging/rules/fedora/%{postinst} %{buildroot}/%{_bindir} -chmod a+x %{buildroot}/%{_bindir}/%{postinst} - -%files -%defattr(-,root,root,-) -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/ -%{_bindir}/%{postinst} - - -%post -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : -if [ $1 == 1 ];then - %{_bindir}/%{postinst} -fi - -%postun -/sbin/ldconfig - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - -%changelog diff --git a/packaging/rules/fedora/jami.spec b/packaging/rules/fedora/jami.spec deleted file mode 100644 index 2a35dcf9e10a0e3b4d72b72ac33465ae51a7bdb1..0000000000000000000000000000000000000000 --- a/packaging/rules/fedora/jami.spec +++ /dev/null @@ -1,280 +0,0 @@ -%define name jami -%define version RELEASE_VERSION -%define release 0 - -Name: %{name} -Version: %{version} -Release: %{release}%{?dist} -Summary: Free software for distributed and secured communication. -Group: Applications/Internet -License: GPLv3+ -URL: https://jami.net/ -Source: jami_%{version}.tar.gz -Requires: jami-daemon = %{version} -Obsoletes: ring ring-daemon -Provides: ring -Conflicts: ring ring-daemon - -BuildRequires: make -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: cmake -BuildRequires: pulseaudio-libs-devel -BuildRequires: libcanberra-devel -BuildRequires: libtool -BuildRequires: dbus-devel -BuildRequires: expat-devel -BuildRequires: pcre-devel -BuildRequires: yaml-cpp-devel -BuildRequires: boost-devel -BuildRequires: dbus-c++-devel -BuildRequires: dbus-devel -BuildRequires: libXext-devel -BuildRequires: yasm -BuildRequires: speex-devel -BuildRequires: chrpath -BuildRequires: check -BuildRequires: astyle -BuildRequires: uuid-c++-devel -BuildRequires: gettext-devel -BuildRequires: gcc-c++ -BuildRequires: which -BuildRequires: alsa-lib-devel -BuildRequires: systemd-devel -BuildRequires: libuuid-devel -BuildRequires: libXfixes-devel -BuildRequires: uuid-devel -BuildRequires: gnutls-devel -BuildRequires: nettle-devel -BuildRequires: opus-devel -BuildRequires: jsoncpp-devel -BuildRequires: libnatpmp-devel -BuildRequires: gsm-devel -BuildRequires: libupnp-devel -BuildRequires: gcc-c++ -BuildRequires: qt5-qtbase-devel -BuildRequires: gnome-icon-theme-symbolic -BuildRequires: clutter-gtk-devel -BuildRequires: clutter-devel -BuildRequires: glib2-devel -BuildRequires: gtk3-devel -BuildRequires: libnotify-devel -BuildRequires: qt5-qttools-devel -BuildRequires: qrencode-devel -BuildRequires: libappindicator-gtk3-devel -BuildRequires: NetworkManager-libnm-devel -BuildRequires: libva-devel -BuildRequires: webkitgtk4-devel -BuildRequires: cryptopp-devel -BuildRequires: libvdpau-devel - -%description -Jami is free software for universal communication which respects freedoms -and privacy of its users. -. -This package contains the desktop client: jami-gnome. - -%package daemon -Summary: Free software for distributed and secured communication - daemon - -%description daemon -Jami is free software for universal communication which respects freedoms -and privacy of its users. -. -This package contains the Jami daemon: dring. - - -%package all -Summary: Free software for distributed and secured communication - daemon - -%description all -Jami is free software for universal communication which respects freedoms -and privacy of its users. - - -%prep -%setup -n ring-project - -%build -########################### -## Ring Daemon configure ## -########################### -mkdir -p daemon/contrib/native -cd %{_builddir}/ring-project/daemon/contrib/native && \ - ../bootstrap \ - --no-checksums \ - --disable-ogg \ - --disable-flac \ - --disable-vorbis \ - --disable-vorbisenc \ - --disable-speex \ - --disable-sndfile \ - --disable-gsm \ - --disable-speexdsp \ - --disable-natpmp && \ - make list && \ - make fetch && \ - make -j4 V=1 && \ - make -j4 V=1 .ffmpeg - -cd %{_builddir}/ring-project/daemon && \ - ./autogen.sh && \ - ./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --disable-shared - -############################# -## libringclient configure ## -############################# -cd %{_builddir}/ring-project/lrc && \ - mkdir build && \ - cd build && \ - cmake \ - -DRING_BUILD_DIR=%{_builddir}/ring-project/daemon/src \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_BUILD_TYPE=Debug \ - .. - -############################ -## gnome client configure ## -############################ -cd %{_builddir}/ring-project/client-gnome && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DLibRingClient_PROJECT_DIR=%{_builddir}/ring-project/lrc \ - -DGSETTINGS_LOCALCOMPILE=OFF \ - .. - -####################### -## Ring Daemon build ## -####################### -make -C %{_builddir}/ring-project/daemon -j4 V=1 -pod2man %{_builddir}/ring-project/daemon/man/dring.pod > %{_builddir}/ring-project/daemon/dring.1 - -######################### -## libringclient build ## -######################### -make -C %{_builddir}/ring-project/lrc/build -j4 V=1 - -######################## -## gnome client build ## -######################## -make -C %{_builddir}/ring-project/client-gnome/build LDFLAGS="-lpthread" -j4 V=1 - - -%install -######################### -## Ring Daemon install ## -######################### -DESTDIR=%{buildroot} make -C daemon install -cp %{_builddir}/ring-project/daemon/dring.1 %{buildroot}/%{_mandir}/man1/dring.1 -rm -rfv %{buildroot}/%{_prefix}/include -rm -rfv %{buildroot}/%{_libdir}/*.a -rm -rfv %{buildroot}/%{_libdir}/*.la - -########################### -## libringclient install ## -########################### -DESTDIR=%{buildroot} make -C lrc/build install -rm -rfv %{buildroot}/%{_prefix}/include - -# This is a symlink, should be in -dev package -rm -v %{buildroot}/%{_libdir}/libringclient.so - -# cmake files -rm -rfv %{buildroot}/%{_libdir}/cmake - -########################## -## gnome client install ## -########################## -DESTDIR=%{buildroot} make -C client-gnome/build install -ln -sf %{_bindir}/jami %{buildroot}/%{_bindir}/ring.cx - -%files -%defattr(-,root,root,-) -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* - -%files daemon -%defattr(-,root,root,-) -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* - -%files all -%defattr(-,root,root,-) -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* - - -%post -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - - -%post all -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - - -%postun -/sbin/ldconfig - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - - -%postun all - -/sbin/ldconfig -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - - -%posttrans - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - -%posttrans all - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - -%changelog diff --git a/packaging/rules/opensuse-leap/jami-all.postinst b/packaging/rules/opensuse-leap/jami-all.postinst deleted file mode 100755 index 6dffc5c6ed22f6c0f9e2a2e068bf08c5f6f608b4..0000000000000000000000000000000000000000 --- a/packaging/rules/opensuse-leap/jami-all.postinst +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -e - - -############################################################################### -# JAMI PACKAGE POSTINST # -# # -# Install Jami's package repository to the trusted sources and add Jami's # -# release key to trusted keyring. # -# # -############################################################################### - - -############################################################################### -# [1] Configuration # -############################################################################### - -# All package repo urls are expected to start with this string, regardless -# of the distribution or version. The end tag is automatically appended, -# depending on the system the postinst script is run on. -# -# To update the appended end tags, modify the switch in [2]. -JAMI_REPO_BASE="https://dl.jami.net/nightly" - -# Jami release key. -JAMI_KEY_FINGERPRINT="A295D773307D25A33AE72F2F64CD5FA175348F84" -JAMI_KEY="\ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v2 - -mQENBFVSdlcBCAC9zC1rp12O2K08PGozI14Y+t4qC931eHicvkuEMF1B9gAhjdRF -aIJS+UXwgQzoamDIHenxz1Q3fXUjKCMXytjGymB/0LUKccSbtH0Rcsl8kZ2z57KN -E+GLS7SvlP93ZOxco7eAEBWF/fvMrCsm10sNI6bW7UK0bgql9iIetd6Wrp9xXFVs -gmoV8Av714OlswsthSNtN+xQls3ozQ/dVGsOkZEyDbBzi88/rQEtuIDztTSWyD0V -x7WaY5+mVRwsJKzyPlgvsXpbP7A41IFykeOzPKh+vYz3k7dcLIRdOwse79oT2RXt -2VYEyTyTZIQlCJjGNTJYsU7GVffU4LnI7p/bABEBAAG0QFJpbmcgLSBTYXZvaXIt -RmFpcmUgTGludXgsIEluYyA8cmluZ0BsaXN0cy5zYXZvaXJmYWlyZWxpbnV4Lm5l -dD6JATkEEwEIACMFAlVSdlcCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAK -CRBkzV+hdTSPhMqSB/9aaKXVByoE7zwPM8DDSntS/jYhhaV1CcZ78WeC1LY2UnHL -R/yvABnDMikgqbMHBDu1R9dnjgZNntp7p0blxcT6ScxdZ6FpMZG6ZW5YNZIVctnF -jdExStcdpcbbycW8GeCmQdVcKLBl8G55mick02ayVNOH5ETtWahPwBvMWk5hSaH3 -E18yvnmdqa9nCEST4UKvBOpmn58mwJDIR2YLdEFcL8z4FkxQUNkx/hiHSn+YLorZ -H3iBrf9y9vSYhQ5pxx7seWkoaGAQBgfktRCUKvVY6E1oSZ/WR1WsR1ftDO/RD0E8 -APKzibVynUEQrCcQX16uDOa/YgavVkts9HmR7Vf7iQEcBBABCAAGBQJVUoJZAAoJ -EFZ3uE+o8K8j0RkH/2sv4L3X0hPIwAzf3CUJZQuHihUOPRAoru5RqW/5nWqsroa1 -WChJq79uDEecDAizTA1MvaTFmLxTjCkJso+5UHMSHi6LARvYXSOeBPFizEJT4qZZ -CXti5zh9d5z1u6L986mrnArA39IZ2F+9wV2q0VIDnq1Tt6+cJ745zSeZmbM6jip4 -oEBsKbCkAhq78sqCc7DIilsGbd2tgrLsh3fitvamEJCTCYKdDMog3TP0+EekQTA2 -Qp4jG0Uf7Gg1YvDDcsawXyNDrMBXEFPVhBNnRisX+YQBRWgDE58+fpsQfeTkblL5 -UaLWhDGlyfAc1ebL3InzhUWJswjt0BN3GPoP55m5AQ0EVVJ2VwEIAMXhg0w1IM0C -rGXMGayaJ3EWd9YXkqq0sAN7b75tD0cOimyPNafnzChG9//3tt82aPRm8fG5Lk5U -fwCS2MSt2Ml8UZeujmEBnvU9hsJBWcGgzXhtBQwZqzmV2vQg8436nTFY5L24TFBc -QNOUJNzSy/dqps0SxcYleE57o24KHlW6ICBaEhz0JoZHv5+7GtYz6XN2D7pkwTPY -UIahyt4dY3geFrkuMzZdTS4qyFb8EE/Ypi/WgewO9ib53kt7FBrxmm0l+d9GR4jH -CKGqaYjm8xzTsNa3m2C0Cf/C13bOaQVicgntfQ32IjjZdaDMlRLQluYNQ0ETA1FE -9+EVvrQYZ+kAEQEAAYkBHwQYAQgACQUCVVJ2VwIbDAAKCRBkzV+hdTSPhMIaB/9D -CrIZBDy7YOK3gdnNm57jemJRz6Cum7RTUiqCQ8ivSmEgv1KmMIqMpjmnKKP43iHO -mR4i7XDml6RBGynPys6cQcAlBWSuhOv9PGpRCaGyjJ4vmQUsYhyD/+tCDZVdBuGg -CxteSMbawxtMHESqX7dDlctc+njDjBcbcGj73sj36qoFIjorjymZlT5IdK39oXVM -Hi1TssiWPOU0hQgn4BIreYnEZUA6xuFX10C7k2DVRFZrXF7lpNgPQ8eNZTnQBIuw -HUFCGSHO3/kzxSlkE1PBUX3IZ8PSFijyopBnWUhlSXuyRjte8OR7Fl/Rlf0IaOD1 -4sRdAfS333T4Uifq4uOu -=s2aQ ------END PGP PUBLIC KEY BLOCK-----" - -# System paths and generated variables -# In general: you will not need toopensuse-leap modify these variables. -# WARNING: When modifying the paths, keep in mind that the corresponding -# postrm paths should be modified as well -REPO_FILE="/etc/yum.repos.d/jami-main.repo" -GPG_FILE="/etc/pki/rpm-gpg/RPM-GPG-KEY-JAMI" -JAMI_UPDATE_MANAGER_ID="jami" -JAMI_UPDATE_MANAGER_CFG="${JAMI_UPDATE_MANAGER_ID}.cfg" - -############################################################################### -# [2] Set package repo url depending on distribution and version # -############################################################################### - -CAN_ADD_YUM_SOURCE=true - -# Detect currently running system using /etc/os-release -# Redhat-based systems are supposed to provide /etc/os-release so if it's not -# the case then we simply don't want to provide automatic updates -if [ -f /etc/os-release ]; then - . /etc/os-release - -JAMI_REPO=' -[jami] -name='"${NAME}"' $releasever - $basearch - Jami -baseurl='"${JAMI_REPO_BASE}"/"${ID}"'_$releasever -gpgcheck=1 -gpgkey=https://dl.jami.net/jami.pub.key -enabled=1' - - # Set-up Jami repository end tag - if [ "${PLATFORM_ID}" = "opensuse-leap:15.2" ]; then - ENDTAG="opensuse-leap_15.2" - REPO_FILE="/etc/zypp/repos.d/jami-main.repo" - GPG_FILE="/tmp/RPM-GPG-KEY-JAMI" - elif [ "${PLATFORM_ID}" = "opensuse-tumbleweed" ]; then - ENDTAG="opensuse-tumbleweed" - REPO_FILE="/etc/zypp/repos.d/jami-main.repo" - GPG_FILE="/tmp/RPM-GPG-KEY-JAMI" - # Remove releasever for tumbleweed as it's a rolling release - JAMI_REPO=' -[jami] -name='"${NAME}"' $basearch - Jami -baseurl='"${JAMI_REPO_BASE}"/"${ID}"' -gpgcheck=1 -gpgkey=https://dl.jami.net/jami.pub.key -enabled=1' - else - # Distribution is not supported. Don't provide automatic updates. - CAN_ADD_YUM_SOURCE=false - fi -else - CAN_ADD_YUM_SOURCE=false -fi - - -############################################################################### -# [3] Maintainer script main switch # -############################################################################### - - if [ "`command -v rpm`" = "" ]; then - # we can only add key if rpm is present - CAN_ADD_YUM_SOURCE=false - fi - - if [ "${CAN_ADD_YUM_SOURCE}" = "true" ]; then -# # We first add the key to the trusted keyring. - cat > $GPG_FILE <<EOF - -$JAMI_KEY -EOF - /usr/bin/rm -f /var/lib/rpm/.rpm.lock > /dev/null 2>&1 - /usr/bin/rpm --import $GPG_FILE > /dev/null 2>&1 - if [ "${ENDTAG}" = "opensuse-leap_15.2" ] || [ "${ENDTAG}" = "opensuse-tumbleweed" ]; then - rm -f $GPG_FILE - fi - # Add an entry for the package repository to the trusted package - # FIXME As soon as we rename the repo use ring instead of jami - cat > $REPO_FILE <<EOF -$JAMI_REPO -EOF - fi -exit 0 diff --git a/packaging/rules/opensuse-leap/jami-one-click.spec b/packaging/rules/opensuse-leap/jami-one-click.spec deleted file mode 100644 index 5e5233e94a16011609bc474df69e202cd28a0f03..0000000000000000000000000000000000000000 --- a/packaging/rules/opensuse-leap/jami-one-click.spec +++ /dev/null @@ -1,209 +0,0 @@ -%define name jami-all -%define version RELEASE_VERSION -%define release 0 -%define postinst jami-all.postinst - -Name: %{name} -Version: %{version} -Release: %{release}%{?dist} -Summary: Free software for distributed and secured communication. -Group: Applications/Internet -License: GPLv3+ -URL: https://jami.net/ -Source: jami_%{version}.tar.gz -#Requires: jami-daemon = %{version} -Obsoletes: ring ring-daemon -Provides: ring -Conflicts: ring ring-daemon - -BuildRequires: make -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: cmake -BuildRequires: libcanberra-devel -BuildRequires: libtool -BuildRequires: pcre-devel -BuildRequires: yaml-cpp-devel -BuildRequires: boost-devel -BuildRequires: libXext-devel -BuildRequires: yasm -BuildRequires: speex-devel -BuildRequires: chrpath -BuildRequires: check -BuildRequires: astyle -BuildRequires: gettext-devel -BuildRequires: gcc-c++ -BuildRequires: which -BuildRequires: alsa-lib-devel -BuildRequires: systemd-devel -BuildRequires: libuuid-devel -BuildRequires: libXfixes-devel -BuildRequires: uuid-devel -BuildRequires: gnutls-devel -BuildRequires: jsoncpp-devel -BuildRequires: gcc-c++ -BuildRequires: gnome-icon-theme-symbolic -BuildRequires: clutter-gtk-devel -BuildRequires: clutter-devel -BuildRequires: glib2-devel -BuildRequires: gtk3-devel -BuildRequires: libnma-devel -BuildRequires: libva-devel -BuildRequires: libvdpau-devel - -%description -Jami is free software for universal communication which respects freedoms -and privacy of its users. -. -This package contains the desktop client: jami-gnome. - -%prep -%setup -n ring-project - -%build -########################### -## Ring Daemon configure ## -########################### -mkdir -p daemon/contrib/native -cd %{_builddir}/ring-project/daemon/contrib/native && \ - ../bootstrap \ - --no-checksums \ - --disable-ogg \ - --disable-flac \ - --disable-vorbis \ - --disable-vorbisenc \ - --disable-speex \ - --disable-sndfile \ - --disable-gsm \ - --disable-speexdsp \ - --disable-natpmp && \ - make list && \ - make fetch && \ - make -j4 V=1 && \ - make -j4 V=1 .ffmpeg .gnutls - -cd %{_builddir}/ring-project/daemon && \ - ./autogen.sh && \ - ./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --disable-shared - -############################# -## libringclient configure ## -############################# -cd %{_builddir}/ring-project/lrc && \ - mkdir build && \ - cd build && \ - cmake \ - -DRING_BUILD_DIR=%{_builddir}/ring-project/daemon/src \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_BUILD_TYPE=Debug \ - .. - -############################ -## gnome client configure ## -############################ -cd %{_builddir}/ring-project/client-gnome && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DLibRingClient_PROJECT_DIR=%{_builddir}/ring-project/lrc \ - -DGSETTINGS_LOCALCOMPILE=OFF \ - .. - -####################### -## Ring Daemon build ## -####################### -make -C %{_builddir}/ring-project/daemon -j4 V=1 -pod2man %{_builddir}/ring-project/daemon/man/dring.pod > %{_builddir}/ring-project/daemon/dring.1 - -######################### -## libringclient build ## -######################### -make -C %{_builddir}/ring-project/lrc/build -j4 V=1 - -######################## -## gnome client build ## -######################## -make -C %{_builddir}/ring-project/client-gnome/build LDFLAGS="-lpthread" -j4 V=1 - - -%install -######################### -## Ring Daemon install ## -######################### -DESTDIR=%{buildroot} make -C daemon install -cp %{_builddir}/ring-project/daemon/dring.1 %{buildroot}/%{_mandir}/man1/dring.1 -rm -rfv %{buildroot}/%{_prefix}/include -rm -rfv %{buildroot}/%{_libdir}/*.a -rm -rfv %{buildroot}/%{_libdir}/*.la - -########################### -## libringclient install ## -########################### -DESTDIR=%{buildroot} make -C lrc/build install -rm -rfv %{buildroot}/%{_prefix}/include - -# This is a symlink, should be in -dev package -rm -v %{buildroot}/%{_libdir}/libringclient.so - -# cmake files -rm -rfv %{buildroot}/%{_libdir}/cmake - -########################## -## gnome client install ## -########################## -DESTDIR=%{buildroot} make -C client-gnome/build install -ln -sf %{_bindir}/jami %{buildroot}/%{_bindir}/ring.cx - -########################## -## post install script ## -########################## -cp %{_builddir}/ring-project/packaging/rules/opensuse-leap/%{postinst} %{buildroot}/%{_bindir} -chmod a+x %{buildroot}/%{_bindir}/%{postinst} - -%files -%defattr(-,root,root,-) -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* -%{_bindir}/%{postinst} - -%post -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : -if [ $1 == 1 ];then - %{_bindir}/%{postinst} -fi - -%postun -/sbin/ldconfig - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - -%changelog diff --git a/packaging/rules/opensuse-leap/jami.spec b/packaging/rules/opensuse-leap/jami.spec deleted file mode 100644 index 884227570ef19da840a0709401c39aa2d7f94069..0000000000000000000000000000000000000000 --- a/packaging/rules/opensuse-leap/jami.spec +++ /dev/null @@ -1,257 +0,0 @@ -%define name jami -%define version RELEASE_VERSION -%define release 0 - -Name: %{name} -Version: %{version} -Release: %{release}%{?dist} -Summary: Free software for distributed and secured communication. -Group: Applications/Internet -License: GPLv3+ -URL: https://jami.net/ -Source: jami_%{version}.tar.gz -Requires: jami-daemon = %{version} - -BuildRequires: make -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: cmake -BuildRequires: libcanberra-devel -BuildRequires: libtool -BuildRequires: pcre-devel -BuildRequires: yaml-cpp-devel -BuildRequires: boost-devel -BuildRequires: libXext-devel -BuildRequires: yasm -BuildRequires: speex-devel -BuildRequires: chrpath -BuildRequires: check -BuildRequires: astyle -BuildRequires: gettext-devel -BuildRequires: gcc-c++ -BuildRequires: which -BuildRequires: alsa-lib-devel -BuildRequires: systemd-devel -BuildRequires: libuuid-devel -BuildRequires: libXfixes-devel -BuildRequires: uuid-devel -BuildRequires: gnutls-devel -BuildRequires: jsoncpp-devel -BuildRequires: gcc-c++ -BuildRequires: gnome-icon-theme-symbolic -BuildRequires: clutter-gtk-devel -BuildRequires: clutter-devel -BuildRequires: glib2-devel -BuildRequires: gtk3-devel -BuildRequires: libnma-devel -BuildRequires: libva-devel -BuildRequires: libvdpau-devel - -%description -Jami is free software for universal communication which respects freedoms -and privacy of its users. - -This package contains the desktop client: jami-gnome. - -%package daemon -Summary: Free software for distributed and secured communication - daemon - -%description daemon -Jami is free software for universal communication which respects freedoms -and privacy of its users. - -This package contains the Jami daemon: dring. - -%package all -Summary: Free software for distributed and secured communication - -%description all -Jami is free software for universal communication which respects freedoms -and privacy of its users. - -This package contains the Jami daemon: dring. - - -%prep -%setup -n ring-project - -%build -########################### -## Ring Daemon configure ## -########################### -mkdir -p daemon/contrib/native -cd %{_builddir}/ring-project/daemon/contrib/native && \ - ../bootstrap \ - --no-checksums \ - --disable-ogg \ - --disable-flac \ - --disable-vorbis \ - --disable-vorbisenc \ - --disable-speex \ - --disable-sndfile \ - --disable-gsm \ - --disable-speexdsp \ - --disable-natpmp && \ - make list && \ - make fetch && \ - make -j4 V=1 && \ - make -j4 V=1 .ffmpeg .gnutls - -cd %{_builddir}/ring-project/daemon && \ - ./autogen.sh && \ - ./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --disable-shared - -############################# -## libringclient configure ## -############################# -cd %{_builddir}/ring-project/lrc && \ - mkdir build && \ - cd build && \ - cmake \ - -DRING_BUILD_DIR=%{_builddir}/ring-project/daemon/src \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_BUILD_TYPE=Debug \ - .. - -############################ -## gnome client configure ## -############################ -cd %{_builddir}/ring-project/client-gnome && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DLibRingClient_PROJECT_DIR=%{_builddir}/ring-project/lrc \ - -DGSETTINGS_LOCALCOMPILE=OFF \ - .. - -####################### -## Ring Daemon build ## -####################### -make -C %{_builddir}/ring-project/daemon -j4 V=1 -pod2man %{_builddir}/ring-project/daemon/man/dring.pod > %{_builddir}/ring-project/daemon/dring.1 - -######################### -## libringclient build ## -######################### -make -C %{_builddir}/ring-project/lrc/build -j4 V=1 - -######################## -## gnome client build ## -######################## -make -C %{_builddir}/ring-project/client-gnome/build LDFLAGS="-lpthread" -j4 V=1 - - -%install -######################### -## Ring Daemon install ## -######################### -DESTDIR=%{buildroot} make -C daemon install -cp %{_builddir}/ring-project/daemon/dring.1 %{buildroot}/%{_mandir}/man1/dring.1 -rm -rfv %{buildroot}/%{_prefix}/include -rm -rfv %{buildroot}/%{_libdir}/*.a -rm -rfv %{buildroot}/%{_libdir}/*.la - -########################### -## libringclient install ## -########################### -DESTDIR=%{buildroot} make -C lrc/build install -rm -rfv %{buildroot}/%{_prefix}/include - -# This is a symlink, should be in -dev package -rm -v %{buildroot}/%{_libdir}/libringclient.so - -# cmake files -rm -rfv %{buildroot}/%{_libdir}/cmake - -########################## -## gnome client install ## -########################## -DESTDIR=%{buildroot} make -C client-gnome/build install -ln -sf %{_bindir}/jami %{buildroot}/%{_bindir}/ring.cx - -%files -%defattr(-,root,root,-) -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* - -%files daemon -%defattr(-,root,root,-) -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* - - -%files all -%defattr(-,root,root,-) -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* - - -%post -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%post all -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - - -%postun -/sbin/ldconfig - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%postun all -/sbin/ldconfig - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - -%posttrans all - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - -%changelog diff --git a/packaging/rules/rhel/jami-all.postinst b/packaging/rules/rhel/jami-all.postinst deleted file mode 100755 index 49e9000d63153b84c60eeb1f96c1642b33a23360..0000000000000000000000000000000000000000 --- a/packaging/rules/rhel/jami-all.postinst +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/sh -e - - -############################################################################### -# JAMI PACKAGE POSTINST # -# # -# Install Jami's package repository to the trusted sources and add Jami's # -# release key to trusted keyring. # -# # -############################################################################### - - -############################################################################### -# [1] Configuration # -############################################################################### - -# All package repo urls are expected to start with this string, regardless -# of the distribution or version. The end tag is automatically appended, -# depending on the system the postinst script is run on. -# -# To update the appended end tags, modify the switch in [2]. -JAMI_REPO_BASE="https://dl.jami.net/nightly" - -# Jami release key. -JAMI_KEY_FINGERPRINT="A295D773307D25A33AE72F2F64CD5FA175348F84" -JAMI_KEY="\ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v2 - -mQENBFVSdlcBCAC9zC1rp12O2K08PGozI14Y+t4qC931eHicvkuEMF1B9gAhjdRF -aIJS+UXwgQzoamDIHenxz1Q3fXUjKCMXytjGymB/0LUKccSbtH0Rcsl8kZ2z57KN -E+GLS7SvlP93ZOxco7eAEBWF/fvMrCsm10sNI6bW7UK0bgql9iIetd6Wrp9xXFVs -gmoV8Av714OlswsthSNtN+xQls3ozQ/dVGsOkZEyDbBzi88/rQEtuIDztTSWyD0V -x7WaY5+mVRwsJKzyPlgvsXpbP7A41IFykeOzPKh+vYz3k7dcLIRdOwse79oT2RXt -2VYEyTyTZIQlCJjGNTJYsU7GVffU4LnI7p/bABEBAAG0QFJpbmcgLSBTYXZvaXIt -RmFpcmUgTGludXgsIEluYyA8cmluZ0BsaXN0cy5zYXZvaXJmYWlyZWxpbnV4Lm5l -dD6JATkEEwEIACMFAlVSdlcCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAK -CRBkzV+hdTSPhMqSB/9aaKXVByoE7zwPM8DDSntS/jYhhaV1CcZ78WeC1LY2UnHL -R/yvABnDMikgqbMHBDu1R9dnjgZNntp7p0blxcT6ScxdZ6FpMZG6ZW5YNZIVctnF -jdExStcdpcbbycW8GeCmQdVcKLBl8G55mick02ayVNOH5ETtWahPwBvMWk5hSaH3 -E18yvnmdqa9nCEST4UKvBOpmn58mwJDIR2YLdEFcL8z4FkxQUNkx/hiHSn+YLorZ -H3iBrf9y9vSYhQ5pxx7seWkoaGAQBgfktRCUKvVY6E1oSZ/WR1WsR1ftDO/RD0E8 -APKzibVynUEQrCcQX16uDOa/YgavVkts9HmR7Vf7iQEcBBABCAAGBQJVUoJZAAoJ -EFZ3uE+o8K8j0RkH/2sv4L3X0hPIwAzf3CUJZQuHihUOPRAoru5RqW/5nWqsroa1 -WChJq79uDEecDAizTA1MvaTFmLxTjCkJso+5UHMSHi6LARvYXSOeBPFizEJT4qZZ -CXti5zh9d5z1u6L986mrnArA39IZ2F+9wV2q0VIDnq1Tt6+cJ745zSeZmbM6jip4 -oEBsKbCkAhq78sqCc7DIilsGbd2tgrLsh3fitvamEJCTCYKdDMog3TP0+EekQTA2 -Qp4jG0Uf7Gg1YvDDcsawXyNDrMBXEFPVhBNnRisX+YQBRWgDE58+fpsQfeTkblL5 -UaLWhDGlyfAc1ebL3InzhUWJswjt0BN3GPoP55m5AQ0EVVJ2VwEIAMXhg0w1IM0C -rGXMGayaJ3EWd9YXkqq0sAN7b75tD0cOimyPNafnzChG9//3tt82aPRm8fG5Lk5U -fwCS2MSt2Ml8UZeujmEBnvU9hsJBWcGgzXhtBQwZqzmV2vQg8436nTFY5L24TFBc -QNOUJNzSy/dqps0SxcYleE57o24KHlW6ICBaEhz0JoZHv5+7GtYz6XN2D7pkwTPY -UIahyt4dY3geFrkuMzZdTS4qyFb8EE/Ypi/WgewO9ib53kt7FBrxmm0l+d9GR4jH -CKGqaYjm8xzTsNa3m2C0Cf/C13bOaQVicgntfQ32IjjZdaDMlRLQluYNQ0ETA1FE -9+EVvrQYZ+kAEQEAAYkBHwQYAQgACQUCVVJ2VwIbDAAKCRBkzV+hdTSPhMIaB/9D -CrIZBDy7YOK3gdnNm57jemJRz6Cum7RTUiqCQ8ivSmEgv1KmMIqMpjmnKKP43iHO -mR4i7XDml6RBGynPys6cQcAlBWSuhOv9PGpRCaGyjJ4vmQUsYhyD/+tCDZVdBuGg -CxteSMbawxtMHESqX7dDlctc+njDjBcbcGj73sj36qoFIjorjymZlT5IdK39oXVM -Hi1TssiWPOU0hQgn4BIreYnEZUA6xuFX10C7k2DVRFZrXF7lpNgPQ8eNZTnQBIuw -HUFCGSHO3/kzxSlkE1PBUX3IZ8PSFijyopBnWUhlSXuyRjte8OR7Fl/Rlf0IaOD1 -4sRdAfS333T4Uifq4uOu -=s2aQ ------END PGP PUBLIC KEY BLOCK-----" - -# System paths and generated variables -# In general: you will not need to modify these variables. -# WARNING: When modifying the paths, keep in mind that the corresponding -# postrm paths should be modified as well -YUM_FILE="/etc/yum.repos.d/jami-main.repo" -GPG_FILE="/etc/pki/rpm-gpg/RPM-GPG-KEY-JAMI" -JAMI_UPDATE_MANAGER_ID="jami-main" -JAMI_UPDATE_MANAGER_CFG="${JAMI_UPDATE_MANAGER_ID}.cfg" - -############################################################################### -# [2] Set package repo url depending on distribution and version # -############################################################################### - -CAN_ADD_YUM_SOURCE=true - -# Detect currently running system using /etc/os-release -# Redhat-based systems are supposed to provide /etc/os-release so if it's not -# the case then we simply don't want to provide automatic updates -if [ -f /etc/os-release ]; then - . /etc/os-release - -JAMI_REPO=' -[jami] -name=Jami $releasever - $basearch - jami -baseurl='"${JAMI_REPO_BASE}"/"${ID}"'_$releasever -gpgcheck=1 -gpgkey=https://dl.jami.net/jami.pub.key -enabled=1' - - # Set-up Jami repository end tag - if [ "${PLATFORM_ID}" = "platform:el8" ] || [ "${ID}_${VERSION_ID%.*}" = "rhel_8" ]; then - ENDTAG="rhel_8" - elif [ "${PLATFORM_ID}" = "platform:f32" ] || [ "${ID}_${VERSION_ID}" = "fedora_32" ]; then - ENDTAG="fedora_32" - elif [ "${PLATFORM_ID}" = "platform:f33" ] || [ "${ID}_${VERSION_ID}" = "fedora_33" ]; then - ENDTAG="fedora_33" - elif [ "${PLATFORM_ID}" = "platform:f34" ] || [ "${ID}_${VERSION_ID}" = "fedora_34" ]; then - ENDTAG="fedora_34" - else - # Distribution is not supported. Don't provide automatic updates. - CAN_ADD_YUM_SOURCE=false - fi -else - CAN_ADD_YUM_SOURCE=false -fi - - -############################################################################### -# [3] Maintainer script main switch # -############################################################################### - - if [ "`command -v rpm`" = "" ]; then - # we can only add key if rpm is present - CAN_ADD_YUM_SOURCE=false - fi - - if [ "${CAN_ADD_YUM_SOURCE}" = "true" ]; then -# # We first add the key to the trusted keyring. - cat > $GPG_FILE <<EOF - -$JAMI_KEY -EOF - /usr/bin/rm -f /var/lib/rpm/.rpm.lock > /dev/null 2>&1 - /usr/bin/rpm --import $GPG_FILE > /dev/null 2>&1 - - # Add an entry for the package repository to the trusted package - # FIXME As soon as we rename the repo use ring instead of jami - cat > $YUM_FILE <<EOF -$JAMI_REPO -EOF - fi -exit 0 diff --git a/packaging/rules/rhel/jami-one-click.spec b/packaging/rules/rhel/jami-one-click.spec deleted file mode 100644 index dfb1c70c69f9a96425e22a791830735217e0fd6e..0000000000000000000000000000000000000000 --- a/packaging/rules/rhel/jami-one-click.spec +++ /dev/null @@ -1,235 +0,0 @@ -%define name jami-all -%define version RELEASE_VERSION -%define release 0 -%define postinst jami-all.postinst - -Name: %{name} -Version: %{version} -Release: %{release}%{?dist} -Summary: Free software for distributed and secured communication. -Group: Applications/Internet -License: GPLv3+ -URL: https://jami.net/ -Source: jami_%{version}.tar.gz -#Requires: jami-daemon = %{version} -Obsoletes: ring ring-daemon -Provides: ring -Conflicts: ring ring-daemon - - -BuildRequires: make -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: cmake -BuildRequires: pulseaudio-libs-devel -BuildRequires: libcanberra-devel -BuildRequires: libtool -BuildRequires: expat-devel -BuildRequires: pcre-devel -BuildRequires: boost-devel -BuildRequires: dbus-devel -BuildRequires: libXext-devel -BuildRequires: chrpath -BuildRequires: check -BuildRequires: gettext-devel -BuildRequires: gcc-c++ -BuildRequires: which -BuildRequires: alsa-lib-devel -BuildRequires: systemd-devel -BuildRequires: libuuid-devel -BuildRequires: libXfixes-devel -BuildRequires: gnutls-devel -BuildRequires: nettle-devel -BuildRequires: jsoncpp-devel -BuildRequires: gcc-c++ -BuildRequires: glib2-devel -BuildRequires: gtk3-devel -BuildRequires: libva-devel -BuildRequires: webkitgtk4-devel -BuildRequires: qt5-devel -BuildRequires: clutter -BuildRequires: clutter-devel -BuildRequires: clutter-gtk-devel -BuildRequires: qrencode-devel -BuildRequires: nasm -BuildRequires: yasm -BuildRequires: opus -BuildRequires: opus-devel -BuildRequires: libvdpau-devel -BuildRequires: libvdpau -BuildRequires: speexdsp -BuildRequires: speexdsp-devel -BuildRequires: cppunit-devel -BuildRequires: cppunit -BuildRequires: qt5-qtbase -BuildRequires: dbus-c++ - - -%description -Jami is free software for universal communication which respects freedoms -and privacy of its users. -. -This package contains the desktop client: jami-gnome. - -%prep -%setup -n ring-project - -%build -########################### -## Ring Daemon configure ## -########################### -mkdir -p daemon/contrib/native -cd %{_builddir}/ring-project/daemon/contrib/native && \ - ../bootstrap \ - --no-checksums \ - --disable-ogg \ - --disable-flac \ - --disable-vorbis \ - --disable-vorbisenc \ - --disable-speex \ - --disable-sndfile \ - --disable-gsm \ - --disable-speexdsp \ - --disable-natpmp && \ - make list && \ - make fetch && \ - make -j4 V=1 && \ - make -j4 V=1 .ffmpeg .gnutls - -cd %{_builddir}/ring-project/daemon && \ - ./autogen.sh && \ - ./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --disable-shared - -############################# -## libringclient configure ## -############################# -cd %{_builddir}/ring-project/lrc && \ - mkdir build && \ - cd build && \ - cmake \ - -DRING_BUILD_DIR=%{_builddir}/ring-project/daemon/src \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_BUILD_TYPE=Debug \ - .. - -############################ -## gnome client configure ## -############################ -cd %{_builddir}/ring-project/client-gnome && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DLibRingClient_PROJECT_DIR=%{_builddir}/ring-project/lrc \ - -DGSETTINGS_LOCALCOMPILE=OFF \ - .. - -####################### -## Ring Daemon build ## -####################### -make -C %{_builddir}/ring-project/daemon -j4 V=1 -pod2man %{_builddir}/ring-project/daemon/man/dring.pod > %{_builddir}/ring-project/daemon/dring.1 - -######################### -## libringclient build ## -######################### -make -C %{_builddir}/ring-project/lrc/build -j4 V=1 - -######################## -## gnome client build ## -######################## -make -C %{_builddir}/ring-project/client-gnome/build LDFLAGS="-lpthread" -j4 V=1 - - -%install -######################### -## Ring Daemon install ## -######################### -DESTDIR=%{buildroot} make -C daemon install -cp %{_builddir}/ring-project/daemon/dring.1 %{buildroot}/%{_mandir}/man1/dring.1 -rm -rfv %{buildroot}/%{_prefix}/include -rm -rfv %{buildroot}/%{_libdir}/*.a -rm -rfv %{buildroot}/%{_libdir}/*.la - -########################### -## libringclient install ## -########################### -DESTDIR=%{buildroot} make -C lrc/build install -rm -rfv %{buildroot}/%{_prefix}/include - -# This is a symlink, should be in -dev package -rm -v %{buildroot}/%{_libdir}/libringclient.so - -# cmake files -rm -rfv %{buildroot}/%{_libdir}/cmake - -########################## -## gnome client install ## -########################## -DESTDIR=%{buildroot} make -C client-gnome/build install -ln -sf %{_bindir}/jami %{buildroot}/%{_bindir}/ring.cx - -########################## -## post install script ## -########################## -#mkdir -p %{buildroot}/opt/repo-package/ -cp %{_builddir}/ring-project/packaging/rules/rhel/%{postinst} %{buildroot}/%{_bindir} -chmod a+x %{buildroot}/%{_bindir}/%{postinst} - -%files -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* -%{_bindir}/%{postinst} - - -%post -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : -if [ $1 == 1 ];then - %{_bindir}/%{postinst} -fi - -%postun -/sbin/ldconfig - -#for < f24 we have to update the schema explicitly -%if 0%{?fedora} < 24 - if [ $1 -eq 0 ] ; then - /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : - fi -%endif - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans -#for < f24 we have to update the schema explicitly -%if 0%{?fedora} < 24 - /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : -%endif - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - -%changelog diff --git a/packaging/rules/rhel/jami.spec b/packaging/rules/rhel/jami.spec deleted file mode 100644 index 9871b59d011237a2762ea8655215be8704f38736..0000000000000000000000000000000000000000 --- a/packaging/rules/rhel/jami.spec +++ /dev/null @@ -1,300 +0,0 @@ -%define spec_install_pre %{___build_pre} ; mkdir -p `dirname "$RPM_BUILD_ROOT"`; mkdir "$RPM_BUILD_ROOT" %{nil} -%define name jami -%define version RELEASE_VERSION -%define release 0 - -Name: %{name} -Version: %{version} -Release: %{release}%{?dist} -Summary: Free software for distributed and secured communication. -Group: Applications/Internet -License: GPLv3+ -URL: https://jami.net/ -Source: jami_%{version}.tar.gz -Requires: jami-daemon = %{version} -Obsoletes: ring ring-daemon -Provides: ring -Conflicts: ring ring-daemon -#ENVRA: 01 - - -BuildRequires: make -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: cmake -BuildRequires: pulseaudio-libs-devel -BuildRequires: libcanberra-devel -BuildRequires: libtool -BuildRequires: expat-devel -BuildRequires: pcre-devel -BuildRequires: boost-devel -BuildRequires: dbus-devel -BuildRequires: libXext-devel -BuildRequires: chrpath -BuildRequires: check -BuildRequires: gettext-devel -BuildRequires: gcc-c++ -BuildRequires: which -BuildRequires: alsa-lib-devel -BuildRequires: systemd-devel -BuildRequires: libuuid-devel -BuildRequires: libXfixes-devel -BuildRequires: gnutls-devel -BuildRequires: nettle-devel -BuildRequires: jsoncpp-devel -BuildRequires: gcc-c++ -BuildRequires: glib2-devel -BuildRequires: gtk3-devel -BuildRequires: libva-devel -BuildRequires: webkitgtk4-devel -BuildRequires: qt5-devel -BuildRequires: clutter -BuildRequires: clutter-devel -BuildRequires: clutter-gtk-devel -BuildRequires: qrencode-devel -BuildRequires: nasm -BuildRequires: yasm -BuildRequires: opus -BuildRequires: opus-devel -BuildRequires: libvdpau-devel -BuildRequires: libvdpau -BuildRequires: speexdsp -BuildRequires: speexdsp-devel -BuildRequires: cppunit-devel -BuildRequires: cppunit -BuildRequires: qt5-qtbase -BuildRequires: dbus-c++ - - -%description -Jami is free software for universal communication which respects freedoms -and privacy of its users. -. -This package contains the desktop client: jami-gnome. - -%package daemon -Summary: Free software for distributed and secured communication - daemon - -%description daemon -Jami is free software for universal communication which respects freedoms -and privacy of its users. -. -This package contains the Jami daemon: dring. - - -%package all -Summary: Free software for distributed and secured communication - daemon - -%description all -Jami is free software for universal communication which respects freedoms -and privacy of its users. - - -%prep -%setup -n ring-project - -%build -########################### -## Ring Daemon configure ## -########################### -mkdir -p daemon/contrib/native -cd %{_builddir}/ring-project/daemon/contrib/native && \ - ../bootstrap \ - --no-checksums \ - --disable-ogg \ - --disable-flac \ - --disable-vorbis \ - --disable-vorbisenc \ - --disable-speex \ - --disable-sndfile \ - --disable-gsm \ - --disable-speexdsp \ - --disable-natpmp && \ - make list && \ - make fetch && \ - make -j4 V=1 && \ - make -j4 V=1 .ffmpeg .gnutls - -cd %{_builddir}/ring-project/daemon && \ - ./autogen.sh && \ - ./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --disable-shared - -############################# -## libringclient configure ## -############################# -cd %{_builddir}/ring-project/lrc && \ - mkdir build && \ - cd build && \ - cmake \ - -DRING_BUILD_DIR=%{_builddir}/ring-project/daemon/src \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_BUILD_TYPE=Debug \ - .. - -############################ -## gnome client configure ## -############################ -cd %{_builddir}/ring-project/client-gnome && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DLibRingClient_PROJECT_DIR=%{_builddir}/ring-project/lrc \ - -DGSETTINGS_LOCALCOMPILE=OFF \ - .. - -####################### -## Ring Daemon build ## -####################### -make -C %{_builddir}/ring-project/daemon -j4 V=1 -pod2man %{_builddir}/ring-project/daemon/man/dring.pod > %{_builddir}/ring-project/daemon/dring.1 - -######################### -## libringclient build ## -######################### -make -C %{_builddir}/ring-project/lrc/build -j4 V=1 - -######################## -## gnome client build ## -######################## -make -C %{_builddir}/ring-project/client-gnome/build LDFLAGS="-lpthread" -j4 V=1 - - -%install -######################### -## Ring Daemon install ## -######################### -DESTDIR=%{buildroot} make -C daemon install -cp %{_builddir}/ring-project/daemon/dring.1 %{buildroot}/%{_mandir}/man1/dring.1 -rm -rfv %{buildroot}/%{_prefix}/include -rm -rfv %{buildroot}/%{_libdir}/*.a -rm -rfv %{buildroot}/%{_libdir}/*.la - -########################### -## libringclient install ## -########################### -DESTDIR=%{buildroot} make -C lrc/build install -rm -rfv %{buildroot}/%{_prefix}/include - -# This is a symlink, should be in -dev package -rm -v %{buildroot}/%{_libdir}/libringclient.so - -# cmake files -rm -rfv %{buildroot}/%{_libdir}/cmake - -########################## -## gnome client install ## -########################## -DESTDIR=%{buildroot} make -C client-gnome/build install -ln -sf %{_bindir}/jami %{buildroot}/%{_bindir}/ring.cx - - -%files -%defattr(-,root,root,-) -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* - -%files daemon -%defattr(-,root,root,-) -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* - - -%files all -%{_bindir}/jami -%{_bindir}/ring.cx -%{_bindir}/jami-gnome -%{_libdir}/libringclient*.so* -%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml -%{_datadir}/applications/jami-gnome.desktop -%{_datadir}/jami-gnome/jami-gnome.desktop -%{_datadir}/icons/hicolor/scalable/apps/jami.svg -%{_datadir}/metainfo/jami-gnome.appdata.xml -%{_datadir}/libringclient/* -%{_datadir}/locale/* -%{_datadir}/sounds/jami-gnome/* -%doc %{_mandir}/man1/dring* -%{_libdir}/ring/dring -%{_datadir}/ring/ringtones -%{_datadir}/dbus-1/services/* -%{_datadir}/dbus-1/interfaces/* - -%post -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%post all -/sbin/ldconfig -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - - -%postun -/sbin/ldconfig - -#for < f24 we have to update the schema explicitly -%if 0%{?fedora} < 24 - if [ $1 -eq 0 ] ; then - /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : - fi -%endif - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - - -%postun all -/sbin/ldconfig - -#for < f24 we have to update the schema explicitly -%if 0%{?fedora} < 24 - if [ $1 -eq 0 ] ; then - /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : - fi -%endif - -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - - -%posttrans -#for < f24 we have to update the schema explicitly -%if 0%{?fedora} < 24 - /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : -%endif - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - -%posttrans all -#for < f24 we have to update the schema explicitly -%if 0%{?fedora} < 24 - /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : -%endif - -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - -%changelog - diff --git a/packaging/rules/fedora/jami-all.postinst b/packaging/rules/rpm/jami-all.postinst similarity index 81% rename from packaging/rules/fedora/jami-all.postinst rename to packaging/rules/rpm/jami-all.postinst index dbd44a9593b547e752735982dc8d2ac111083675..3c6d2d5a414d62b16b75606925591a563caa044e 100755 --- a/packaging/rules/fedora/jami-all.postinst +++ b/packaging/rules/rpm/jami-all.postinst @@ -61,7 +61,7 @@ HUFCGSHO3/kzxSlkE1PBUX3IZ8PSFijyopBnWUhlSXuyRjte8OR7Fl/Rlf0IaOD1 # In general: you will not need to modify these variables. # WARNING: When modifying the paths, keep in mind that the corresponding # postrm paths should be modified as well -YUM_FILE="/etc/yum.repos.d/jami-main.repo" +REPO_FILE="/etc/yum.repos.d/jami-main.repo" GPG_FILE="/etc/pki/rpm-gpg/RPM-GPG-KEY-JAMI" is_distribution_supported() { @@ -78,8 +78,8 @@ is_distribution_supported() { . /etc/os-release case ${ID}_${VERSION_ID%.*} in - rhel_8|fedora_32|fedora_33|fedora_34) - return 0;; + rhel_8|fedora_32|fedora_33|fedora_34|opensuse-leap_15.2|opensuse-tumbleweed) + return 0 esac return 1 @@ -90,17 +90,44 @@ is_distribution_supported() { ############################################################################### if is_distribution_supported; then - CAN_ADD_YUM_SOURCE=true + CAN_ADD_REPO_SOURCE=true else - CAN_ADD_YUM_SOURCE=false + CAN_ADD_REPO_SOURCE=false fi if command -v rpm > /dev/null; then # RPM is required to add the key. - CAN_ADD_YUM_SOURCE=false + CAN_ADD_REPO_SOURCE=false fi -if [ "${CAN_ADD_YUM_SOURCE}" = "true" ]; then +JAMI_REPO=' +[jami] +name='"${NAME}"' $releasever - $basearch - Jami +baseurl='"${JAMI_REPO_BASE}"/"${ID}"'_$releasever +gpgcheck=1 +gpgkey=https://dl.jami.net/jami.pub.key +enabled=1' + +# Set-up Jami repository end tag +if [ "${PLATFORM_ID}" = "opensuse-leap:15.2" ]; then + ENDTAG="opensuse-leap_15.2" + REPO_FILE="/etc/zypp/repos.d/jami-main.repo" + GPG_FILE="/tmp/RPM-GPG-KEY-JAMI" +elif [ "${PLATFORM_ID}" = "opensuse-tumbleweed" ]; then + ENDTAG="opensuse-tumbleweed" + REPO_FILE="/etc/zypp/repos.d/jami-main.repo" + GPG_FILE="/tmp/RPM-GPG-KEY-JAMI" + # Remove releasever for tumbleweed as it's a rolling release + JAMI_REPO=' +[jami] +name='"${NAME}"' $basearch - Jami +baseurl='"${JAMI_REPO_BASE}"/"${ID}"' +gpgcheck=1 +gpgkey=https://dl.jami.net/jami.pub.key +enabled=1' +fi + +if [ "${CAN_ADD_REPO_SOURCE}" = "true" ]; then # Add the key to the trusted keyring. echo "$JAMI_KEY" > "$GPG_FILE" @@ -111,12 +138,7 @@ if [ "${CAN_ADD_YUM_SOURCE}" = "true" ]; then # XXX: The NAME and ID variables are set as a side-effect of # sourcing the /etc/os-release file in the above # is_distribution_supported call. - cat > "$YUM_FILE" <<EOF -[jami] -name=$NAME \$releasever - \$basearch - Jami -baseurl=${JAMI_REPO_BASE}/${ID}_\$releasever -gpgcheck=1 -gpgkey=https://dl.jami.net/jami.pub.key -enabled=1 + cat > $REPO_FILE <<EOF +$JAMI_REPO EOF fi diff --git a/packaging/rules/rpm/jami-daemon.spec b/packaging/rules/rpm/jami-daemon.spec new file mode 100644 index 0000000000000000000000000000000000000000..634b51dc5859792faacc8eca064a481f775555b1 --- /dev/null +++ b/packaging/rules/rpm/jami-daemon.spec @@ -0,0 +1,125 @@ +%define name jami-daemon +%define version RELEASE_VERSION +%define release 0 + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +Summary: Daemon component of Jami +Group: Applications/Internet +License: GPLv3+ +Vendor: Savoir-faire Linux +URL: https://jami.net/ +Source: jami_%{version}.tar.gz +Requires: jami-daemon = %{version} + +# Build dependencies +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: gettext-devel +BuildRequires: libtool +BuildRequires: make +BuildRequires: which +BuildRequires: yasm + +# Build and runtime dependencies. Requires directives are +# automatically made to linked shared libraries via RPM, so there's no +# need to explicitly relist them. +%if 0%{?fedora} >= 32 +BuildRequires: NetworkManager-libnm-devel +BuildRequires: dbus-devel +BuildRequires: expat-devel +BuildRequires: opus-devel +BuildRequires: pulseaudio-libs-devel +%endif +%if %{defined suse_version} +BuildRequires: libdbus-c++-devel +BuildRequires: libexpat-devel +BuildRequires: libopus-devel +BuildRequires: libpulse-devel +%endif +BuildRequires: alsa-lib-devel +BuildRequires: gnutls-devel +BuildRequires: jsoncpp-devel +BuildRequires: libXext-devel +BuildRequires: libXfixes-devel +BuildRequires: libuuid-devel +BuildRequires: libva-devel +BuildRequires: libvdpau-devel +BuildRequires: pcre-devel +BuildRequires: uuid-devel +BuildRequires: yaml-cpp-devel + +%description +This package contains the daemon of Jami, a free software for +universal communication which respects the freedoms and privacy of its +users. + +%prep +%setup -n ring-project + +%build +# Configure the Jami bundled libraries (ffmpeg & pjproject). +mkdir -p daemon/contrib/native +cd %{_builddir}/ring-project/daemon/contrib/native && \ + ../bootstrap \ + --no-checksums \ + --disable-ogg \ + --disable-flac \ + --disable-vorbis \ + --disable-vorbisenc \ + --disable-speex \ + --disable-sndfile \ + --disable-gsm \ + --disable-speexdsp \ + --disable-natpmp && \ + make list && \ + make fetch && \ + make %{_smp_mflags} V=1 && \ + make %{_smp_mflags} V=1 .ffmpeg + +# Configure the daemon. +cd %{_builddir}/ring-project/daemon && \ + ./autogen.sh && \ + ./configure \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --disable-shared + +# Build the daemon. +make -C %{_builddir}/ring-project/daemon %{_smp_mflags} V=1 +pod2man %{_builddir}/ring-project/daemon/man/dring.pod \ + > %{_builddir}/ring-project/daemon/dring.1 + +%install +DESTDIR=%{buildroot} make -C daemon install +cp %{_builddir}/ring-project/daemon/dring.1 \ + %{buildroot}/%{_mandir}/man1/dring.1 +rm -rfv %{buildroot}/%{_libdir}/*.a +rm -rfv %{buildroot}/%{_libdir}/*.la + +%files +%defattr(-,root,root,-) +%{_libdir}/ring/dring +%{_datadir}/ring/ringtones +%{_datadir}/dbus-1/services/* +%{_datadir}/dbus-1/interfaces/* +%doc %{_mandir}/man1/dring* + +%package devel +Summary: Development files of the Jami daemon + +%description devel +This package contains the header files for using the Jami daemon as a library. + +%files devel +%{_includedir}/dring +%{_includedir}/jami_contact.h + +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig diff --git a/packaging/rules/rpm/jami-gnome.spec b/packaging/rules/rpm/jami-gnome.spec new file mode 100644 index 0000000000000000000000000000000000000000..d9e8b1227b7b2449d4e0c0d8cf93579ba86a06ff --- /dev/null +++ b/packaging/rules/rpm/jami-gnome.spec @@ -0,0 +1,75 @@ +%define name jami-gnome +%define version RELEASE_VERSION +%define release 0 + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +Summary: GNOME desktop client for Jami +Group: Applications/Internet +License: GPLv3+ +Vendor: Savoir-faire Linux +URL: https://jami.net/ +Source: jami_%{version}.tar.gz +Requires: jami-libclient = %{version} + +# Build dependencies. +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: make +BuildRequires: gettext-devel + +# Build and runtime dependencies. +BuildRequires: glib2-devel +%if 0%{?fedora} >= 32 +BuildRequires: dbus-devel +BuildRequires: libnotify-devel +BuildRequires: libappindicator-gtk3-devel +BuildRequires: webkitgtk4-devel +%endif +%if %{defined suse_version} +BuildRequires: libdbus-c++-devel +BuildRequires: libappindicator-devel +BuildRequires: webkit2gtk3-devel +%endif +BuildRequires: clutter-devel +BuildRequires: clutter-gtk-devel +BuildRequires: gtk3-devel +BuildRequires: libcanberra-devel +BuildRequires: qrencode-devel + +%description +This package contains the GNOME desktop client of Jami. Jami is a free +software for universal communication which respects freedoms and +privacy of its users. + +%prep %setup -n ring-project + +%build +cd %{_builddir}/ring-project/client-gnome && \ + mkdir build && cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DCMAKE_BUILD_TYPE=Debug \ + -DGSETTINGS_LOCALCOMPILE=OFF \ + .. + +make -C %{_builddir}/ring-project/client-gnome/build \ + LDFLAGS="-lpthread" %{_smp_mflags} V=1 + +%install +DESTDIR=%{buildroot} make -C %{_builddir}/ring-project/client-gnome/build install +# Only keep /bin/jami-gnome for the GNOME client. +rm -rfv %{buildroot}/%{_bindir}/jami +rm -rfv %{buildroot}/%{_bindir}/ring.cx + +%files +%defattr(-,root,root,-) +%{_bindir}/jami-gnome +%{_datadir}/applications/jami-gnome.desktop +%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml +%{_datadir}/icons/hicolor/scalable/apps/jami-gnome.svg +%{_datadir}/jami-gnome +%{_datadir}/locale/* +%{_datadir}/metainfo/jami-gnome.appdata.xml +%{_datadir}/sounds/jami-gnome diff --git a/packaging/rules/rpm/jami-libclient.spec b/packaging/rules/rpm/jami-libclient.spec new file mode 100644 index 0000000000000000000000000000000000000000..aa54c06f25797bbb29cdd514c695213bc1796c98 --- /dev/null +++ b/packaging/rules/rpm/jami-libclient.spec @@ -0,0 +1,71 @@ +%define name jami-libclient +%define version RELEASE_VERSION +%define release 0 + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +Summary: Client library for Jami +Group: Applications/Internet +License: GPLv3+ +Vendor: Savoir-faire Linux +URL: https://jami.net/ +Source: jami_%{version}.tar.gz +Requires: jami-daemon = %{version} + +# Build dependencies +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: jami-daemon-devel = %{version} +BuildRequires: make +%if 0%{?fedora} >= 32 +BuildRequires: NetworkManager-libnm-devel +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qttools-devel +%endif + +%description +This package contains the client library of Jami, a free software for +universal communication which respects freedoms and privacy of its +users. + +%prep +%setup -n ring-project + +%build +cd %{_builddir}/ring-project/lrc && \ + mkdir build && cd build && \ + cmake -DRING_BUILD_DIR=%{_builddir}/ring-project/daemon/src \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DCMAKE_BUILD_TYPE=Debug \ + .. + +make -C %{_builddir}/ring-project/lrc/build %{_smp_mflags} V=1 + +%install +DESTDIR=%{buildroot} make -C lrc/build install + +%files +%defattr(-,root,root,-) +%{_libdir}/libringclient.so.1.0.0 +%{_datadir}/libringclient + +%package devel +Summary: Development files of the Jami client library + +%description devel +This package contains the header files and the unversioned shared +library for developing with the Jami client library. + +%files devel +%{_includedir}/libringclient +%{_libdir}/cmake/LibRingClient +# The following is a symbolic link. +%{_libdir}/libringclient.so + +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig diff --git a/packaging/rules/rpm/jami-libqt.spec b/packaging/rules/rpm/jami-libqt.spec new file mode 100644 index 0000000000000000000000000000000000000000..f7534b1869c0527081fb90b27cbc6c7f8ae40955 --- /dev/null +++ b/packaging/rules/rpm/jami-libqt.spec @@ -0,0 +1,48 @@ +%define name jami-libqt +%define version RELEASE_VERSION +%define release 0 + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +Summary: Library for Jami-qt +Group: Applications/Internet +License: GPLv3+ +Vendor: Savoir-faire Linux +URL: https://jami.net/ +Source: jami-qtlib_%{version}.tar.xz + +# Build dependencies +BuildRequires: autoconf +BuildRequires: make +# QtWebEngine +BuildRequires: bison +BuildRequires: gperf +BuildRequires: flex +%if %{defined suse_version} +BuildRequires: python-xml +BuildRequires: mozilla-nss-devel +%endif + +%description +This package contains Qt libraries for Jami. + +%prep +%setup -n qt-everywhere-src-%{version} + +%build + ./configure \ + -opensource \ + -confirm-license \ + -nomake examples \ + -nomake tests \ + -prefix "%{_libdir}/qt-jami" + sed -i 's,bin/python,bin/env python3,g' qtbase/mkspecs/features/uikit/devices.py + make -j8 V=1 + +%install +make -j8 INSTALL_ROOT=%{buildroot} V=1 install + +%files +%defattr(-,root,root,-) +%{_libdir}/qt-jami \ No newline at end of file diff --git a/packaging/rules/rpm/jami-qt.spec b/packaging/rules/rpm/jami-qt.spec new file mode 100644 index 0000000000000000000000000000000000000000..92f5d471873c16bcc3ad76fd97fc447588929a81 --- /dev/null +++ b/packaging/rules/rpm/jami-qt.spec @@ -0,0 +1,70 @@ +%define name jami-qt +%define version RELEASE_VERSION +%define release 0 + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +Summary: Qt client for Jami +Group: Applications/Internet +License: GPLv3+ +Vendor: Savoir-faire Linux +URL: https://jami.net/ +Source: jami_%{version}.tar.gz +Requires: jami-libclient = %{version} +Provides: jami +Obsoletes: jami < %{version}-%{release} + +# Build dependencies. +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: make + +# Build and runtime dependencies. +BuildRequires: qrencode-devel +%if 0%{?fedora} >= 32 +BuildRequires: qt5-qttools-devel +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtdeclarative-devel +BuildRequires: qt5-qtmultimedia-devel +BuildRequires: qt5-qtquickcontrols +BuildRequires: qt5-qtquickcontrols2-devel +BuildRequires: qt5-qtsvg-devel +BuildRequires: qt5-qtwebengine-devel +# Runtime dependencies not automatically registered by RPM. +Requires: qt5-qtquickcontrols +Requires: qt5-qtgraphicaleffects +%endif + +%description +This package contains the Qt desktop client of Jami. Jami is a free +software for universal communication which respects freedoms and +privacy of its users. + +%prep +%setup -n ring-project + +%build +cd %{_builddir}/ring-project/client-qt && \ + mkdir build && cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DCMAKE_BUILD_TYPE=Debug \ + .. + +make -C %{_builddir}/ring-project/client-qt/build %{_smp_mflags} V=1 + +%install +DESTDIR=%{buildroot} make -C %{_builddir}/ring-project/client-qt/build install + +%files +%defattr(-,root,root,-) +%{_bindir}/jami +%{_bindir}/jami-qt +%{_datadir}/applications/jami-qt.desktop +%{_datadir}/jami-qt/jami-qt.desktop +%{_datadir}/icons/hicolor/scalable/apps/jami.svg +%{_datadir}/icons/hicolor/48x48/apps/jami.png +%{_datadir}/pixmaps/jami.xpm +%{_datadir}/metainfo/jami-qt.appdata.xml +%{_datadir}/ring/translations/* diff --git a/scripts/build-package-debian-qt.sh b/scripts/build-package-debian-qt.sh new file mode 100755 index 0000000000000000000000000000000000000000..bfbf46a5d18c2f759199042b931ce66859f88327 --- /dev/null +++ b/scripts/build-package-debian-qt.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2021 Savoir-faire Linux Inc. +# +# Author: Amin Bandali <amin.bandali@savoirfairelinux.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# This script is used in the packaging containers to build a snap +# package on an ubuntu base distro. + + +set -e + +PKG_DIR="packaging/rules/debian-qt" +if [ -n "${OVERRIDE_PACKAGING_DIR}" ]; then + echo "Using OVERRIDE_PACKAGING_DIR: $OVERRIDE_PACKAGING_DIR" + PKG_DIR="${OVERRIDE_PACKAGING_DIR}" +fi + +cache_dir=/opt/ring-contrib +temp_dir=$(mktemp -d) + +mkdir /opt/libqt-jami-build +cd /opt/libqt-jami-build + +qt_version=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH} +tarball_name=qt-everywhere-src-${qt_version}.tar.xz +cached_tarball=$cache_dir/$tarball_name +qt_base_url=https://download.qt.io/archive/qt/${QT_MAJOR}.${QT_MINOR}/${qt_version}/single + +if ! [[ -d $cache_dir && -w $cache_dir ]]; then + echo "error: $cache_dir does not exist or is not writable" + exit 1 +fi + +if ! [ -f "$cached_tarball" ]; then + ( + cd "$temp_dir" + wget "$qt_base_url/$tarball_name" + echo -n "${QT_TARBALL_CHECKSUM} $tarball_name" | sha256sum -c - || \ + (echo "Qt tarball checksum mismatch; quitting" && exit 1) + flock "${cached_tarball}.lock" mv "$tarball_name" "$cached_tarball" + ) + rm -rf "$temp_dir" +fi + +cp "$cached_tarball" libqt-jami_${qt_version}.orig.tar.xz +tar xvf libqt-jami_${qt_version}.orig.tar.xz +mv qt-everywhere-src-${qt_version} libqt-jami-${qt_version} +cd libqt-jami-${qt_version} + +# import the debian folder +cp --verbose -r /opt/ring-project-ro/${PKG_DIR} debian + +# create changelog file +DEBEMAIL="The Jami project <jami@gnu.org>" dch --create --package libqt-jami --newversion ${DEBIAN_VERSION} "New libqt-jami release" +DEBEMAIL="The Jami project <jami@gnu.org>" dch --release --distribution "unstable" debian/changelog + +DPKG_BUILD_OPTIONS="" +# Set the host architecture as armhf and add some specific architecture +# options to the package builder. +if grep -q "raspbian_10_qt_armhf" <<< "${DISTRIBUTION}"; then + echo "Adding armhf as the host architecture." + export HOST_ARCH=arm-linux-gnueabihf + DPKG_BUILD_OPTIONS="${DPKG_BUILD_OPTIONS} -a armhf" +fi + +# build and package qt +dpkg-buildpackage -uc -us ${DPKG_BUILD_OPTIONS} + +# move the artifacts to output +cd .. +mv *.orig.tar* *.debian.tar* *deb *changes *dsc /opt/output +chown -R ${CURRENT_UID}:${CURRENT_GID} /opt/output/ diff --git a/scripts/build-package-fedora.sh b/scripts/build-package-fedora.sh deleted file mode 100755 index 0bd0430c6dc0acf384b40fc04021fe6ab3861088..0000000000000000000000000000000000000000 --- a/scripts/build-package-fedora.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2016-2019 Savoir-faire Linux Inc. -# -# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com> -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# This script is used in the packaging containers to build packages on -# rpm-based distros. -# - -set -e - -# import the spec file -mkdir -p /opt/ring-project -cd /opt/ring-project -cp /opt/ring-project-ro/packaging/rules/fedora/* . - -#create tree for build -rpmdev-setuptree - -# place the source -cp /opt/ring-project-ro/jami_*.tar.gz /root/rpmbuild/SOURCES - -# Set the version -sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" *.spec -if [ ${DISTRIBUTION} == "fedora_32" ] || [ ${DISTRIBUTION} == "fedora_33" ] || [ ${DISTRIBUTION} == "fedora_34" ]; then - # Remove Obsoletes for Fedora 32, as we don't publish "ring" - sed -i '/^Obsoletes:/d' *.spec - sed -i '/^Provides:/d' *.spec - sed -i '/^Conflicts:/d' *.spec - # gnome-icon-theme-symbolic is removed from Fedora, but icons are well integrated - sed -i '/gnome-icon-theme-symbolic/d' *.spec -fi - -rpmdev-bumpspec --comment="Automatic nightly release" --userstring="Jenkins <ring@lists.savoirfairelinux.net>" jami.spec -rpmdev-bumpspec --comment="Automatic nightly release" --userstring="Jenkins <ring@lists.savoirfairelinux.net>" jami-one-click.spec - - -# install build deps -dnf builddep -y jami.spec || echo "ignoring dnf builddep failure" - -# build the package -QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild -ba jami.spec - -# move to output -mv /root/rpmbuild/RPMS/*/* /opt/output -touch /opt/output/.packages-built -chown -R ${CURRENT_UID}:${CURRENT_UID} /opt/output - -## JAMI ONE CLICK INSTALL RPM - -#copy script jami-all.postinst which add repo -mkdir -p /root/rpmbuild/BUILD/ring-project/packaging/rules/one-click-install/ -cp jami-all.postinst /root/rpmbuild/BUILD/ring-project/packaging/rules/one-click-install/ - -# build the package -QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild -ba jami-one-click.spec - -# move to output -mkdir -p /opt/output/one-click-install -mv /root/rpmbuild/RPMS/*/* /opt/output/one-click-install -touch /opt/output/one-click-install/.packages-built -chown -R ${CURRENT_UID}:${CURRENT_UID} /opt/output/one-click-install - diff --git a/scripts/build-package-opensuse-leap.sh b/scripts/build-package-opensuse-leap.sh deleted file mode 100755 index 9eddc33a53c56d5d44ad7ef113ce3eb645c8a920..0000000000000000000000000000000000000000 --- a/scripts/build-package-opensuse-leap.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2016-2019 Savoir-faire Linux Inc. -# -# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com> -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# This script is used in the packaging containers to build packages on -# rpm-based distros. -# - -set -e - -# import the spec file -mkdir -p /opt/ring-project -cd /opt/ring-project -cp /opt/ring-project-ro/packaging/rules/opensuse-leap/* . - -#create tree for build -rpmdev-setuptree - - -# place the source -cp /opt/ring-project-ro/jami_*.tar.gz /root/rpmbuild/SOURCES - - -# Set the version -sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" *.spec -rpmdev-bumpspec --comment="Automatic nightly release" --userstring="Jenkins <ring@lists.savoirfairelinux.net>" jami.spec -rpmdev-bumpspec --comment="Automatic nightly release" --userstring="Jenkins <ring@lists.savoirfairelinux.net>" jami-one-click.spec - - -# install build deps -dnf builddep -y jami.spec || echo "ignoring dnf builddep failure" - - -# build the package -rpmbuild -ba jami.spec - -# move to output -mv /root/rpmbuild/RPMS/*/* /opt/output -touch /opt/output/.packages-built -chown -R ${CURRENT_UID}:${CURRENT_UID} /opt/output - -## JAMI ONE CLICK INSTALL RPM - -#copy script jami-all.postinst which add repo -mkdir -p /root/rpmbuild/BUILD/ring-project/packaging/rules/one-click-install/ -cp jami-all.postinst /root/rpmbuild/BUILD/ring-project/packaging/rules/one-click-install/ - -# build the package -rpmbuild -ba jami-one-click.spec - -# move to output -mkdir -p /opt/output/one-click-install -mv /root/rpmbuild/RPMS/*/* /opt/output/one-click-install -touch /opt/output/one-click-install/.packages-built -chown -R ${CURRENT_UID}:${CURRENT_UID} /opt/output/one-click-install diff --git a/scripts/build-package-rhel.sh b/scripts/build-package-rhel.sh deleted file mode 100755 index aab1cca006a9864d86dbd019d8aa13da2c8876be..0000000000000000000000000000000000000000 --- a/scripts/build-package-rhel.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2016-2019 Savoir-faire Linux Inc. -# -# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com> -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# This script is used in the packaging containers to build packages on -# rpm-based distros. -# - -set -x - -# import the spec file -mkdir -p /opt/ring-project -cd /opt/ring-project -cp /opt/ring-project-ro/packaging/rules/rhel/* . - -#create tree for build -rpmdev-setuptree - -# place the source -#mkdir -p /root/rpmbuild/SOURCES -cp /opt/ring-project-ro/jami_*.tar.gz /root/rpmbuild/SOURCES - -# Set the version -sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" *.spec -rpmdev-bumpspec --comment="Automatic nightly release" --userstring="Jenkins <ring@lists.savoirfairelinux.net>" jami.spec -rpmdev-bumpspec --comment="Automatic nightly release" --userstring="Jenkins <ring@lists.savoirfairelinux.net>" jami-one-click.spec - - -# install build deps -dnf builddep -y jami.spec || echo "ignoring dnf builddep failure" - -# build the package -rpmbuild -ba jami.spec - -# move to output -mv /root/rpmbuild/RPMS/*/* /opt/output -touch /opt/output/.packages-built -chown -R ${CURRENT_UID}:${CURRENT_UID} /opt/output - -## JAMI ONE CLICK INSTALL RPM - -#copy script jami-all.postinst which add repo -mkdir -p /root/rpmbuild/BUILD/ring-project/packaging/rules/one-click-install/ -cp jami-all.postinst /root/rpmbuild/BUILD/ring-project/packaging/rules/one-click-install/ - -# build the package -rpmbuild -ba jami-one-click.spec - -# move to output -mkdir -p /opt/output/one-click-install -mv /root/rpmbuild/RPMS/*/* /opt/output/one-click-install -touch /opt/output/one-click-install/.packages-built -chown -R ${CURRENT_UID}:${CURRENT_UID} /opt/output/one-click-install - - diff --git a/scripts/build-package-rpm.sh b/scripts/build-package-rpm.sh new file mode 100755 index 0000000000000000000000000000000000000000..ade22271dd42f3ca3066eb03511966026155d10f --- /dev/null +++ b/scripts/build-package-rpm.sh @@ -0,0 +1,111 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2016-2021 Savoir-faire Linux Inc. +# +# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com> +# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# This script is used in the packaging containers to build packages on +# rpm-based distros. +# + +set -e + +# Import the spec file. +mkdir -p /opt/ring-project +cd /opt/ring-project +cp /opt/ring-project-ro/packaging/rules/rpm/* . +rm jami-libqt.spec + +# Prepare the build tree. +rpmdev-setuptree + +# Copy the source tarball. +cp /opt/ring-project-ro/jami_*.tar.gz /root/rpmbuild/SOURCES + +QT_JAMI_PREFIX="/usr/lib64/qt-jami" +PATH="${QT_JAMI_PREFIX}/bin:${PATH}" +LD_LIBRARY_PATH="${QT_JAMI_PREFIX}/lib:${LD_LIBRARY_PATH}" +PKG_CONFIG_PATH="${QT_JAMI_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" +CMAKE_PREFIX_PATH="${QT_JAMI_PREFIX}/lib/cmake:${CMAKE_PREFIX_PATH}" +QT_MAJOR=5 +QT_MINOR=15 +QT_PATCH=2 + +if [[ "${DISTRIBUTION:0:4}" == "rhel" \ + || "${DISTRIBUTION:0:13}" == "opensuse-leap" ]]; then + + RPM_PATH=/opt/cache-packaging/${DISTRIBUTION}/jami-libqt-${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}-1.x86_64.rpm + if [[ "${DISTRIBUTION:0:4}" == "rhel" ]]; then + RPM_PATH=/opt/cache-packaging/${DISTRIBUTION}/jami-libqt-${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}-1.el8.x86_64.rpm + fi + + if [ ! -f "${RPM_PATH}" ]; then + mkdir /opt/qt-jami-build + cd /opt/qt-jami-build + cp /opt/ring-project-ro/packaging/rules/rpm/jami-libqt.spec . + + QT_TARBALL_CHECKSUM="3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240" + wget https://download.qt.io/archive/qt/${QT_MAJOR}.${QT_MINOR}/${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}/single/qt-everywhere-src-${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}.tar.xz + + if ! echo -n ${QT_TARBALL_CHECKSUM} qt-everywhere-src-*.tar.xz | sha256sum -c - + then + echo "qt tarball checksum mismatch; quitting" + exit 1 + fi + + mv qt-everywhere-src-${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}.tar.xz /root/rpmbuild/SOURCES/jami-qtlib_${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}.tar.xz + sed -i "s/RELEASE_VERSION/${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}/g" jami-libqt.spec + rpmdev-bumpspec --comment="Automatic nightly release" \ + --userstring="Jenkins <jami@lists.savoirfairelinux.net>" jami-libqt.spec + + rpmbuild -ba jami-libqt.spec + mkdir -p /opt/cache-packaging/${DISTRIBUTION}/ + + if [[ "${DISTRIBUTION:0:4}" == "rhel" ]]; then + cp /root/rpmbuild/RPMS/x86_64/jami-libqt-${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}-1.el8.x86_64.rpm ${RPM_PATH} + else + cp /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm ${RPM_PATH} + fi + fi + rpm --install ${RPM_PATH} + cp ${RPM_PATH} /opt/output + cd /opt/ring-project +fi + +# Set the version and associated comment. +sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" *.spec +rpmdev-bumpspec --comment="Automatic nightly release" \ + --userstring="Jenkins <jami@lists.savoirfairelinux.net>" *.spec + +# Build the daemon and install it. +rpmbuild -ba jami-daemon.spec +rpm --install /root/rpmbuild/RPMS/x86_64/jami-daemon-* + +# Build the client library and install it. +rpmbuild -ba jami-libclient.spec +rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-* + +# Build the GNOME and Qt clients. +rpmbuild -ba jami-gnome.spec jami-qt.spec + +# Move the built packages to the output directory. +mv /root/rpmbuild/RPMS/*/* /opt/output +touch /opt/output/.packages-built +chown -R ${CURRENT_UID}:${CURRENT_UID} /opt/output + +# TODO: One click install: create a package that combines the already +# built package into one. diff --git a/scripts/deploy-packages.sh b/scripts/deploy-packages.sh index 98d0581fd0cb9a0352edecf4c7aaea22d3d19bbe..6262dda56c8041cba33e25dd3fde3ff3237897f0 100755 --- a/scripts/deploy-packages.sh +++ b/scripts/deploy-packages.sh @@ -31,8 +31,38 @@ set -e ## Debian / Ubuntu packaging ## ############################### +function fetch_qt_deb() +{ + if [ -f "${SSH_IDENTIY_FILE}" ]; + then + RSYNC_RSH="ssh -i ${SSH_IDENTIY_FILE}" + fi + + echo "#####################" + echo "## fetching qt deb ##" + echo "#####################" + echo "Using RSYNC_RSH='${RSYNC_RSH}'" + rsync --archive --verbose \ + ${REMOTE_REPOSITORY_LOCATION}/${DISTRIBUTION}_qt/pool/main/libq/libqt-jami/*.deb \ + ${DISTRIBUTION_REPOSITOIRY_FOLDER}_qt/ +} + function package_deb() { + DISTRIBUTION_REPOSITOIRY_FOLDER=$(realpath repositories)/${DISTRIBUTION} + mkdir -p ${DISTRIBUTION_REPOSITOIRY_FOLDER} + mkdir -p ${DISTRIBUTION_REPOSITOIRY_FOLDER}_qt + + ########################################################### + ## fetch qt deb (if not currently building a qt package) ## + ########################################################### + case "${DISTRIBUTION}" in + *_qt) ;; + *) + fetch_qt_deb + ;; + esac + ################################################## ## Create local repository for the given distro ## ################################################## @@ -40,8 +70,7 @@ function package_deb() echo "## Creating repository ##" echo "#########################" - DISTRIBUTION_REPOSITOIRY_FOLDER=$(realpath repositories)/${DISTRIBUTION} - mkdir -p ${DISTRIBUTION_REPOSITOIRY_FOLDER}/conf + mkdir ${DISTRIBUTION_REPOSITOIRY_FOLDER}/conf # Distributions file cat << EOF > ${DISTRIBUTION_REPOSITOIRY_FOLDER}/conf/distributions @@ -66,7 +95,14 @@ EOF #################################### ## Add packages to the repository ## #################################### - for package in packages/${DISTRIBUTION}*/*.deb; do + packages="packages/${DISTRIBUTION}*/*.deb" + case "${DISTRIBUTION}" in + *_qt) ;; + *) + packages="${packages} ${DISTRIBUTION_REPOSITOIRY_FOLDER}_qt/*.deb" + ;; + esac + for package in ${packages}; do # Sign the deb echo "## signing: ${package} ##" dpkg-sig -k ${KEYID} --sign builder ${package} diff --git a/scripts/make-packaging-target.py b/scripts/make-packaging-target.py index 425c56d86e206e81e4e5fe732c75399a16ba5587..95743807b6e9062b184169e76d9546cb262057aa 100755 --- a/scripts/make-packaging-target.py +++ b/scripts/make-packaging-target.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2016-2017 Savoir-faire Linux Inc. +# Copyright (C) 2016-2021 Savoir-faire Linux Inc. # # Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com> # @@ -57,6 +57,7 @@ PACKAGE_%(distribution)s_DOCKER_RUN_COMMAND = docker run \\ -e DISTRIBUTION=%(distribution)s \\ -v $(CURDIR):/opt/ring-project-ro:ro \\ -v $(CURDIR)/packages/%(distribution)s:/opt/output \\ + -v /opt/cache-packaging:/opt/cache-packaging \\ -t $(DOCKER_EXTRA_ARGS) %(options)s \\ $(PACKAGE_%(distribution)s_DOCKER_IMAGE_NAME) @@ -90,7 +91,18 @@ RPM_BASED_SYSTEMS_DOCKER_RUN_OPTIONS = ( '--privileged') -def generate_target(distribution, debian_packaging_override, output_file, options='', docker_image='', version='', docker_build_args = ''): +DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT = ( + '-e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) ' + '-e QT_MAJOR=$(QT_MAJOR) ' + '-e QT_MINOR=$(QT_MINOR) ' + '-e QT_PATCH=$(QT_PATCH) ' + '-e QT_TARBALL_CHECKSUM=$(QT_TARBALL_CHECKSUM) ' + '-v /opt/ring-contrib:/opt/ring-contrib ' + '--privileged --security-opt apparmor=docker-default') + + +def generate_target(distribution, output_file, options='', docker_image='', + version='', docker_build_args=''): if (docker_image == ''): docker_image = distribution if (version == ''): @@ -142,6 +154,13 @@ def run_generate_all(parsed_args): "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)", + }, { "distribution": "debian_10_oci", "docker_image": "debian_10", @@ -200,6 +219,18 @@ def run_generate_all(parsed_args): "debian_packaging_override": "", "output_file": "$(DEBIAN_DSC_FILENAME)", }, + { + "distribution": "ubuntu_18.04_qt", + "output_file": "$(DEBIAN_QT_DSC_FILENAME)", + "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, + "version": "$(DEBIAN_QT_VERSION)", + }, + { + "distribution": "ubuntu_18.04_qt_i386", + "output_file": "$(DEBIAN_QT_DSC_FILENAME)", + "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, + "version": "$(DEBIAN_QT_VERSION)", + }, { "distribution": "ubuntu_18.04_oci", "docker_image": "ubuntu_18.04", @@ -222,6 +253,12 @@ def run_generate_all(parsed_args): "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default", }, + { + "distribution": "ubuntu_20.04_qt", + "output_file": "$(DEBIAN_QT_DSC_FILENAME)", + "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, + "version": "$(DEBIAN_QT_VERSION)", + }, { "distribution": "ubuntu_20.04_oci", "docker_image": "ubuntu_20.04", @@ -236,6 +273,12 @@ def run_generate_all(parsed_args): "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default", }, + { + "distribution": "ubuntu_20.10_qt", + "output_file": "$(DEBIAN_QT_DSC_FILENAME)", + "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, + "version": "$(DEBIAN_QT_VERSION)", + }, { "distribution": "ubuntu_20.10_oci", "docker_image": "ubuntu_20.10",