Bug#846404: Missing dependency on glib introspection data

Andrey Gursky andrey.gursky at e-mail.ua
Thu Dec 1 00:52:56 UTC 2016


Package: meld
Version: 3.16.3-1
Severity: normal
Tags: patch

Dear Maintainer,

after update 3.16.2 --> 3.16.3 Meld refused to start:

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Traceback (most recent call last):
  File "/usr/bin/meld", line 281, in <module>
    setup_glib_logging()
  File "/usr/bin/meld", line 264, in setup_glib_logging
    GLib.log_set_handler(log_domain, level_flag, log_adapter, None)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/__init__.py", line 39, in __getattr__
    return getattr(self._introspection_module, name)
  File "/usr/lib/python2.7/dist-packages/gi/module.py", line 137, in __getattr__
    self.__name__, name))
AttributeError: 'gi.repository.GLib' object has no attribute 'log_set_handler'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I've investigated this further. It turns out, the call to
log_set_handler() is new [1]. But this being from the very beginning
glib function is not introspectable. A new function
g_log_set_handler_full() has been added in glib 2.46 [2]. For now meld
package doesn't track the dependency on gir1.2-glib-2.0, which can be
solved by the patch:

diff -rupN debian.orig/control debian/control
--- debian.orig/control	2016-09-26 15:18:27.000000000 +0200
+++ debian/control	2016-12-01 01:45:53.742123583 +0100
@@ -29,6 +29,7 @@ Depends: ${python:Depends},
          libgtk-3-0 (>= 3.14),
          python-gi (>= 3.8),
          libgtksourceview-3.0-1 (>= 3.14),
+         gir1.2-glib-2.0 (>= 1.46),
          gir1.2-gtksource-3.0 (>= 3.14),
          python-gi-cairo,
          libcanberra-gtk3-module,
diff -rupN debian.orig/control.in debian/control.in
--- debian.orig/control.in	2016-07-13 18:29:28.000000000 +0200
+++ debian/control.in	2016-12-01 01:41:32.154127932 +0100
@@ -25,6 +25,7 @@ Depends: ${python:Depends},
          libgtk-3-0 (>= 3.14),
          python-gi (>= 3.8),
          libgtksourceview-3.0-1 (>= 3.14),
+         gir1.2-glib-2.0 (>= 1.46),
          gir1.2-gtksource-3.0 (>= 3.14),
          python-gi-cairo,
          libcanberra-gtk3-module,

It's confusing, but 1 in 1.46 is not a typo, since glib introspection
data is packaged not in the glib package.

Regards,
Andrey

[1] https://git.gnome.org/browse/meld/commit/?id=137154ed2f6696ef35d5a81a69faade326d8b686
[2] https://git.gnome.org/browse/glib/commit/?id=2471d9cf8697b07d4e86b6f143eda7b779be02a9




More information about the pkg-gnome-maintainers mailing list