Be more careful in handling unconfigured programs in the program database (backport #9967) #10349
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains several commits that address problems with how we were handling unconfigured programs in the program database:
Binary ProgramDb
instance) inDistribution.Client.ProjectPlanning.configureCompiler
, as otherwise we can accidentally discard information.Not doing so can lead to situations in which we can build a package just fine, but if we re-start a build we will fail,
because the program database on disk stored after configuring doesn't match the program database in memory.
configureRequiredProgram
needs to gracefully handle an already-configured program.Not doing so means we would fall back to the
simpleProgram
treatment, which can causeCabal
to fail to configure a program such ashsc2hs
which has custom logic for parsing its version number.Setup
executable, we would pass a program database for use of thestripExe
command. However,the
strip
program might not be configured in this program database; so we make sure to configure it (in the correctenvironment).
Template Α: This PR modifies behaviour or interface.
TODO:
This is an automatic backport of pull request Be more careful in handling unconfigured programs in the program database #9967 done by Mergify.