Skip to content
  • Anthony Mallet's avatar
    [mk] Fail less hard if no alternative is available for a dependency · b014d103
    Anthony Mallet authored
    A package was completely disabled if user preferences for alternative selection
    (if any) could not be satisfied. This was useful in particular with python, to
    not try building packages with python versions that are by default not
    available on a system.
    
    However, completely disabling a package because of this creates nasty side
    effects if one just want to extract the package or otherwise check its
    requirements. This could also break the "mirror distfiles" bulk builds.
    
    Thus the alternative selection now considers all available alternatives (still
    sorted with the user preference first) and two kind of errors can be generated:
    
     1. The first kind is when no alternative exist at all. This is still a fatal
        error, this indicates something really wrong with the dependencies.
    
     2. An alternative exists, but is not in the user preferences. This is a "soft"
        error (triggered only for cbbh (aka. build) targets and not cbeh
        (aka. extract) targets).
    
    This solves the "mirror distfiles" issue while preserving the good old
    behaviour of not building a package with a user-disabled alternative.
    b014d103