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]] -=-=-=-=-=-=-=-=-=-=-=-
