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

Reply via email to