copr-sources/rust_dependency_solver
MTRNord a06f5447cb
Add missing libpng requirement
2023-09-17 21:20:20 +02:00
..
README.md Add copr logic and improve usability 2023-09-17 00:07:25 +02:00
main.py Add missing libpng requirement 2023-09-17 21:20:20 +02:00
requirements.txt Finish parts of the solver 2023-09-16 23:28:57 +02:00

README.md

Goal is to write a tool that generates a build.py dynamically.

How to run

python3 main.py <searchpath> <root node> <username> <project name> [--do_not_copr]

The do_not_copr flag disables actually starting the copr build tasks.

What happens?

It first starts at the root node.

After that for each spec file it will parse the spec file to find the source. With the source we now download it, unpack it and get the dependencies. These are then compared against the local specs. If they are available we continue to the next level deeper.

On each leaf/dependency we add a DAGNode. This tree the can be flattened to an linearized execution order. It however does not account for paralizing. It will always execute one after another.