Some packages bundle several related GIR modules, for example gir1.2-glib-2.0 and gir1.2-gtk-*. At the moment Lintian can't understand this structure, and issues warnings.
I'm tempted to modify the Lintian check to do this: * If gir1.2-foo-1.0 contains Bar-2.0.typelib and has Provides: gir1.2-bar-2.0, then don't emit typelib-package-name-does-not-match for it * If libfoo-dev contains Bar-2.0.gir and Depends on gir1.2-foo-1.0, and gir1.2-foo-1.0 is being processed in the same batch of packages, and gir1.2-foo-1.0 has Provides: gir1.2-bar-2.0, then don't emit gir-missing-typelib-dependency for it and include that convention in the g-i mini-policy. Then (for example) gir1.2-gtk-3.0 would gain Provides: gir1.2-gdk-3.0 (= ${binary:Version}), gir1.2-gdkx11-3.0 (= ${binary:Version}) which would silence the warnings. What do people think of that plan? (This would also mean that if maintainers look at their GIR dependencies without knowing which packages have special cases, and add a dependency like Depends: gir1.2-gdk-3.0 (>= 3.24), the right thing would happen.) smcv