[pkg-crosswire-devel] Bug#912807: xiphos: Depends on gconf

Yavor Doganov yavor at gnu.org
Sat Nov 3 22:07:29 GMT 2018


Source: xiphos
Version: 4.0.7.1-5
Severity: important
User: pkg-gnome-maintainers at lists.alioth.debian.org
Usertags: oldlibs gconf
Tags: sid buster patch

Your package depends and build-depends on gconf, but gconf will be
removed from Debian soon (most probably right after the Buster
release).

Furthermore, it seems that the dependency is completely unnecessary --
xiphos installs URL handlers but these keys are never read by GNOME as
this functionality has been deprecated long time ago.  The right way
to achieve this is through .desktop/mime/aplication-registry files;
that would make them work under any XDG-compliant environment.
-------------- next part --------------
>From e5100b025039b2b850260eef832c67b5f6cae396 Mon Sep 17 00:00:00 2001
From: Yavor Doganov <yavor at gnu.org>
Date: Sat, 3 Nov 2018 23:56:19 +0200
Subject: [PATCH] Remove gconf dependency

---
 debian/control                     |   1 -
 debian/patches/0016-no-gconf.patch | 114 +++++++++++++++++++++++++++++
 debian/patches/series              |   1 +
 3 files changed, 115 insertions(+), 1 deletion(-)
 create mode 100644 debian/patches/0016-no-gconf.patch

diff --git a/debian/control b/debian/control
index fd65ca5..fd3d78b 100644
--- a/debian/control
+++ b/debian/control
@@ -14,7 +14,6 @@ Build-Depends: debhelper (>= 10),
                intltool,
                libbiblesync-dev,
                libdbus-glib-1-dev,
-               libgconf2-dev,
                libgsf-1-dev,
                libgtk-3-dev,
                libsword-dev (>= 1.7.3),
diff --git a/debian/patches/0016-no-gconf.patch b/debian/patches/0016-no-gconf.patch
new file mode 100644
index 0000000..79fa33a
--- /dev/null
+++ b/debian/patches/0016-no-gconf.patch
@@ -0,0 +1,114 @@
+Description: Remove gconf dependency.
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2018-11-03
+---
+
+--- xiphos.orig/wscript
++++ xiphos/wscript
+@@ -303,7 +303,6 @@
+ 
+     common_libs = string.join(
+     '''
+-    "gconf-2.0"
+     "gmodule-2.0"
+     "glib-2.0"
+     "libgsf-1 >= 1.14"
+--- xiphos.orig/src/gui/gui.h
++++ xiphos/src/gui/gui.h
+@@ -4,13 +4,6 @@
+ void gui_init(int argc, char *argv[]);
+ void gui_main(void);
+ 
+-#ifndef WIN32
+-#include <gconf/gconf-client.h>
+-void gconf_setup(void);
+-#endif
+-
+-#define GS_GCONF_MAX 6
+-
+ #ifdef DEBUG
+ 
+ gchar *XI_g_strdup_printf(const char *filename,
+--- xiphos.orig/src/gnome2/gui.c
++++ xiphos/src/gnome2/gui.c
+@@ -68,9 +68,6 @@
+ 	if (!gtk_init_with_args(&argc, &argv, NULL, NULL, NULL, NULL)) {
+ 		exit(1);
+ 	};
+-#ifndef WIN32
+-	gconf_setup();
+-#endif
+ #ifdef HAVE_DBUS
+ 	ipc = ipc_init_dbus_connection(ipc);
+ #endif
+@@ -81,69 +78,6 @@
+ 	gtk_main();
+ }
+ 
+-/******************************************************************************
+- * Name
+- *    gconf_setup
+- *
+- * Synopsis
+- *   #include "main/settings.h"
+- *
+- *   void gconf_setup()
+- *
+- * Description
+- *   verifies and initializes the GConf subsystem, so that "sword://" and
+- *   similar can be handled by url-comprehending programs such as browsers.
+- *   dialogs for permission/success/failure => conditional on debug build.
+- *
+- * Return value
+- *   void
+- */
+-
+-/* NOTE: removed query for user permission to install handlers around -r4528. */
+-/* we don't ask any more, because there's no good reason not to take over.    */
+-
+-char *gconf_keys[GS_GCONF_MAX][2] = {
+-    {"/desktop/gnome/url-handlers/bible/command", "xiphos-nav \"%s\""},
+-    {"/desktop/gnome/url-handlers/bible/enabled", (char *)1},
+-    {"/desktop/gnome/url-handlers/bible/needs_terminal", (char *)0},
+-    {"/desktop/gnome/url-handlers/sword/command", "xiphos-nav \"%s\""},
+-    {"/desktop/gnome/url-handlers/sword/enabled", (char *)1},
+-    {"/desktop/gnome/url-handlers/sword/needs_terminal", (char *)0}};
+-
+-#ifndef WIN32
+-void gconf_setup()
+-{
+-	gchar *str;
+-	GConfClient *client = gconf_client_get_default();
+-
+-	if (client == NULL)
+-		return; /* we're not running under GConf */
+-
+-	/*
+-	 * This is deliberately somewhat simple-minded, at least for now.
+-	 * We care about one thing: Is anything set to handle "bible://"?
+-	 *
+-	 * Unfortunate consequence of changing xiphos2 => xiphos:
+-	 * We must fix broken keys.
+-	 */
+-	if ((((str = gconf_client_get_string(client, gconf_keys[0][0],
+-					     NULL)) == NULL) ||
+-	     (strncmp(str, "xiphos ", 7) == 0))) {
+-		/*
+-		 * Mechanical as can be, one after another.
+-		 */
+-		int i;
+-		for (i = 0; i < GS_GCONF_MAX; ++i) {
+-			(((i % 3) == 0) /* contrived hack */
+-			     ? gconf_client_set_string(client, gconf_keys[i][0], gconf_keys[i][1], NULL)
+-			     : gconf_client_set_bool(client,
+-						     gconf_keys[i][0],
+-						     (gconf_keys[i][1] ? TRUE : FALSE), NULL));
+-		}
+-	}
+-}
+-#endif /* WIN32 */
+-
+ #ifdef DEBUG
+ 
+ /* NOTE: these routines are here only and exactly because there is no other */
diff --git a/debian/patches/series b/debian/patches/series
index bfc8b13..fbe2dd6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@ build-without-scrollkeeper.patch
 0014-patch-source-for-webkit2.patch
 0015-patch-source-for-webkit2.patch
 0015-change-webkitgtk-3.0-to-webkit2gtk-4.0-in-configure.patch
+0016-no-gconf.patch
-- 
2.19.1



More information about the pkg-crosswire-devel mailing list