This is an automated email from the git hooks/post-receive script. lamby pushed a commit to branch master in repository lintian.
commit e5a28eb3220087a98905f6612247d53e5709f4c7 Author: Simon McVittie <s...@debian.org> Date: Sat Nov 11 14:04:20 2017 +0000 gir: Allow a Provides on the canonical name for typelib packages It's OK for closely related typelibs to be grouped together, as was done for packages like GLib, GTK+ and Tracker, as long as they are expected to bump introspection ABI version at the same time. The new mini-policy version in gobject-introspection/1.54.1-3 recommends that they have a Provides on all the package names that would have been used if they were separated (for example gir1.2-gtk-3.0 Provides gir1.2-gdk-3.0 and gir1.2-gdkx11-3.0). If this is done, we can detect it and suppress the typelib-package-name-does-not-match tag. Signed-off-by: Simon McVittie <s...@debian.org> --- checks/gir.desc | 15 ++++++++++----- checks/gir.pm | 3 ++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/checks/gir.desc b/checks/gir.desc index 611b4ac..b154d6a 100644 --- a/checks/gir.desc +++ b/checks/gir.desc @@ -48,11 +48,16 @@ Certainty: possible Info: GObject-Introspection binary typelibs (<tt>Foo-23.typelib</tt>) should normally be made available in a package named gir1.2-foo-23. . - Please ignore and override this tag if the typelib is deliberately shipped - in a package whose name does not match the typelib's machine-readable name. - For example, <tt>gir1.2-glib-2.0</tt> is named for the <tt>GLib-2.0</tt> - typelib, but also contains the <tt>GObject-2.0</tt> and <tt>Gio-2.0</tt> - typelibs; this is unconventional, but is allowed. + If multiple typelibs are shipped in the same package, then that package + should have versioned <tt>Provides</tt> for the names that would have been + used for separate packages. This arrangement should only be used if the + included typelibs' versions are expected to remain the same at all times. + . + For example, <tt>gir1.2-gtk-3.0</tt> is named for the <tt>Gtk-3.0</tt> + typelib, but also contains the <tt>Gdk-3.0</tt> and <tt>GdkX11-3.0</tt> + typelibs. It should have versioned <tt>Provides</tt> entries for + <tt>gir1.2-gdk-3.0 (= ${binary:Version})</tt> + and <tt>gir1.2-gdkx11-3.0 (= ${binary:Version})</tt> to indicate this. Ref: /usr/share/doc/gobject-introspection/policy.txt Tag: typelib-section-not-introspection diff --git a/checks/gir.pm b/checks/gir.pm index b64d195..5001ea0 100644 --- a/checks/gir.pm +++ b/checks/gir.pm @@ -121,7 +121,8 @@ sub _run_binary { foreach my $typelib (@typelibs) { my $expected = 'gir1.2-' . lc($typelib->basename); $expected =~ s/\.typelib$//; - if ($pkg ne $expected) { + if ($pkg ne $expected + and not $info->relation('provides')->implies($expected)) { tag('typelib-package-name-does-not-match', $typelib, $expected); } } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git