#974966 debian-installer: please check for libgdk_pixbuf_xlib-2.0 dependencies

Package:
debian-installer
Source:
debian-installer
Description:
Debian Installer documentation
Submitter:
Simon McVittie
Date:
2020-11-17 17:18:03 UTC
Severity:
normal
#974966#5
Date:
2020-11-17 11:11:53 UTC
From:
To:
The libgdk-pixbuf2.0-0 package and its corresponding udeb have
traditionally included two shared libraries, libgdk_pixbuf-2.0.so.0 and
libgdk_pixbuf_xlib-2.0.so.0.

Gdk-Pixbuf upstream recently split the source package, moving the Xlib
parts into their own deprecated repository. In preparation for this we're
splitting up the binary packages, similar to what happened to Pango in
the past:

- libgdk_pixbuf-2.0.so.0 -> libgdk-pixbuf-2.0-0
- libgdk_pixbuf_xlib-2.0.so.0 -> libgdk-pixbuf-xlib-2.0-0
- transitional package libgdk-pixbuf2.0-0 that pulls in both

(See #974870, and note the subtle distinction between *pixbuf2.0*
and *pixbuf-2.0*.)

We *could* split the udeb in the same way, but I'd prefer not to,
because I suspect the installer doesn't actually use the Xlib part -
so I'd prefer to only have libgdk-pixbuf-2.0-0-udeb, and in the short
term a transitional libgdk-pixbuf2.0-0-udeb that Depends on it. Does
that seem OK from d-i's side? That would mean that when we split the
*source* package, only src:gdk-pixbuf will need udeb machinery, and
the new src:gdk-pixbuf-xlib will no longer need to produce one.

Please check my reasoning? The packages that need the gdk-pixbuf udeb
seem to be src:cdebconf, src:gtk2-engines, src:gtk+2.0, src:gtk+3.0
and src:vte (according to
https://deb.debian.org/debian/dists/unstable/main/debian-installer/binary-amd64/Packages.gz),
and none of them contain a regex match for gdk.pixbuf.xlib, except in
old changelogs. So I think losing libgdk_pixbuf_xlib-2.0.so.0 from the
udeb would be OK.

I'll follow up to this bug when I have a gdk-pixbuf version with the
proposed split ready for testing. It would be great if someone who knows
d-i could try a build of the graphical installer with those packages.

Also, does d-i respect versioned Provides? If it does, we could remove
libgdk-pixbuf2.0-0-udeb completely, and give libgdk-pixbuf-2.0-0-udeb
a Provides: libgdk-pixbuf2.0-0-udeb (= ${binary:Version}).

Thanks,
    smcv

#974966#10
Date:
2020-11-17 12:47:37 UTC
From:
To:
https://people.debian.org/~smcv/974966/ (source, amd64, i386)

The same version is on its way into experimental/NEW.

    smcv

#974966#15
Date:
2020-11-17 13:15:27 UTC
From:
To:
Hello,

Simon McVittie, le mar. 17 nov. 2020 11:11:53 +0000, a ecrit:

I had a run on the amd64 .udebs, and could not find a binary whose ldd
output contains "libgdk_pixbuf_xlib-2.0".

Samuel

#974966#20
Date:
2020-11-17 13:26:46 UTC
From:
To:
Great, thanks! Then I'll go ahead as planned, and not consider d-i to
be a blocker for this.

    smcv

#974966#25
Date:
2020-11-17 17:14:46 UTC
From:
To:
Thanks. Now for the last couple of days I had been generating minimal
netboot reiser4 installers with kernel 5.9.3-x thus I had a relevant
set up already.

I rebuilt Gdk-Pixbuf 2.40.0 essentially for Debian backports by
fetching and using your debian directory, thus generating:
libgdk-pixbuf-2.0-0-udeb_2.40.0+dfsg-6.1_amd64.udeb
libgdk-pixbuf2.0-0-udeb_2.40.0+dfsg-6.1_amd64.udeb

Placed the above UDEBs in debian-installer*/build/localudebs/.
Made sure d-i would prioritize them by referencing them in
debian-instller*/build/pkg-lists/netboot/amd64.cfg

Proceeded to test by generating a build_netboot-gtk

Just verifying that the above UDEBs were used:
grep -n 2.40.0+dfsg-6.1
../metztli-5.9.3-2+reiser4~5.1.3-with-parted-v3.3-and-libgdk-pixbuf.out1
224:Get:95 copy:/usr/tzinti/build/metztli-reiser5/tekitl-d-i_buster5/debian-installer-20190702+deb10u5-sfrn-5-libgdk-pixbuf-2/build
localudebs/ libgdk-pixbuf-2.0-0-udeb 2.40.0+dfsg-6.1 [360 kB]
232:Get:103 copy:/usr/tzinti/build/metztli-reiser5/tekitl-d-i_buster5/debian-installer-20190702+deb10u5-sfrn-5-libgdk-pixbuf-2/build
localudebs/ libgdk-pixbuf2.0-0-udeb 2.40.0+dfsg-6.1 [944 B]
840:Unpacking libgdk-pixbuf-2.0-0-udeb (2.40.0+dfsg-6.1) ...
844:Unpacking libgdk-pixbuf2.0-0-udeb (2.40.0+dfsg-6.1) ...

GTK PoC d-i with your integrated UDEBs:
< https://metztli.it/buster-reiser5/metztli-reiser4-sfrn5-gtk.iso >
< https://metztli.it/buster-reiser5/metztli-reiser4-sfrn5-gtk.iso.SHA256SUM >

A few screenshots from installation into VirtualBox 6.1.16 on reiser4
-enabled Debian Backports:
< https://metztli.it/buster-reiser5/gtk-test/1.png >
< https://metztli.it/buster-reiser5/gtk-test/2.png >
< https://metztli.it/buster-reiser5/gtk-test/3.png >
< https://metztli.it/buster-reiser5/gtk-test/4.png >

Best Professional Regards.