#879044 gobject-introspection: mini-policy: clarify where language overrides should be shipped

Package:
gobject-introspection
Source:
gobject-introspection
Description:
Generate interface introspection data for GObject libraries
Submitter:
Emilio Pozuelo Monfort
Date:
2019-11-09 00:09:03 UTC
Severity:
normal
#879044#5
Date:
2017-10-18 17:25:18 UTC
From:
To:
Hi,

Some packages need to ship language override files. Some packages do that
in python*-foo binaries, whereas others do it in the gir* binaries. The
problem with the former is that rdeps need to depend on the python*-foo
package rather than / in addition to the gir1.2-foo-* package. Examples:

gedit: /usr/lib/python3/dist-packages/gi/overrides/Gedit.py

gir1.2-accounts-1.0: /usr/lib/python2.7/dist-packages/gi/overrides/Accounts.py
gir1.2-accounts-1.0: /usr/lib/python3/dist-packages/gi/overrides/Accounts.py
gir1.2-dee-1.0: /usr/lib/python2.7/dist-packages/gi/overrides/Dee.py
gir1.2-gexiv2-0.10: /usr/lib/python2.7/dist-packages/gi/overrides/GExiv2.py
gir1.2-gexiv2-0.10: /usr/lib/python3/dist-packages/gi/overrides/GExiv2.py

python-blockdev: /usr/lib/python2.7/dist-packages/gi/overrides/BlockDev.py
python-gst-1.0: /usr/lib/python2.7/dist-packages/gi/overrides/Gst.py
python-gst-1.0: /usr/lib/python2.7/dist-packages/gi/overrides/GstPbutils.py
python-gst-1.0: /usr/lib/python2.7/dist-packages/gi/overrides/_gi_gst.x86_64-linux-gnu.so
python-gst-1.0-dbg: /usr/lib/python2.7/dist-packages/gi/overrides/_gi_gst.x86_64-linux-gnu_d.so
python-v-sim: /usr/lib/python2.7/dist-packages/gi/overrides/v_sim.py
python-vipscc: /usr/lib/python2.7/dist-packages/gi/overrides/Vips.py
python3-blockdev: /usr/lib/python3/dist-packages/gi/overrides/BlockDev.py

python is probably ok, as it's an app and doesn't export the typelib, it's
shipped in /usr/lib/x86_64-linux-gnu/gedit/girepository-1.0/.

As for the rest: python*-gst may be special as it builds a library, but
for the others it may be best to just ship the overrides in the gir packages.

Thoughts?

Cheers,
Emilio

#879044#10
Date:
2019-11-09 00:06:52 UTC
From:
To:
But one problem of having Python (for example) overrides file in
gir1.2-* package is, that it creates unnecessary dependency on python
even for non-python rdepends.

Currently some gir1.2-* packages with Python overrides files have
intentionally missing python dependency to avoid such unnecessary
dependency and have lintian-overrides to avoid lintian error
python-package-missing-depends-on-python.
(https://lintian.debian.org/tags/python-package-missing-depends-on-python.html)

I'm not against having language overrides in gir1.2-* packages. But
when we choose to do it, it would be great if the mini policy clarify
this: If gir1.2-foo has Python overridess file, should gir1.2-foo
depend on Python? If not, is it OK to have lintian-overrides?