On Tue, 8 Feb 2022 at 21:36, Bryan Evenson <[email protected]> wrote:
> As best I can tell, this is breaking because libffi upgraded from libffi6 to 
> libffi7.  The old version of glib-2.0 depends on libffi6 and the new version 
> of glib-2.0 depends on libffi7.  Opkg starts to upgrade glib-2.0, but it 
> first upgrades the dependent packages.  This removes libffi6 and installs 
> libffi7.  Then, the postrm script runs for glib-2.0 using the old binaries.  
> The gio-querymodules call then fails because it tries to load libffi6 which 
> no longer exists.  Even if I was able to defer upgrading libffi from libffi6 
> to libffi7 until after glib-2.0 upgrades, I’d then run into a similar problem 
> with the postinst script.  In that case, gio-querymodules would fail because 
> it would try to load libffi7 which would not be installed yet.
> I understand that you don’t want errors to go through undetected.  Would an 
> appropriate error message, such as:
>     ${libexecdir}/${MLPREFIX}gio-querymodules ${libdir}/gio/modules/ || echo 
> “GIO module caching failed.  You may need to manually update the GIO module 
> cache.”
> Work for you?

That is not an error message, that is a warning message, and no, that
is not appropriate either, because it's likely to go unseen, or
discarded.

I think you should study how desktop distributions handle this, both
rpm-based and deb-based. How do their postinst/postrms look like, and
in what sequence do they run?

As mentioned before, Yocto does not test or support mass-upgrades via
package manager: if we want to fix this, we better do it properly from
the start.

Alex
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#161528): 
https://lists.openembedded.org/g/openembedded-core/message/161528
Mute This Topic: https://lists.openembedded.org/mt/88979156/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to