[Bug] CmdLine can't skip virtual recommendations #3477
Labels
Bug
Something is not working as intended
Cmdline
Issues affecting the command line
Core (ckan.dll)
Issues affecting the core part of CKAN
Relationships
Issues affecting depends, recommends, etc.
Background
By default,
ckan install
tries to install recommendations but skips them if they're incompatible (becauseapt-get
does it that way). You can use the--no-recommends
option to ignore recommendations.Problem
EnvironmentalVisualEnhancements
recommendsEnvironmentalVisualEnhancements-Config
, which is provided by several modules. This means it should be possible to install that module without the recommendation. When the prompt appears, the user can pick c or n to choose none of the above. However, this aborts the entire installation rather than skipping the recommendation:In effect this treats virtual recommendations as required rather than optional (which is not how it works for normal recommendations, because if they're incompatible or not found, they're just skipped rather than causing the install to fail). For recommendations, "none of the above" should be a valid option.
Obviously this is fairly unimportant because many more users use GUI (and even ConsoleUI), and virtual recommendations are not very common.
Causes
RelationshipResolver
throwsTooManyModsProvideKraken
in this case just like for depends, and the UI has no way to know the differenceRelationshipResolver
do that, because its inputs are only the modules to install and remove, aRelationshipResolverOptions
object, the registry, and the compatible game versions:CKAN/Core/Relationships/RelationshipResolver.cs
Lines 186 to 195 in 2564dfb
There is no way to express "ignore this recommendation" using that interface.
Suggestions
I guess the
RelationshipResolver
should accept recommendations to skip as a new input, and CmdLine should populate that input when the user selects c or n for a recommendation.The text was updated successfully, but these errors were encountered: