Generate build order graph from directory of debian packaging repositories
Project description
controlgraph
controlgraph is a directed graph which can be traversed to enable parallelized Debian package builds.
From the available directories with valid Debian packaging, a graph with directories (representing source packages) for nodes and build dependencies for edges is produced. The reverse of this graph can traversed with a breadth-first search to build in dependency order.
controlgraph
is a program which returns the controlgraph for a directory to build, in linear or dot format.
Installation
pip3 install controlgraph
Usage
With one or more directories present, run controlgraph
.
$ for r in opx-nas-acl opx-nas-daemon opx-alarm opx-logging opx-common-utils; do
git clone "https://github.com/open-switch/$r"
done
$ controlgraph
opx-alarm opx-logging opx-common-utils opx-nas-acl opx-nas-daemon
$ controlgraph --graph
strict digraph {
"opx-alarm";
"opx-nas-daemon";
"opx-common-utils";
"opx-logging";
"opx-nas-acl";
"opx-nas-daemon" -> "opx-common-utils";
"opx-nas-daemon" -> "opx-logging";
"opx-nas-daemon" -> "opx-nas-acl";
"opx-common-utils" -> "opx-logging";
"opx-nas-acl" -> "opx-common-utils";
"opx-nas-acl" -> "opx-logging";
}
Pair it with dbp
for easy full builds.
$ dbp build $(controlgraph)
$ controlgraph --graph --reverse | dbp build --parallel=8
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for controlgraph-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ea73ae555ce1e761078fb9a3e5164cc25f91db861ce20b3258386d70f8cc478 |
|
MD5 | 0ecb8de6b9cf91ac232341453e1523ab |
|
BLAKE2b-256 | a0b13fa958959932297a41404699451b48014d3ab2d037a3b656d10f544ed6e4 |