Bug#974870: libgdk-pixbuf2.0-dev: Plans for Xlib API deprecation

Simon McVittie smcv at debian.org
Sun Nov 15 23:51:25 GMT 2020


On Sun, 15 Nov 2020 at 21:25:56 +0100, Eduard Bloch wrote:
> it looks like upstream support for Xlib API adapters is officially
> declared deprecated now. For details, see
> https://gitlab.gnome.org/Archive/gdk-pixbuf-xlib

Thanks for raising this. I think this is *mostly* relevant for Debian
12, because:

* gdk-pixbuf follows the GNOME 6-month release cycle
* gdk-pixbuf 2.40.x, released as part of GNOME 3.38, still has the -xlib
  sub-library along with the high-level library
* the first stable gdk-pixbuf that doesn't have the -xlib sub-library
  will be 2.42.x, in GNOME 40, which won't be released until long after
  Debian 11 has frozen

so we'll still be using the old combined source package for Debian 11.

Because libgdk-pixbuf2.0-dev and libgdk-pixbuf2.0-0 contain both the
base library and the -xlib part, we will eventually have to do something
like this in Debian 12 (reminiscent of what happened when the monolithic
library and -dev packages for Pango were split up):

* source: gdk-pixbuf
  - binary: libgdk-pixbuf-2.0-0
  - binary: libgdk-pixbuf-2.0-dev
* source: gdk-pixbuf-xlib
  - binary: libgdk-pixbuf-xlib-2.0-0
  - binary: libgdk-pixbuf-xlib-2.0-dev
  - transitional binary: libgdk-pixbuf2.0-0
    + Depends: libgdk-pixbuf-2.0-0, libgdk-pixbuf-xlib-2.0-0
  - transitional binary: libgdk-pixbuf2.0-dev
    + Depends: libgdk-pixbuf-2.0-dev, libgdk-pixbuf-xlib-2.0-dev

The shlibs/.symbols would generate dependencies on libgdk-pixbuf-2.0-0 and
libgdk-pixbuf-xlib-2.0-0, or perhaps on
"libgdk-pixbuf-2.0-0 #MINVER# | libgdk-pixbuf2.0-0 #MINVER" and
"libgdk-pixbuf-xlib-2.0-0 #MINVER# | libgdk-pixbuf2.0-0 #MINVER" if we
want the transition to allow downgrades.

However, it might be good to get the framework for this in place before
the Debian 11 freeze, which would look like this:

* source: gdk-pixbuf
  - binary: libgdk-pixbuf-2.0-0
  - binary: libgdk-pixbuf-2.0-dev
  - binary: libgdk-pixbuf-xlib-2.0-0
  - binary: libgdk-pixbuf-xlib-2.0-dev
  - transitional binary: libgdk-pixbuf2.0-0
    + Depends: libgdk-pixbuf-2.0-0, libgdk-pixbuf-xlib-2.0-0
  - transitional binary: libgdk-pixbuf2.0-dev
    + Depends: libgdk-pixbuf-2.0-dev, libgdk-pixbuf-xlib-2.0-dev

(That'll require a trip through NEW, of course.)

Then we can do a mass-bug-filing for packages that actively use the -xlib
sub-library, and (perhaps later) a lower-severity mass-bug-filing for
packages that build-depend on libgdk-pixbuf2.0-dev but should ideally
only B-D on libgdk-pixbuf-2.0-dev.

> maybe there should be even a warning of some kind printed
> through pkg-config or GCC warnings (although this is bad, of course,
> would break -Werror using packages).

I don't *think* we can issue warnings from pkg-config, although there
might be a mechanism available that I'm not aware of. Do you know of such
a mechanism?

We can't issue compiler warnings and simultaneously not issue compiler
warnings, we have to choose whichever is the lesser evil.

If packages in Debian are using -Werror for release builds, I personally
think that's a packaging bug, because any new gcc release with better
(or just different!) optimizations or diagnostics can start issuing new
warnings that would break those packages; so I don't think it would be
terrible to break them. It would probably be better to break them after
the Debian 11 release so that people get an entire release cycle to fix
them, though.

    smcv



More information about the pkg-gnome-maintainers mailing list