diff --git a/docker/Dockerfile_fedora_32 b/docker/Dockerfile_fedora_32 index 26abf528cb4d4ab71fc4a8a451418a5c2492f582..454a044b51f398c5a02ad91e3845f903ac84481c 100644 --- a/docker/Dockerfile_fedora_32 +++ b/docker/Dockerfile_fedora_32 @@ -73,6 +73,6 @@ RUN dnf install -y \ 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 364e04a73c4b1bdfa725da94c97014dd1cd3b6d3..51f57aca6ed431b27eecb139999387b4e8894813 100644 --- a/docker/Dockerfile_fedora_33 +++ b/docker/Dockerfile_fedora_33 @@ -73,6 +73,6 @@ RUN dnf install -y \ 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 9f2576b5f011f32359bdfdbbbc6986bd25ec3eb0..ba0d2441515bd625319fd732c3887aceabbf52bd 100644 --- a/docker/Dockerfile_fedora_34 +++ b/docker/Dockerfile_fedora_34 @@ -73,6 +73,6 @@ RUN dnf install -y \ 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..c1074ead695deda57b55be38a58ca451460d7c4e 100644 --- a/docker/Dockerfile_opensuse-leap_15.2 +++ b/docker/Dockerfile_opensuse-leap_15.2 @@ -29,7 +29,6 @@ RUN zypper --non-interactive up -y && \ libQt5DBus-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ libdbus-c++-devel \ libQt5DBus-devel \ libXext-devel \ @@ -40,7 +39,6 @@ RUN zypper --non-interactive up -y && \ chrpath \ check \ astyle \ - uuid-devel \ gettext-devel \ gcc-c++ \ which \ @@ -72,17 +70,27 @@ RUN zypper --non-interactive up -y && \ sqlite-devel \ libQt5Sql-devel \ libQt5Gui-devel \ + libQt5Widgets-devel \ + libqt5-qtdeclarative-devel \ + libqt5-qtquickcontrols \ + libQt5Concurrent-devel \ + libQt5QuickControls2-devel \ + libqt5-qtmultimedia-devel \ + libqt5-qtsvg-devel \ + libqt5-qtbase-devel \ + libqt5-qttools \ + libQt5Concurrent-devel \ + libqt5-qtwebengine-devel \ ffmpeg-4-libavutil-devel \ gtk3-devel\ qrencode-devel \ python3-python-dateutil \ libqt5-linguist-devel \ - libsndfile-devel \ - evolution-devel + libsndfile-devel 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..043678ef39ec51069c7771fa4857faef0f7f30a9 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,6 +69,15 @@ 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 \ @@ -78,6 +86,6 @@ RUN zypper --non-interactive up -y && \ libsndfile-devel \ evolution-devel -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/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 - -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 -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/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/fedora/jami-daemon.spec b/packaging/rules/rpm/jami-daemon.spec similarity index 94% rename from packaging/rules/fedora/jami-daemon.spec rename to packaging/rules/rpm/jami-daemon.spec index 5cb88e49949d6a06fe7fb0b7b6ab44cac9d5cde4..634b51dc5859792faacc8eca064a481f775555b1 100644 --- a/packaging/rules/fedora/jami-daemon.spec +++ b/packaging/rules/rpm/jami-daemon.spec @@ -27,25 +27,29 @@ 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: alsa-lib-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: libupnp-devel BuildRequires: libuuid-devel BuildRequires: libva-devel BuildRequires: libvdpau-devel -BuildRequires: nettle-devel -BuildRequires: opus-devel BuildRequires: pcre-devel -BuildRequires: pulseaudio-libs-devel -BuildRequires: uuid-c++-devel BuildRequires: uuid-devel -BuildRequires: webkitgtk4-devel BuildRequires: yaml-cpp-devel %description diff --git a/packaging/rules/fedora/jami-gnome.spec b/packaging/rules/rpm/jami-gnome.spec similarity index 92% rename from packaging/rules/fedora/jami-gnome.spec rename to packaging/rules/rpm/jami-gnome.spec index 4cce62922c988d1088800af0f895102840d74d7d..6a90ada645efe3fa68c5f36b303ebb83955915e8 100644 --- a/packaging/rules/fedora/jami-gnome.spec +++ b/packaging/rules/rpm/jami-gnome.spec @@ -21,15 +21,22 @@ 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: libappindicator-gtk3-devel BuildRequires: libcanberra-devel BuildRequires: qrencode-devel -BuildRequires: webkitgtk4-devel %description This package contains the GNOME desktop client of Jami. Jami is a free diff --git a/packaging/rules/fedora/jami-libclient.spec b/packaging/rules/rpm/jami-libclient.spec similarity index 90% rename from packaging/rules/fedora/jami-libclient.spec rename to packaging/rules/rpm/jami-libclient.spec index 929a9b8c88f010d0679dd116489ed497f950597d..3be46856545114f2c1d28f6cde7524627d4941af 100644 --- a/packaging/rules/fedora/jami-libclient.spec +++ b/packaging/rules/rpm/jami-libclient.spec @@ -14,13 +14,21 @@ Source: jami_%{version}.tar.gz Requires: jami-daemon = %{version} # Build dependencies -BuildRequires: NetworkManager-libnm-devel 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 +%if %{defined suse_version} +BuildRequires: libQt5Sql-devel +BuildRequires: libQt5Gui-devel +BuildRequires: libqt5-qtbase-devel +BuildRequires: libqt5-qttools +%endif %description This package contains the client library of Jami, a free software for diff --git a/packaging/rules/fedora/jami-qt.spec b/packaging/rules/rpm/jami-qt.spec similarity index 98% rename from packaging/rules/fedora/jami-qt.spec rename to packaging/rules/rpm/jami-qt.spec index 3ecc8b85c168277633576d77724e70435f46f97a..92f5d471873c16bcc3ad76fd97fc447588929a81 100644 --- a/packaging/rules/fedora/jami-qt.spec +++ b/packaging/rules/rpm/jami-qt.spec @@ -19,10 +19,11 @@ Obsoletes: jami < %{version}-%{release} BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: make -BuildRequires: qt5-qttools-devel # 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 @@ -30,10 +31,10 @@ 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 diff --git a/plugins b/plugins index 9dcf4309a37d32ff8fc349cd96a9c54363530b4b..7bfad26ae4eeb656733d409aa88cf0fcae69d7a5 160000 --- a/plugins +++ b/plugins @@ -1 +1 @@ -Subproject commit 9dcf4309a37d32ff8fc349cd96a9c54363530b4b +Subproject commit 7bfad26ae4eeb656733d409aa88cf0fcae69d7a5 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-fedora.sh b/scripts/build-package-rpm.sh similarity index 88% rename from scripts/build-package-fedora.sh rename to scripts/build-package-rpm.sh index 64242a81db980b2bc5838d02f0c7edd6fcaa7b15..8de91231c28ae0386be85f3bf44bc9c89edde15b 100755 --- a/scripts/build-package-fedora.sh +++ b/scripts/build-package-rpm.sh @@ -27,7 +27,7 @@ set -e # Import the spec file. mkdir -p /opt/ring-project cd /opt/ring-project -cp /opt/ring-project-ro/packaging/rules/fedora/* . +cp /opt/ring-project-ro/packaging/rules/rpm/* . # Prepare the build tree. rpmdev-setuptree @@ -40,10 +40,6 @@ sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" *.spec rpmdev-bumpspec --comment="Automatic nightly release" \ --userstring="Jenkins <jami@lists.savoirfairelinux.net>" *.spec -# TODO: We could use mock to build Fedora/RHEL packages in minimal -# chroots matching the environment defined in the spec files. It also -# has a --chain option to chain the build of dependent packages. - # Build the daemon and install it. rpmbuild -ba jami-daemon.spec rpm --install /root/rpmbuild/RPMS/x86_64/jami-daemon-*