Bug#950218: libglib-object-introspection-perl: please Build-Depend on libgirepository1.0-dev (>= 1.62.0-4~) and libffi-dev (>= 3.3)

Simon McVittie smcv at debian.org
Thu Jan 30 08:43:09 GMT 2020


Source: libglib-object-introspection-perl
Severity: normal
Tags: bullseye sid

During the libffi transition, we've encountered an autopkgtest regression
in pygobject that might also indicate crashes on arm64 in other bindings
that use GObject-Introspection and libffi. The libffi maintainer
recommended that we add some versioned Depends/Breaks to force the right
things to happen. To be safe, libglib-object-introspection-perl should
probably do the same.

The libffi6 -> libffi7 transition involves an ABI break on
arm64, and GObject-Introspection exposes libffi data structures
in its own API, which are used by bindings like pygobject and
libglib-object-introspection-perl. We've found that in practice, pygobject
crashes on arm64 if either:

(A) gobject-introspection is old (built against libffi6) and pygobject is
    new (built against libffi7), or

(B) gobject-introspection is new (built against libffi7) and pygobject is
    old (built against libffi6)

libglib-object-introspection-perl seems to call into
GObject-Introspection's libffi-related APIs, so it probably has a similar
issue, replacing pygobject with libglib-object-introspection-perl.

To prevent broken partial upgrades, please make
libglib-object-introspection-perl Build-Depend on
libgirepository1.0-dev (>= 1.62.0-4~) and libffi-dev (>= 3.3); this will
result in a runtime dependency on libgirepository-1.0-0 (>= 1.62.0-4~)
and libffi7, preventing (A). Then we can add a
Breaks: libglib-object-introspection-perl (<< x~) in
libgirepository-1.0-0, where x is the version in which you made that
change, to prevent (B).

Thanks,
    smcv



More information about the pkg-perl-maintainers mailing list