#1082676 librsvg2-common: name of pixbuf loader changed, causes temporary loss of svg support

Package:
librsvg2-common
Source:
librsvg2-common
Description:
SAX-based renderer library for SVG files (extra runtime)
Submitter:
Chris Hofstaedtler
Date:
2024-10-24 18:03:14 UTC
Severity:
normal
Tags:
#1082676#5
Date:
2024-09-24 17:40:48 UTC
From:
To:
Hi!

While upgrading a bunch of packages, including librsvg2-common from
2.58.0+dfsg-1 to 2.59.0+dfsg-3, I've noticed various programs
failing. As an example, wofi - the program I use to spawn a new
terminal - aborts like this:

(wofi:12213): Gtk-WARNING **: 19:25:21.851: Could not load a pixbuf
from icon theme.
This may indicate that pixbuf loaders or the mime database could not
be found.

Gtk:ERROR:../../../gtk/gtkiconhelper.c:495:ensure_surface_for_gicon:
assertion failed (error == NULL): Failed to load
/usr/share/icons/Papirus-Dark/16x16/actions/image-missing.svg:
Unable to load image-loading module:
/usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so:
/usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so:
cannot open shared object file: No such file or directory
(gdk-pixbuf-error-quark, 5)
Bail out!
Gtk:ERROR:../../../gtk/gtkiconhelper.c:495:ensure_surface_for_gicon:
assertion failed (error == NULL): Failed to load
/usr/share/icons/Papirus-Dark/16x16/actions/image-missing.svg:
Unable to load image-loading module:
/usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so:
/usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so:
cannot open shared object file: No such file or directory
(gdk-pixbuf-error-quark, 5)
[1]    12213 abort (core dumped)  wofi --show drun -p Search -n -i
-I -W 66% -s $HOME/.config/wofi.css

Indeed, libpixbufloader-svg.so does not exist in
/usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/.
However, in the same directory "libpixbufloader_svg.so" exists. Note
the underscore vs. the expected dash in the filename.

Note that I'm upgrading a medium-speed aarch64 system. After the
upgrade finished, everything works again. I assume postinst scripts
needed to run.

Given all the other loaders in gdk-pixbuf-2.0/2.10.0/loaders/ follow
the "libpixbufloader-<format>.so" convention, AND the svg loader did
too in the past (in bookworm and previously in sid), maybe this is
an oversight and should be corrected?  That would avoid temporarily
breaking svg support during upgrades.

Thanks for considering,
Chris

#1082676#12
Date:
2024-09-28 07:58:56 UTC
From:
To:
According to https://salsa.debian.org/gnome-team/librsvg/-/blob/upstream/2.59.0+dfsg/NEWS#L159, renaming `libpixbufloader-svg.so` to `libpixbufloader_svg.so` is intentional. I can confirm that this change causes runtime errors as reported above. In addition, all other libpixbufloader files keep using the dash pattern.
#1082676#17
Date:
2024-09-30 21:18:55 UTC
From:
To:
If this issue only happens during the upgrade or before the system is
rebooted, I don't think there is anything we can or should do in the
Debian packaging for this.

There simply are changes sometimes that require rebooting or at least
restarting affected apps after applying an upgrade. In particular, we
will not support upgrading from Debian 12 to Debian 13 without a
reboot after the upgrade.

Thank you,
Jeremy Bícha