glib/girepository
Simon McVittie e6c8c75ccc girepository: Skip GIRepository versions not matching GIRepository-3.0
A few applications such as gnome-music load the GIRepository typelib
and use it to adjust their search paths.

GLib 2.79.x now provides libgirepository-2.0.so.0 (GIRepository-3.0),
but each OS distribution is likely to have a transitional period during
which GLib's libgirepository-2.0.so.0 has become available, but bindings
like PyGI and gjs are still linked to gobject-introspection's
libgirepository-1.0.so.1 (GIRepository-2.0).

During this transitional period, interpreted languages that load the
GIRepository namespace could get the "wrong" version, which will result
in adjusting a search path that will not actually affect the language
binding's typelib lookup, and could also lead to symbol and type-system
conflicts.

We can avoid this collision by making GLib's GIRepository library refuse
to load versions of the GIRepository typelib that are not 3.0, and
similarly making gobject-introspection's GIRepository library refuse to
load typelib versions that are not 2.0. A relatively neat way to achieve
that is to make each version behave as if the other one doesn't exist.

Signed-off-by: Simon McVittie <smcv@debian.org>
2023-12-29 15:45:02 +00:00
..
cmph tests: Improve build of cmph tests in girepository 2023-11-21 14:21:07 +00:00
tests Merge branch 'glib-gir-sources' into 'main' 2023-12-22 14:45:37 +00:00
cmph-bdz-test.c Merge branch 'leak-fixes' into 'main' 2023-11-14 13:59:58 +00:00
gdump.c girepository: Drop libgio dependency from gdump.c 2023-12-19 18:41:02 +00:00
gi-dump-types.c girepository: Drop libgio dependency from gdump.c 2023-12-19 18:41:02 +00:00
giarginfo.c giarginfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giarginfo.h giarginfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gibaseinfo-private.h gitypes: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gibaseinfo.c gibaseinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gibaseinfo.h gibaseinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gicallableinfo.c gicallableinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gicallableinfo.h gicallableinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gicallbackinfo.c gicallbackinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gicallbackinfo.h gicallbackinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giconstantinfo.c giconstantinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giconstantinfo.h giconstantinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gienuminfo.c gienuminfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gienuminfo.h gienuminfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gifieldinfo.c gifieldinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gifieldinfo.h gifieldinfo: Fix int signedness in APIs 2023-12-12 18:55:41 +00:00
gifunctioninfo.c gifunctioninfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gifunctioninfo.h gifunctioninfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giinterfaceinfo.c giinterfaceinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giinterfaceinfo.h giinterfaceinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
ginvoke.c ginvoke: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
giobjectinfo.c giobjectinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giobjectinfo.h giobjectinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gipropertyinfo.c gipropertyinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gipropertyinfo.h gipropertyinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giregisteredtypeinfo.c giregisteredtypeinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
giregisteredtypeinfo.h giregisteredtypeinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
girepository-private.h girepository: Fix int signedness in private GIBaseInfo APIs 2023-12-12 18:55:41 +00:00
girepository.c girepository: Skip GIRepository versions not matching GIRepository-3.0 2023-12-29 15:45:02 +00:00
girepository.h girepository: Use an array to iterate over and return the search paths 2023-12-21 14:14:27 +01:00
girffi.c girffi: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
girffi.h girffi: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
girmodule-private.h girepository: Remove _ prefix from private functions 2023-11-08 15:23:31 +00:00
girmodule.c girmodule: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
girnode-private.h girepository: Remove _ prefix from private functions 2023-11-08 15:23:31 +00:00
girnode.c girepository: Remove _ prefix from private functions 2023-11-08 15:23:31 +00:00
giroffsets.c giroffsets: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
girparser-private.h girepository: Remove _ prefix from private functions 2023-11-08 15:23:31 +00:00
girparser.c girparser: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
girwriter-private.h girepository: Rename symbols to the GI namespace 2023-11-08 15:05:20 +00:00
girwriter.c girwriter: Port documentation to gi-docgen and update 2023-12-18 14:14:15 +00:00
gisignalinfo.c gisignalinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gisignalinfo.h gisignalinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gistructinfo.c gistructinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gistructinfo.h gistructinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gitypeinfo.c gitypeinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gitypeinfo.h gitypeinfo: Rename get_array_length() to get_array_length_index() 2023-12-12 18:55:41 +00:00
gitypelib-internal.h gitypelib: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gitypelib.c gitypelib: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
gitypelib.h girepository: Update docs for GITypelib for gi-docgen 2023-12-12 16:58:04 +00:00
gitypes.h gitypes: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
giunioninfo.c giunioninfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
giunioninfo.h giunioninfo: Rename get_*_function() methods to get_*_function_name() 2023-12-12 18:55:41 +00:00
giunresolvedinfo.c giunresolvedinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
giunresolvedinfo.h giunresolvedinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
givfuncinfo.c givfuncinfo: Port documentation to gi-docgen and update 2023-12-18 14:14:16 +00:00
givfuncinfo.h givfuncinfo: Fix int signedness in APIs 2023-12-12 18:55:41 +00:00
gthash-test.c girepository: Remove _ prefix from private functions 2023-11-08 15:23:31 +00:00
gthash.c girepository: Ignore set-but-not-used warnings with G_DISABLE_ASSERT 2023-11-14 10:37:27 +00:00
meson.build girepository: Re-number GIR file from 2.0 to 3.0 2023-12-22 12:21:57 +00:00