Bugzilla – Bug 14373
Depending on non-providing spells does not query for new provider
Last modified: 2008-08-28 07:25:04 UTC
When casting a spell which has selected a now invalid provider, Sorcery does not check this and offer a new selection. e.g. All providers of X11-LIBS are removed and a new one, xorg-profile, is added. This update uses up_triggers to do a cast_self on all spells which directly depended upon one of the removed providers, but the spells still depend on one of the removed providers (e.g. xorg) of X11-LIBS. cairo optionally depends on a provider of X11-LIBS Continue to use xorg? [y] And then at the end of the dependency resolution xorg is still the provider of X11-LIBS for cairo. Instead, at the "Continue to use <obsolete provider>? [y]" we should have gotten the 'normal' options for when no provider is provided or `cast -r <spell>` was used.
If xorg is still installed, I don't see much wrong with this behaviour - when the spell was cast it did provide X11-LIBS. So the installed xorg is still a valid provider. Make sure the process dispels the old provider first and then the user will be asked again.
For the example, xorg is still installed while doing the dependency resolution, but it no longer provides X11-LIBS and will be removed when the first conflicting package (e.g. util-macros) is installed, but then will try to be installed again later to provide X11-LIBS, yet it won't install any of the necessary files.
The one in the grimoire doesn't, the one in the system does provide X11-LIBS. Try removing xorg in some PREPARE.
Like I said, this is the correct behaviour.