Changes to gdk-pixbuf2 in rawhide and F43

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

If you are CCed on this mail, then action is required (mat2) or recommended (libavif, jpegxl, gdk-pixbuf2-modules-extra, webp-pixbuf-loader).

I propose some *mildly* disruptive changes for the gdk-pixbuf2 package in rawhide and also F43. (I was tempted to do this only in rawhide, but the F43 package is not in great state currently, and I think it's probably best to just push forward here.)

First, gdk-pixbuf-thumbnailer will no longer be built. It is currently broken in F43 and upstream recommends that we stop building it altogether. It is obsoleted by glycin-thumbnailer, which works well. (Although jxl support seems to be broken, which we'll need to debug.)

All of gdk-pixbuf's own loaders except the Glycin loader are now obsolete and are no longer used, so let's stop building them. I will have gdk-pixbuf2 Obsoletes: its gdk-pixbuf2-modules subpackage. This subpackage is currently required by gtk2, gtk3, and gtk4, which we will rebuild. It's also required by mat2. You can generally just remove the dependency on gdk-pixbuf2-modules. (Or replace it with a dependency on gdk-pixbuf2 itself, if you have a package that does not link to libgdk_pixbuf-2.0.so and requires an explicit dependency.) Glycin supports a wide variety of image formats and is also sandboxed to hopefully greatly improve security, so there's considerable advantage to preferring it over other loaders.

Most third-party loaders are now also obsolete, including avif-pixbuf-loader from libavif, jxl-pixbuf-loader from libjxl, rsvg-pixbuf-loader from librsvg, and the standalone webp-pixbuf-loader. I will add Obsoletes in the gdk-pixbuf2-package. These loaders will never get used because Glycin receives precedence. I suggest retiring webp-pixbuf-loader. For libavif/jpegxl, my recommendation is review the build flags to disable building the gdk-pixbuf support, and remove the subpackages that provide the pixbuf loaders. I will do this for rsvg-pixbuf-loader.

Other third-party loaders may or may not be obsolete. The question is whether the image format is supported by Glycin. If so, then the loader will never be used and you might as well get rid of it. But if not supported by Glycin, then gdk-pixbuf will still use your loader.

https://gitlab.gnome.org/GNOME/glycin#supported-image-formats

I'm expecting that all of the above should be noncontroversial, although Glycin's support for some image formats might not be as good as the original loaders.

I have checked our gdk-pixbuf2-modules-extra package. I think the BMP, ICO, PNM, and TGA loaders are now obsolete and can safely be disabled. The other loaders provided by this package are still needed, but they cover particularly obscure image formats, so I wonder whether we still need gdk-pixbuf2-modules-extra at all. I suspect this package exists mainly for the BMP, ICO, and possibly TGA loaders? So maybe the package is no longer needed? Remember that websites can download images to your downloads directory and trigger a thumbnailer without any user intervention (by default, yes I know Firefox can be configured to ask permission before starting a download), so the attack surface of all of these unsandboxed plugins is effectively web-exposed and an attacker will target whichever is most obscure and least secure. So it would be a considerable security win if we could retire this package. Benjamin, what do you think? I've just tested BMP using glycin-thumbnailer and I see thumbnails in nautilus, so I expect it should hopefully work for the applications that you care about.

Michael

P.S. Yes it sure would have been nice to do a change proposal for this, but too late unless we want to downgrade gdk-pixbuf release in F43, which I suggest we not do.


--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux