During bootstrapping we write unique requirements to the boot-order file, but if we encounter a repeat requirement we do not record it again. We should keep a parseable log of every dependency and why it is needed. This will allow us to resolve apparently conflicts in a constraints file (because we only need dependencies that must be installed at runtime) and it will help us produce a graph of the overall dependency tree.
The output file should be parseable and have a list of edges from each parent package to the dependent package. We don't need the full "chain" as we have in the build-order file.
During bootstrapping we write unique requirements to the boot-order file, but if we encounter a repeat requirement we do not record it again. We should keep a parseable log of every dependency and why it is needed. This will allow us to resolve apparently conflicts in a constraints file (because we only need dependencies that must be installed at runtime) and it will help us produce a graph of the overall dependency tree.
The output file should be parseable and have a list of edges from each parent package to the dependent package. We don't need the full "chain" as we have in the build-order file.