Skip to content
  • kristenk's avatar
    Allow the solver to toggle manual flags to match constraints that have any qualifier. · f7f63ab4
    kristenk authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
    This fixes #4299. The change gives the dependency solver the flexibility to link
    dependencies when the user has only set a manual flag on one of them.
    Previously, the solver would force the constrained dependency to have the
    flag value from the constraint and force the unconstrained dependency to have
    the default flag value. In cases where the single instance restriction required
    the dependencies to be linked, the solver couldn't find a solution.
    
    Qualified constraints can still be used to force different dependencies on a
    package to use different flag values. For example,
    "--constraint 'pkg +flag' --constraint 'pkg2:setup.pkg -flag'" turns the flag on
    for the top-level dependency and off for the setup dependency.
    
    I also stored flag default values in the search tree to simplify the code.
    f7f63ab4