Source: xiphos Version: 4.0.7.1-5 Severity: important User: [email protected] 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.
>From e5100b025039b2b850260eef832c67b5f6cae396 Mon Sep 17 00:00:00 2001 From: Yavor Doganov <[email protected]> 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 <[email protected]> +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

