On Tue, Nov 30, 2021 at 8:27 AM Arve Barsnes <[email protected]> wrote: > > On Tue, 30 Nov 2021 at 14:20, John Covici <[email protected]> wrote: > > > > Hi. So, on my latest attempt at a world update today, I am getting a > > crazy problem with libpng, with some packages insisting on the use > > flag -apng (portage made me put it in), but other packages insisting > > on the use flag apng. > > > > Thanks in advance for any suggestions. > > That is a direct conflict between chromium and firefox/thunderbird. > You can avoid it by removing the system-png flag from chromium.
That issue will probably never hit stable, and I would make a note to revisit it in a few weeks. The next Council agenda includes resolving the conflict, though that isn't a guarantee it will happen. Once the change is settled you'll probably want to revert all your USE flag changes to the new defaults unless you have a strong personal preference. A little background for the curious, and I'll just try to stick to the factual narrative and what the main opinions are: Apng is an extension for the png file format that apparently adds support for animation, and may also have other improvements. Mozilla products ship with a bundled version of libpng that includes a patch for apng support. Chromium ships with a bundled version of libpng that is just the vanilla upstream version. The apng patch was submitted to libpng ages ago and was not accepted at that time. There is debate about whether it might be accepted in the near future. Some distros shipped the apng patch with libpng, and Gentoo has done so by default for a while. Over time every other distro seems to have removed this patch, and Gentoo is the only distro patching libpng for apng support. Right now Gentoo's mozilla packages build against the system libpng and not the bundled one, which means they don't work right if the apng patch isn't in the system library. Chromium has a use flag that toggles whether it uses the system libpng, and if it is using the system version it won't work unless the system libpng DOESN'T include the apng patch. So, without further patching (likely significant) you can't have both packages use the system libpng at the same time. That's basically it for the facts - I don't think any of the above is disputed. Now onto the implications/policy side: Obviously everybody prefers system libraries over bundled libraries, and everybody prefers unpatched upstream packages over patches not likely to be accepted by upstream. Of course, both of those cannot be satisfied at the same time here. Council has been asked to approve removing the apng patch by default from libpng, using bundled libpng by default on mozilla, and using system libpng by default on chromium. The argument here is that having a system library with non-standard patches that no other distro applies could cause other issues and generally deviates from the Gentoo way, and since at least one of the browsers will have to use bundled libs by default it might as well be the one that uses non-standard versions of those libs (which is already a common issue with bundled libs in browsers - or at least it is with chromium though in this case it is mozilla doing it). The main counterargument is that neither option is ideal and so we should maintain the current state, and maybe see if those apng patches get accepted upstream. The reason you're getting the USE flag conflicts is because chromium has started to implement the change that they asked the council to approve, but since they can only touch their own package we end up with a conflict. I doubt we'll see that make it to stable (unless council approves the change and the other packages are modified to eliminate the conflict) but anybody running the latest and greatest gets to deal with the conflict in the meantime. The gory details are in this bug - please do not comment there just to offer opinions: https://bugs.gentoo.org/824018 -- Rich

