Skip to content
  • Duncan Coutts's avatar
    Add an Installed state to InstallPlan packages · 492db5b5
    Duncan Coutts authored
    This patch just adds the state without yet using it. That'll follow in
    subsequent patches.
    
    So why add an Installed state? Didn't we just remove the Installed,
    Processing and Failed states? Those states were used when we followed
    the approach of updating the InstallPlan as a build progressed (whereas
    we now do traversals without altering the InstallPlan).
    
    The idea of adding an Installed state now is that we can more usefully
    represent the state of the plan when we "improve" the plan with packages
    from the store or when we update the plan having checked if inplace
    packages are up to date. Currently in these two places we replace
    Configured source packages with PreExisting packages. There's a couple
    problems with this. Firstly the PreExisting state only contains an
    InstalledPackageInfo which means we loose information compared to all
    the detail in the Configured source package. This is relevant for things
    like plan.json output or other features that want to know the status of
    a project. Secondly we have to fake things for executables since they
    are not properly represented by InstalledPackageInfo.
    492db5b5