diff --git a/packaging/rules/fedora/jami-daemon.spec b/packaging/rules/fedora/jami-daemon.spec
new file mode 100644
index 0000000000000000000000000000000000000000..5cb88e49949d6a06fe7fb0b7b6ab44cac9d5cde4
--- /dev/null
+++ b/packaging/rules/fedora/jami-daemon.spec
@@ -0,0 +1,121 @@
+%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.
+BuildRequires: NetworkManager-libnm-devel
+BuildRequires: alsa-lib-devel
+BuildRequires: dbus-devel
+BuildRequires: expat-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
+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/fedora/jami-gnome.spec b/packaging/rules/fedora/jami-gnome.spec
new file mode 100644
index 0000000000000000000000000000000000000000..4cce62922c988d1088800af0f895102840d74d7d
--- /dev/null
+++ b/packaging/rules/fedora/jami-gnome.spec
@@ -0,0 +1,68 @@
+%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
+BuildRequires: dbus-devel
+BuildRequires: libnotify-devel
+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
+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.svg
+%{_datadir}/jami-gnome
+%{_datadir}/locale/*
+%{_datadir}/metainfo/jami-gnome.appdata.xml
+%{_datadir}/sounds/jami-gnome
diff --git a/packaging/rules/fedora/jami-libclient.spec b/packaging/rules/fedora/jami-libclient.spec
new file mode 100644
index 0000000000000000000000000000000000000000..929a9b8c88f010d0679dd116489ed497f950597d
--- /dev/null
+++ b/packaging/rules/fedora/jami-libclient.spec
@@ -0,0 +1,69 @@
+%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: NetworkManager-libnm-devel
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: jami-daemon-devel = %{version}
+BuildRequires: make
+BuildRequires: qt5-qtbase-devel
+BuildRequires: qt5-qttools-devel
+
+%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/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/scripts/build-package-fedora.sh b/scripts/build-package-fedora.sh
index 0bd0430c6dc0acf384b40fc04021fe6ab3861088..17cb3c907e23aeec4b4440acf8c4eed018c2a8fc 100755
--- a/scripts/build-package-fedora.sh
+++ b/scripts/build-package-fedora.sh
@@ -1,8 +1,9 @@
 #!/usr/bin/env bash
 #
-# Copyright (C) 2016-2019 Savoir-faire Linux Inc.
+# 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
@@ -23,55 +24,41 @@
 
 set -e
 
-# import the spec file
+# 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
+# Prepare the build tree.
 rpmdev-setuptree
 
-# place the source
+# Copy the source tarball.
 cp /opt/ring-project-ro/jami_*.tar.gz /root/rpmbuild/SOURCES
 
-# Set the version
+# Set the version and associated comment.
 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 <jami@lists.savoirfairelinux.net>" *.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
+# 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-*
 
-# install build deps
-dnf builddep -y jami.spec || echo "ignoring dnf builddep failure"
+# Build the client library and install it.
+rpmbuild -ba jami-libclient.spec
+rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-*
 
-# build the package
-QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild -ba jami.spec
+# Build the GNOME client.
+rpmbuild -ba jami-gnome.spec
 
-# move to output
+# 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
 
-## 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
-
+# TODO: One click install: create a package that combines the already
+# built package into one.