From 5e561ddc629c3d0df3eab1c721a5925de49e8404 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Wed, 6 Apr 2022 21:43:38 -0400
Subject: [PATCH] packaging: remove client-gnome

Change-Id: Iadb4c2091913c670e977c1966ccc22f962d787a1
---
 Jenkinsfile                                   |  2 +-
 Makefile                                      |  2 +-
 packaging/rules/debian/control                | 39 +---------
 packaging/rules/debian/copyright              | 11 ---
 packaging/rules/debian/jami-all.manpages      |  1 -
 packaging/rules/debian/jami.manpages          |  1 -
 packaging/rules/debian/rules                  | 53 +-------------
 packaging/rules/rpm/jami-gnome.spec           | 69 ------------------
 packaging/rules/rpm/jami-libclient-gnome.spec | 71 -------------------
 scripts/build-package-rpm.sh                  |  7 --
 scripts/update-submodules.sh                  |  1 -
 11 files changed, 4 insertions(+), 253 deletions(-)
 delete mode 100644 packaging/rules/rpm/jami-gnome.spec
 delete mode 100644 packaging/rules/rpm/jami-libclient-gnome.spec

diff --git a/Jenkinsfile b/Jenkinsfile
index ce870dbb..770f4da1 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -32,7 +32,7 @@
 // - Allow publishing from any node, to avoid relying on a single machine.
 
 // Configuration globals.
-def SUBMODULES = ['daemon', 'lrc', 'lrc-gnome', 'client-gnome', 'client-qt']
+def SUBMODULES = ['daemon', 'lrc', 'client-qt']
 def TARGETS = [:]
 def REMOTE_HOST = env.SSH_HOST_DL_RING_CX
 def REMOTE_BASE_DIR = '/srv/repository/ring'
diff --git a/Makefile b/Makefile
index 75c81928..9703ede7 100644
--- a/Makefile
+++ b/Makefile
@@ -125,7 +125,7 @@ $(RELEASE_TARBALL_FILENAME): tarballs.manifest
 	rm -f "$@"
 	mkdir $(TMPDIR)/jami-project
 	git archive HEAD | tar xf - -C $(TMPDIR)/jami-project
-	for m in daemon lrc lrc-gnome client-gnome client-qt; do \
+	for m in daemon lrc client-qt; do \
 		(cd "$$m" && git archive --prefix "$$m/" HEAD \
 			| tar xf - -C $(TMPDIR)/jami-project); \
 	done
diff --git a/packaging/rules/debian/control b/packaging/rules/debian/control
index 5f49c3ac..72d443a3 100644
--- a/packaging/rules/debian/control
+++ b/packaging/rules/debian/control
@@ -10,19 +10,10 @@ Build-Depends: debhelper (>= 9),
 # qt client
                libqt-jami,
                python3,
-# both qt client and gnome client
                libnm-dev,
                libnotify-dev,
-# gnome client
-               libcanberra-gtk3-dev,
-               libclutter-gtk-1.0-dev,
-               libclutter-1.0-dev,
-               libglib2.0-dev,
-               libgtk-3-dev,
-               gettext,
                libqrencode-dev,
                libayatana-appindicator3-dev | libappindicator3-dev,
-               libwebkit2gtk-4.0-dev | libwebkit2gtk-3.0-dev,
 # daemon
                libdbus-1-dev,
                libdbus-c++-dev,
@@ -86,8 +77,7 @@ Conflicts: jami,
            libqt-jami
 Description: One-click install package for Jami
  This package only exists to provide an easy installation user experience.
- To install the default client, install the 'jami' package. To install
- the GNOME client, install the 'jami-gnome' package.
+ To install the default client, install the 'jami' package.
 
 Package: jami
 Architecture: any
@@ -105,19 +95,6 @@ Description: Secure and distributed voice, video and chat platform - desktop cli
  .
  This package contains the jami-qt desktop client.
 
-Package: jami-gnome
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends},
-         jami-libclient-gnome (=${binary:Version}),
-         libqt-jami (>= 6.2.3)
-Description: Secure and distributed voice, video and chat platform - desktop client
- Jami (jami.net) is a secure and distributed voice, video and chat communication
- platform that requires no centralized server and leaves the power of privacy
- in the hands of the user.
- .
- This package contains the older jami-gnome desktop client.
-
 Package: jami-libclient
 Architecture: any
 Depends: ${shlibs:Depends},
@@ -132,20 +109,6 @@ Description: Secure and distributed voice, video and chat platform - daemon
  .
  This package contains the Jami client library, lrc, for the Qt client.
 
-Package: jami-libclient-gnome
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends},
-         jami-daemon (=${binary:Version}),
-         libqt-jami (>= 6.2.3)
-Conflicts: jami-libclient
-Description: Secure and distributed voice, video and chat platform - daemon
- Jami (jami.net) is a secure and distributed voice, video and chat communication
- platform that requires no centralized server and leaves the power of privacy
- in the hands of the user.
- .
- This package contains the Jami client library, lrc, for the GNOME client.
-
 Package: jami-daemon
 Architecture: any
 Depends: ${shlibs:Depends},
diff --git a/packaging/rules/debian/copyright b/packaging/rules/debian/copyright
index 43aecf3b..1b2220de 100644
--- a/packaging/rules/debian/copyright
+++ b/packaging/rules/debian/copyright
@@ -98,17 +98,6 @@ License: LGPL-2.1+
 ## End of lrc ##
 ################
 
-###########################
-## Start of gnome client ##
-###########################
-
-Files: client-gnome/web/linkify*
-Copyright: 2016 SoapBox Innovations Inc.
-License: Expat
-
-#########################
-## End of gnome client ##
-#########################
 
 License: GPL-3+
  This program is free software: you can redistribute it and/or modify
diff --git a/packaging/rules/debian/jami-all.manpages b/packaging/rules/debian/jami-all.manpages
index a2e889dd..857be47f 100644
--- a/packaging/rules/debian/jami-all.manpages
+++ b/packaging/rules/debian/jami-all.manpages
@@ -1,2 +1 @@
-client-gnome/doc/jami-gnome.1
 daemon/jamid.1
diff --git a/packaging/rules/debian/jami.manpages b/packaging/rules/debian/jami.manpages
index a1d1af97..e69de29b 100644
--- a/packaging/rules/debian/jami.manpages
+++ b/packaging/rules/debian/jami.manpages
@@ -1 +0,0 @@
-client-gnome/doc/jami-gnome.1
diff --git a/packaging/rules/debian/rules b/packaging/rules/debian/rules
index 7781a0c9..d5464d70 100755
--- a/packaging/rules/debian/rules
+++ b/packaging/rules/debian/rules
@@ -24,9 +24,7 @@ endif
 # Binary package names
 JAMI_ALL_IN_ONE_PKG_NAME="jami-all"
 JAMI_CLIENT_PKG_NAME="jami"
-JAMI_CLIENT_GNOME_PKG_NAME="jami-gnome"
 JAMI_LIB_CLIENT_PKG_NAME="jami-libclient"
-JAMI_LIB_CLIENT_GNOME_PKG_NAME="jami-libclient-gnome"
 JAMI_DAEMON_PKG_NAME="jami-daemon"
 
 # Bundled packages from contrib
@@ -109,38 +107,9 @@ override_dh_auto_build:
 	  -DCMAKE_INSTALL_LIBDIR=lib \
 	  $(CMAKE_OPTIONS) ..
 
-	# Libringclient configure (for GNOME client)
-	cd lrc-gnome && \
-	mkdir build && \
-	cd build && \
-	cmake  \
-	  -DRING_BUILD_DIR=$(CURDIR)/daemon/src \
-	  -DENABLE_LIBWRAP=true \
-	  -DCMAKE_INSTALL_PREFIX=/usr \
-	  -DCMAKE_INSTALL_LIBDIR=lib \
-	  $(CMAKE_OPTIONS) ..
-
 	# libringclient build
 	make -C lrc/build -j$(NO_CPUS) V=1
 
-	# libringclient build (for GNOME client)
-	make -C lrc-gnome/build -j$(NO_CPUS) V=1
-
-	# GNOME client configure
-	cd client-gnome && \
-	  mkdir build && \
-	  cd build && \
-	  cmake -DCMAKE_INSTALL_PREFIX=/usr \
-		-DCMAKE_INSTALL_LIBDIR=lib \
-		-DLibRingClient_PROJECT_DIR=/$(CURDIR)/lrc-gnome \
-		-DGSETTINGS_LOCALCOMPILE=OFF \
-		$(CMAKE_OPTIONS) ..
-
-	# GNOME client build
-	cd client-gnome/web && \
-	  for f in ../../lrc-gnome/src/web-chatview/*.*; do ln -sf "$$f" .; done
-	make -C client-gnome/build LDFLAGS="-lpthread" -j$(NO_CPUS) V=1
-
 	# Qt client configure and build
 	cd client-qt && \
 	mkdir build && \
@@ -166,16 +135,6 @@ override_dh_auto_clean:
 	# CMake build system has no distclean target, so use clean.
 	[ -f lrc/build/Makefile ] && make -C lrc/build clean || true
 	rm -rfv lrc/build
-	[ -f lrc-gnome/build/Makefile ] && make -C lrc-gnome/build clean || true
-	rm -rfv lrc-gnome/build
-
-	###########################
-	##### gnome client clean ##
-	###########################
-	# CMake build system has no distclean target, so use clean.
-	[ -f client-gnome/build/Makefile ] && \
-	  make -C client-gnome/build clean || true
-	rm -rfv client-gnome/build
 
 	#####################
 	## qt client clean ##
@@ -199,22 +158,13 @@ override_dh_auto_install:
         ## LibRingClient
 	cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME) install
 	rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/include
-        ## LibRingClient (for GNOME client)
-	cd lrc-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME) install
-	rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)/usr/include
 
 	# This is a symlink, should be in -dev package
 	rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/lib/libringclient.so
-	rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)/usr/lib/libringclient.so
 
 	# cmake files
 	rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME)/usr/lib/cmake
 
-	## GNOME client
-	cd client-gnome/build && \
-		make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME) install
-	rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME)/usr/bin/jami
-
 	## Qt client
 	cd client-qt/build && \
 	make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME) install
@@ -253,8 +203,7 @@ override_dh_auto_install:
 override_dh_shlibdeps:
 	dh_shlibdeps -- \
 	  -x$(JAMI_ALL_IN_ONE_PKG_NAME) \
-	  -x$(JAMI_LIB_CLIENT_PKG_NAME) \
-	  -x$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)
+	  -x$(JAMI_LIB_CLIENT_PKG_NAME)
 
 tmpdir:= $(shell mktemp -d)
 workdir:= $(shell pwd)
diff --git a/packaging/rules/rpm/jami-gnome.spec b/packaging/rules/rpm/jami-gnome.spec
deleted file mode 100644
index 4f9f7284..00000000
--- a/packaging/rules/rpm/jami-gnome.spec
+++ /dev/null
@@ -1,69 +0,0 @@
-%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-gnome = %{version}
-
-# Build dependencies.
-BuildRequires: make
-BuildRequires: gettext-devel
-
-# Build and runtime dependencies.
-BuildRequires: glib2-devel
-%if 0%{?fedora} >= 32
-BuildRequires: gcc
-BuildRequires: cmake
-BuildRequires: dbus-devel
-BuildRequires: libnotify-devel
-BuildRequires: libappindicator-gtk3-devel
-BuildRequires: webkitgtk4-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 jami-project
-
-%build
-cd %{_builddir}/jami-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}/jami-project/client-gnome/build \
-    LDFLAGS="-lpthread" %{_smp_mflags} V=1
-
-%install
-DESTDIR=%{buildroot} make -C %{_builddir}/jami-project/client-gnome/build install
-# Only keep /bin/jami-gnome for the GNOME client.
-rm -rfv %{buildroot}/%{_bindir}/jami
-
-%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}/icons/hicolor/scalable/apps/jami-gnome-new.svg
-%{_datadir}/jami-gnome
-%{_datadir}/locale/*
-%{_datadir}/metainfo/jami-gnome.appdata.xml
-%{_datadir}/sounds/jami-gnome
diff --git a/packaging/rules/rpm/jami-libclient-gnome.spec b/packaging/rules/rpm/jami-libclient-gnome.spec
deleted file mode 100644
index 91dd8655..00000000
--- a/packaging/rules/rpm/jami-libclient-gnome.spec
+++ /dev/null
@@ -1,71 +0,0 @@
-%define name        jami-libclient-gnome
-%define version     RELEASE_VERSION
-%define release     0
-
-Name:          %{name}
-Version:       %{version}
-Release:       %{release}%{?dist}
-Summary:       Client library for Jami GNOME
-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: jami-daemon-devel = %{version}
-Requires:      jami-libqt
-BuildRequires: make
-%if 0%{?fedora} >= 32
-BuildRequires: NetworkManager-libnm-devel
-BuildRequires: cmake
-BuildRequires: gcc-c++
-%endif
-
-%description
-This package contains the client library of Jami GNOME, a free
-software for universal communication which respects freedoms and
-privacy of its users.
-
-%prep
-%setup -n jami-project
-
-%build
-# Qt-related variables
-cd %{_builddir}/jami-project/lrc-gnome && \
-    mkdir build && cd build && \
-    cmake -DRING_BUILD_DIR=%{_builddir}/jami-project/daemon/src \
-          -DENABLE_LIBWRAP=true \
-          -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-          -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-          -DCMAKE_BUILD_TYPE=Release \
-          ..
-make -C %{_builddir}/jami-project/lrc-gnome/build %{_smp_mflags} V=1
-
-%install
-DESTDIR=%{buildroot} make -C lrc-gnome/build install
-
-%files
-%defattr(-,root,root,-)
-%{_libdir}/libringclient.so.1.0.0
-%{_datadir}/libringclient
-
-%package devel
-Summary: Development files of the Jami GNOME 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/scripts/build-package-rpm.sh b/scripts/build-package-rpm.sh
index 82644546..e43130d0 100755
--- a/scripts/build-package-rpm.sh
+++ b/scripts/build-package-rpm.sh
@@ -132,13 +132,6 @@ rpmbuild --define "debug_package %{nil}"  -ba jami-libclient.spec
 rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-*
 rpmbuild --define "debug_package %{nil}" -ba jami-qt.spec
 
-# Uninstall the client library, build and install the client library
-# version specific to the GNOME client, and build the GNOME client.
-rpm --erase $(rpm --query --all 'jami-libclient*')
-rpmbuild --define "debug_package %{nil}"  -ba jami-libclient-gnome.spec
-rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-gnome-*
-rpmbuild --define "debug_package %{nil}" -ba jami-gnome.spec
-
 # Move the built packages to the output directory.
 mv /root/rpmbuild/RPMS/*/* /opt/output
 touch /opt/output/.packages-built
diff --git a/scripts/update-submodules.sh b/scripts/update-submodules.sh
index 6c565e03..4b787c39 100755
--- a/scripts/update-submodules.sh
+++ b/scripts/update-submodules.sh
@@ -2,7 +2,6 @@
 
 git submodule foreach "git pull origin master"
 git add client-android \
-        client-gnome \
         client-ios \
         client-macosx \
         client-qt \
-- 
GitLab