On Tue, 11 Jun 2024 at 13:28:52 +0200, Chris Hofstaedtler wrote: > Maybe smcv can chime in here.
(I am not a maintainer of gdk-pixbuf and I do not intend to be any sort of single point of failure for Debian's use of gdk-pixbuf; I have sometimes done team uploads of it as part of the GNOME team, but please don't rely on me to keep the distribution working. Please consider using @packages.debian.org addresses if you want to get an opinion from the uploaders of a related package without blocking on a named individual.) On Tue, 11 Jun 2024 at 13:28:52 +0200, Chris Hofstaedtler wrote: > On Tue, Jun 11, 2024 at 01:04:06PM +0200, Julian Wollrath wrote: > > > > Specifically, the problem is that debian/libjxl-gdk-pixbuf.postinst > > > > and debian/libjxl-gdk-pixbuf.postrm have hardcoded the amd64 > > > > architecture If true (I have not checked) then that's clearly a bug. > > in principle [gdk-pixbuf-query-loaders] > > should be called, to make gdk-pixbuf > > aware of the jpeg-xl loader. > > I think there is a better way than running a > postinst script in each individual package (triggers?). Yes, there is a better way, and it is triggers. libgdk-pixbuf-2.0-0 registers a trigger on /usr/lib/MULTIARCH/gdk-pixbuf-2.0/2.10.0/loaders which should result in it automatically running /usr/lib/MULTIARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders every time a package that provides a gdk-pixbuf loader is installed, removed or updated. As a result, a jpeg-xl loader for gdk-pixbuf should not need to do anything special in its postinst at all: it should install a loader that matches the naming convention set by gdk-pixbuf, and that should be enough for the gdk-pixbuf packaging to handle the rest. If the trigger is not sufficient, please report a bug with steps-to-reproduce. The naming convention is ${gdk_pixbuf_moduledir}/*.so, where ${gdk_pixbuf_moduledir} should be discovered at build-time from the gdk-pixbuf-2.0 pkgconf module. Hopefully the upstream build system already does this correctly. heif-gdk-pixbuf from src:libheif, librsvg2-common from src:rsvg, and webp-pixbuf-loader from src:webp-pixbuf-loader might be good examples of a working gdk-pixbuf loader. heif-gdk-pixbuf and webp-pixbuf-loader do not seem to have any hand-written code in their postinsts at all, so they completely rely on gdk-pixbuf's triggers, and that seems to work fine in practice. librsvg2-common does have code in its postinst, but it seems to be a workaround for an old bug (https://bugs.launchpad.net/ubuntu/+source/librsvg/+bug/719861) and is probably unnecessary now that gdk-pixbuf is using interest-noawait triggers. smcv