From 0f305eea96a49fda2c714a60ae2579514f22fe29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Mon, 20 Apr 2020 11:02:10 -0400
Subject: [PATCH] packaging: add fedora 32

Change-Id: Ida94131950baf124354b4cb5a521271aaeddee73
---
 Makefile.packaging                            |  2 +
 docker/Dockerfile_fedora_32                   | 73 +++++++++++++++++++
 packaging/rules/fedora/jami-all.postinst      |  2 +
 .../rules/opensuse-leap/jami-all.postinst     |  2 +
 packaging/rules/rhel/jami-all.postinst        |  2 +
 scripts/build-package-fedora.sh               |  9 ++-
 scripts/make-packaging-target.py              | 12 +++
 7 files changed, 101 insertions(+), 1 deletion(-)
 create mode 100644 docker/Dockerfile_fedora_32

diff --git a/Makefile.packaging b/Makefile.packaging
index 8c9e4d8f..26d06b9c 100644
--- a/Makefile.packaging
+++ b/Makefile.packaging
@@ -124,6 +124,8 @@ package-all: package-debian_9 \
              package-fedora_30_i386 \
              package-fedora_31 \
              package-fedora_31_i386 \
+             package-fedora_32 \
+             package-fedora_32_i386 \
              package-rhel_8 \
              package-opensuse-leap_15.1 \
              package-gentoo
diff --git a/docker/Dockerfile_fedora_32 b/docker/Dockerfile_fedora_32
new file mode 100644
index 00000000..6b862e7a
--- /dev/null
+++ b/docker/Dockerfile_fedora_32
@@ -0,0 +1,73 @@
+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 \
+        git \
+        rpm-build \
+        tar \
+        make \
+        autoconf \
+        automake \
+        cmake \
+        speexdsp-devel \
+        pulseaudio-libs-devel \
+        libcanberra-devel \
+        libcurl-devel \
+        libtool \
+        dbus-devel \
+        expat-devel \
+        pcre-devel \
+        yaml-cpp-devel \
+        boost-devel \
+        dbus-c++-devel \
+        dbus-devel \
+        libXext-devel \
+        libXfixes-devel \
+        yasm \
+        nasm \
+        speex-devel \
+        gsm-devel \
+        chrpath \
+        check \
+        astyle \
+        uuid-c++-devel \
+        gettext-devel \
+        gcc-c++ \
+        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 \
+        openssl-static \
+        clutter-devel \
+        clutter-gtk-devel \
+        libappindicator-gtk3-devel \
+        libnotify-devel \
+        libupnp-devel \
+        qrencode-devel \
+        qt5-qtbase-devel \
+        qt5-qttools-devel \
+        sqlite-devel
+
+ADD scripts/build-package-fedora.sh /opt/build-package-fedora.sh
+
+CMD /opt/build-package-fedora.sh
diff --git a/packaging/rules/fedora/jami-all.postinst b/packaging/rules/fedora/jami-all.postinst
index 71cb922a..a095f7c0 100755
--- a/packaging/rules/fedora/jami-all.postinst
+++ b/packaging/rules/fedora/jami-all.postinst
@@ -105,6 +105,8 @@ enabled=1'
         ENDTAG="fedora_30"
     elif [ "${PLATFORM_ID}" = "platform:f31" ] || [ "${ID}_${VERSION_ID}" = "fedora_31" ]; then
         ENDTAG="fedora_31"
+    elif [ "${PLATFORM_ID}" = "platform:f32" ] || [ "${ID}_${VERSION_ID}" = "fedora_32" ]; then
+        ENDTAG="fedora_32"
     else
         # Distribution is not supported. Don't provide automatic updates.
         CAN_ADD_YUM_SOURCE=false
diff --git a/packaging/rules/opensuse-leap/jami-all.postinst b/packaging/rules/opensuse-leap/jami-all.postinst
index c6846e18..ab9a1a11 100755
--- a/packaging/rules/opensuse-leap/jami-all.postinst
+++ b/packaging/rules/opensuse-leap/jami-all.postinst
@@ -105,6 +105,8 @@ enabled=1'
         ENDTAG="fedora_30"
     elif [ "${PLATFORM_ID}" = "platform:f31" ] || [ "${ID}_${VERSION_ID}" = "fedora_31" ]; then
         ENDTAG="fedora_31"
+    elif [ "${PLATFORM_ID}" = "platform:f32" ] || [ "${ID}_${VERSION_ID}" = "fedora_32" ]; then
+        ENDTAG="fedora_32"
     elif [ "${PLATFORM_ID}" = "opensuse-leap:15.1" ] || [ "${ID}_${VERSION_ID}" = "opensuse-leap_15.1" ]; then
         ENDTAG="opensuse-leap_15.1"
 	REPO_FILE="/etc/zypp/repos.d/jami-main.repo"
diff --git a/packaging/rules/rhel/jami-all.postinst b/packaging/rules/rhel/jami-all.postinst
index d2f73f17..c7a5611e 100755
--- a/packaging/rules/rhel/jami-all.postinst
+++ b/packaging/rules/rhel/jami-all.postinst
@@ -97,6 +97,8 @@ enabled=1'
         ENDTAG="rhel_8"
     elif [ "${PLATFORM_ID}" = "platform:f31" ] || [ "${ID}_${VERSION_ID}" = "fedora_31" ]; then
         ENDTAG="fedora_31"
+    elif [ "${PLATFORM_ID}" = "platform:f32" ] || [ "${ID}_${VERSION_ID}" = "fedora_32" ]; then
+        ENDTAG="fedora_32"
     else
         # Distribution is not supported. Don't provide automatic updates.
         CAN_ADD_YUM_SOURCE=false
diff --git a/scripts/build-package-fedora.sh b/scripts/build-package-fedora.sh
index 64581083..3a43c6df 100755
--- a/scripts/build-package-fedora.sh
+++ b/scripts/build-package-fedora.sh
@@ -35,8 +35,15 @@ rpmdev-setuptree
 cp /opt/ring-project-ro/jami_*.tar.gz /root/rpmbuild/SOURCES
 
 # Set the version
-#sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" jami.spec
 sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" *.spec
+if [ ${DISTRIBUTION} == "fedora_32" ]; 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
diff --git a/scripts/make-packaging-target.py b/scripts/make-packaging-target.py
index abc07376..32fa9c92 100755
--- a/scripts/make-packaging-target.py
+++ b/scripts/make-packaging-target.py
@@ -460,6 +460,18 @@ def run_generate_all(parsed_args):
             "output_file": ".packages-built",
             "options": "--security-opt seccomp=./docker/profile-seccomp-fedora_28.json --privileged",
         },
+        {
+            "distribution": "fedora_32",
+            "debian_packaging_override": "",
+            "output_file": ".packages-built",
+            "options": "--security-opt seccomp=./docker/profile-seccomp-fedora_28.json --privileged",
+        },
+        {
+            "distribution": "fedora_32_i386",
+            "debian_packaging_override": "",
+            "output_file": ".packages-built",
+            "options": "--security-opt seccomp=./docker/profile-seccomp-fedora_28.json --privileged",
+        },
         {
             "distribution": "rhel_8",
             "debian_packaging_override": "",
-- 
GitLab