Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jun 2021 23:43:59 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        Kevin Bowling <kevin.bowling@kev009.com>
Cc:        Kevin Bowling <kbowling@freebsd.org>, ports-committers <ports-committers@freebsd.org>, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org
Subject:   Re: git: b44acc9409bd - main - graphics/mesa-libs: enable libglvnd support
Message-ID:  <d66fad30-e277-4d60-bc43-634952cda641@FreeBSD.org>
In-Reply-To: <CAK7dMtBSkTujvQogs0W4rSzbU%2BU=1z05u3OEukdcPObrCdi7Uw@mail.gmail.com>
References:  <202106170426.15H4Q4kS068821@gitrepo.freebsd.org> <1ac24e08-fe77-4cb1-934a-50439a71c72e@FreeBSD.org> <CAK7dMtBSkTujvQogs0W4rSzbU%2BU=1z05u3OEukdcPObrCdi7Uw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

19 juin 2021 00:46:19 Kevin Bowling <kevin.bowling@kev009.com>:

> On Fri, Jun 18, 2021 at 1:25 PM Baptiste Daroussin <bapt@freebsd.org> wro=
te:
>>
>>
>> 17 juin 2021 06:26:08 Kevin Bowling <kbowling@FreeBSD.org>:
>>
>>> The branch main has been updated by kbowling:
>>>
>>> URL: https://cgit.FreeBSD.org/ports/commit/?id=3Db44acc9409bd3bdd92e86e=
35c06d50e2134b02f2
>>>
>>> commit b44acc9409bd3bdd92e86e35c06d50e2134b02f2
>>> Author:=C2=A0=C2=A0=C2=A0=C2=A0 Jan Beich <jbeich@FreeBSD.org>
>>> AuthorDate: 2021-06-16 15:48:02 +0000
>>> Commit:=C2=A0=C2=A0=C2=A0=C2=A0 Kevin Bowling <kbowling@FreeBSD.org>
>>> CommitDate: 2021-06-17 04:25:27 +0000
>>>
>>> =C2=A0=C2=A0=C2=A0 graphics/mesa-libs: enable libglvnd support
>>>
>>> =C2=A0=C2=A0=C2=A0 PR:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 246767
>>> =C2=A0=C2=A0=C2=A0 Reviewed by:=C2=A0=C2=A0=C2=A0 kbowling
>>> =C2=A0=C2=A0=C2=A0 Tested by:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 kbowling
>>> =C2=A0=C2=A0=C2=A0 Differential Revision:=C2=A0 https://reviews.freebsd=
.org/D25020
>>
>>
>> As I privately told Kevin, I am now replying here as it can be useful fo=
r other committers.
>>
>> This commit causes a situation I would call an impossible upgrades. If y=
ou have an ancient version of mesa-libs installed you cannot uograde to the=
 new version of mesa-libs you need to first remove mesa-libs then install l=
ibglvnd then install mesa-libs. Pkg knows how to deal with such situation u=
p to a limit.
>>
>> So first it is complicated because during that manipulation the system i=
s in an instable situation: lack of mesa-libs while things still depends on=
 it.
>>
>> Second if anything installed depends on mesa-libs but does not itself ha=
s to be reinstall from the repo it will block the removal (sat solver blabl=
abla message)
>>
>> To help it when you do such modification please bump portrevision of all=
 reverse dependencies! It should have be done anyway but most committers of=
ten miss doing it.
>>
>> Best regards,
>> Bapt
>
> I'm fine prepping a review of this, I just want to be clear, increment
> PORTREVISION on around 800 ports that depended on mesa-libs?
>
> I've only seen the one report of SAT failures with xephyr so far.=C2=A0 T=
he
> SAT solver worked fine on my kde5 desktops.=C2=A0 But I'd like to
> facilitate a smooth transition for everyone so happy to do whatever is
> needed.
>
> Regards,
> Kevin
>

Tl;Dr safest approach yes but one can probably be smarter

Bump everything which directly depends on mesa-libs is the safest way. But =
to be fair pkg tries to detect changes in metadata and is able to trigger r=
einstallation if needed (it is the reason why poudriere is aggressively reb=
uilding reverse dependencies - for people who wonder -). So probably only b=
umping reverse dependencies where after this change no metadata changes is =
probbaly sufficient. Xephyr for instance is imho only depending on mesa-lib=
s and not on libglvnd after the change.

I say probably here because you can imagine the complexity to test the solv=
er in all possible cases, so I am not 100% sure. To be fair writting those =
explanations for you (sincerly thank you for asking me to explain it in thi=
s particular case) made me think of a corner case which might help me being=
 able to automatically catch the Xephyr case here and makes upgrade more re=
liable for end users if I manage to write it is code now :)

Best regards,
Bapt



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d66fad30-e277-4d60-bc43-634952cda641>