• Re: [gentoo-user] world update problem again

    From Arve Barsnes@21:1/5 to John Covici on Tue Nov 30 14:40:03 2021
    On Tue, 30 Nov 2021 at 14:20, John Covici <covici@ccs.covici.com> 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.

    Regards,
    Arve

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Covici@21:1/5 to All on Tue Nov 30 14:40:04 2021
    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.

    Here is the actual portage output:

    Total: 232 packages (198 upgrades, 2 downgrades, 2 new, 6 in new
    slots, 24 reinstalls, 2 uninstalls), Size of downloads: 3,451,440
    KiB^M
    Conflict: 3 blocks (all satisfied)^M
    ^M
    !!! Multiple package instances within a single package slot have been
    pulled^M
    !!! into the dependency graph, resulting in a slot conflict:^M
    ^M
    media-libs/libpng:0^M
    ^M
    (media-libs/libpng-1.6.37-r2:0/16::gentoo, ebuild scheduled for
    merge) USE="-apng -static-libs" ABI_X86="(64) -32 (-x32)"
    CPU_FLAGS_X86="sse" pulled in by^M
    media-libs/libpng:=[-apng] required by
    (www-client/chromium-98.0.4710.4-r1:0/dev::gentoo, ebuild
    scheduled for merge) USE="cups hangouts js-type-check official
    (pic) proprietary-codecs suid system-harfbuzz system-png
    (-component-build)\ -custom-cflags -debug (-headless) -kerberos
    -pulseaudio -screencast (-selinux) (-system-ffmpeg) -system-icu
    -vaapi -wayland -widevine" ABI_X86="(64)" L10N="am ar bg bn ca
    cs da de el en-GB es es-419 et fa fi fil fr gu he hi hr hu id it
    ja\ kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
    sw ta te th tr uk vi zh-CN zh-TW"^M
    ^^^^^
    \
    \
    ^M
    ^M
    (media-libs/libpng-1.6.37-r2:0/16::gentoo,
    installed) USE="apng -abi_riscv_ilp32
    -abi_riscv_ilp32d -abi_riscv_lp64
    -abi_riscv_lp64d -static-libs"
    ABI_X86="(64) -32 (-x32)"
    CPU_FLAGS_X86="sse" pulled in by^M
    >=media-libs/libpng-1.6.35:0=[apng]
    required by
    (www-client/firefox-94.0.2:0/94::gentoo,
    ebuild scheduled for merge)
    USE="clang dbus gmp-autoupdate
    openh264 system-av1
    system-harfbuzz system-icu
    system-jpeg system-libevent
    system-webp \-debug -eme-free
    -geckodriver -hardened -hwaccel
    -jack -lto -pgo -pulseaudio
    -screencast (-selinux) -sndio
    -system-libvpx -wayland -wifi"
    ABI_X86="(64)" L10N="-ach -af -an
    -ar -ast -az -be -bg -bn -br -bs
    -ca -ca-valencia -cak -cs -cy -da
    \-de -dsb -el -en-CA -en-GB -eo
    -es-AR -es-CL -es-ES -es-MX -et
    -eu -fa -ff -fi -fr -fy -ga -gd
    -gl -gn -gu -he -hi -hr -hsb -hu
    -hy -ia -id -is -it -ja -ka -kab
    -kk -km -kn -ko -lij -lt -lv -mk
    -mr -ms -my -nb -ne -nl -nn -oc
    -pa -pl -pt-B\R -pt-PT -rm -ro -ru
    -sco -si -sk -sl -son -sq -sr -sv
    -szl -ta -te -th -tl -tr -trs -uk
    -ur -uz -vi -xh -zh-CN -zh-TW"^M
    ^^^^
    \
    \
    \
    ^M
    >=media-libs/libpng-1.6.35:0=[apng]
    required
    by
    (mail-client/thunderbird-91.3.2:0/91::gentoo,
    ebuild
    scheduled
    for
    merge)
    USE="clang
    dbus
    openh264
    system-av1
    system-harfbuzz
    system-icu
    system-jpeg
    system-libevent
    system-webp
    -debug
    -em\e-free
    -hardened
    -hwaccel
    -jack
    -lto
    (-pgo)
    -pulseaudio
    (-selinux)
    -sndio
    -system-libvpx
    -wayland
    -wifi"
    ABI_X86="(64)"
    L10N="-af
    -ar
    -ast
    -be
    -bg
    -br
    -ca
    -cak
    -cs
    -cy
    -da
    -de
    -dsb
    -el
    -en-CA
    -en-GB
    -es-AR
    -es-ES
    -et
    -eu
    -fi
    -fr
    -fy
    -ga
    -g\d
    -gl
    -he
    -hr
    -hsb
    -hu
    -id
    -is
    -it
    -ja
    -ka
    -kab
    -kk
    -ko
    -lt
    -lv
    -ms
    -nb
    -nl
    -nn
    -pa
    -pl
    -pt-BR
    -pt-PT
    -rm
    -ro
    -ru
    -sk
    -sl
    -sq
    -sr
    -sv
    -th
    -tr
    -uk
    -uz
    -vi
    -zh-CN
    -zh-TW"^M
    ^^^^
    \
    \
    ^M
    ^M

    Thanks in advance for any suggestions.

    --
    Your life is like a penny. You're going to lose it. The question is:
    How do
    you spend it?

    John Covici wb2una
    covici@ccs.covici.com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rich Freeman@21:1/5 to arve.barsnes@gmail.com on Tue Nov 30 15:20:02 2021
    On Tue, Nov 30, 2021 at 8:27 AM Arve Barsnes <arve.barsnes@gmail.com> wrote:

    On Tue, 30 Nov 2021 at 14:20, John Covici <covici@ccs.covici.com> 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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Covici@21:1/5 to Arve Barsnes on Tue Nov 30 15:20:03 2021
    On Tue, 30 Nov 2021 08:27:14 -0500,
    Arve Barsnes wrote:

    On Tue, 30 Nov 2021 at 14:20, John Covici <covici@ccs.covici.com> 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.

    Thanks, that did it!! This seems to have been a new flag, not seen
    before -- thanks again.

    --
    Your life is like a penny. You're going to lose it. The question is:
    How do
    you spend it?

    John Covici wb2una
    covici@ccs.covici.com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Connell (Gmail)@21:1/5 to Rich Freeman on Tue Nov 30 16:10:01 2021
    On Tue, 2021-11-30 at 09:18 -0500, Rich Freeman wrote:
    A little background for the curious, and I'll just try to stick to the factual narrative and what the main opinions are:

    Thank you for a good, objective breakdown.

    Gentoo is in an awkward position here: as was discussed in the bug, it
    isn't simply a matter of setting libpng[-apng] by default, letting
    Mozilla bundle their own libpng, and moving on with life. Other
    programs on Gentoo systems, built against libpng over the years with
    apng support, will suddenly *not* have it, and this situation could
    cause problems and data loss for users.

    I'm not a (Gentoo) dev, and I don't have strong feelings either way,
    but it is an unenviable position to be in. Regardless, I have trust
    that things will be resolved reasonably in the end.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Connell (Gmail)@21:1/5 to Arve Barsnes on Tue Nov 30 15:20:03 2021
    On Tue, 2021-11-30 at 14:27 +0100, Arve Barsnes 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.

    This has been a hotly debated topic recently. For more backstory, see
    this bug: https://bugs.gentoo.org/824018

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rich Freeman@21:1/5 to matthewdconnell@gmail.com on Tue Nov 30 16:20:01 2021
    On Tue, Nov 30, 2021 at 9:59 AM Matt Connell (Gmail) <matthewdconnell@gmail.com> wrote:

    On Tue, 2021-11-30 at 09:18 -0500, Rich Freeman wrote:
    A little background for the curious, and I'll just try to stick to the factual narrative and what the main opinions are:

    Gentoo is in an awkward position here: as was discussed in the bug, it
    isn't simply a matter of setting libpng[-apng] by default, letting
    Mozilla bundle their own libpng, and moving on with life. Other
    programs on Gentoo systems, built against libpng over the years with
    apng support, will suddenly *not* have it, and this situation could
    cause problems and data loss for users.


    So now we're getting more into personal opinion. Those same users
    will suffer data loss if they open the same files on any other linux
    distro or likely windows/OSX/etc versions of the same software,
    because they don't use the patched version of libpng. I certainly
    don't have any objection to a heads-up news item when the change hits,
    but do we REALLY want to package system libraries that have behavior
    that is unique to Gentoo, and not the same as even what the upstream
    devs expect?

    We had a similar situation when it came out that our version of an
    Etherium client (I think that was it) had some custom patches by
    default, which were eventually turned off by default. The patches
    were somewhat controversial, and while I think anybody should be free
    to use them (they didn't create compatibility issues with the
    blockchain per se), it is surprising behavior. This is the same
    reason that we don't go putting affiliate links into search boxes on
    our browsers like many distros do (which can be a significant source
    of revenue). Sure, we could patch our browsers to basically give
    Gentoo a small cut anytime a user searches for anything, or charge
    search engines to be the default in all our packaged browsers, but it
    just isn't the way we normally do things (and those changes are IMO
    more transparent anway - at least the affiliate links are).

    Now, if somebody wants to run that patch by upstream libpng and it
    shows signs of getting accepted then by all means hold off until that
    is settled. The goal is to stick to upstream, and we can always
    release the change ahead of them (in this case more than a decade
    ahead of them).

    Really though this issue has been going on forever so there is no
    reason to go breaking stuff until a final decision is made and we can
    do an orderly transition. I think the change is a good one, but it
    would have been a good one in 2010 too.

    --
    Rich

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Wol@21:1/5 to Rich Freeman on Tue Nov 30 22:10:02 2021
    On 30/11/2021 14:18, Rich Freeman wrote:
    On Tue, Nov 30, 2021 at 8:27 AM Arve Barsnes<arve.barsnes@gmail.com> wrote:
    On Tue, 30 Nov 2021 at 14:20, John Covici<covici@ccs.covici.com> 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.

    I know we're encouraged to use a directory for package.use nowadays, and
    this is a perfect example why.

    Create a file called "chromium" or "firefox" (whicever makes most sense
    to you), and put all the assorted flags you need to fix the issue in there.

    So when you decide you want to revert all those changes, you can just
    delete that file, and bingo ...

    Or just make all those changes dependent on the current version of chromium/firefox. So when you update you may have to re-visit the
    problem, or it may just solve itself.

    Cheers,
    Wol

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)