Because there was no dose3 upstream release since January 2013, botch needs some features of dose3 which are only available via git. Dose3 itself can only release a new version once a new upstream version of libcudf is released. So dose3 depends on the git version of libcudf as well.
To check out the dose submodule you need git. To check out the libcudf submodule you need ca-certificates.
Botch is a set of tools which are concatenated in a meaningful manner by ./native.sh. The result of above invocation will be:
the files buildgraph.xml and srcgraph.xml which are the buildgraph and sourcegraph in graphml format for the current dependency situation
several graphs in graphml format cyclic_src*_*.xml representing the strongly connected components before any dependencies were dropped
a file stats.json containing the results of running several heuristics on the cyclic graph that help to make the graph acyclic
a file stats.html which contains the information of stats.json in human readable format
a file remove.list which contains a close to minimal selection (a feedback arc set) of build dependencies which have to be dropped in addition to the known droppable ones (given by files in the ./droppable directory) to make the graph acyclic
a file feedback_vertex_set.list which contains a close to minimal selection (a feedback vertex set) of source packages which were selected to be profile built according to the information in ./droppable and remove.list to make the graph acyclic
the files order1.lst and order2.lst which contain the resulting build order to bootstrap the whole distribution
The ./native.sh script makes the assumption that a minimal build system including Essential:yes packages, build-essential and debhelper exists. Look at the --help output for more options. Investigate the script to see how it combines the multiple tools together.
The number in the graph filename indicates the amount of vertices. Do not use dot to look at large graphs as computation can take hours. Furthermore, even after computation finished, the result will not be very useful due to the sheer amount of vertices and edges. If you nevertheless want to look at it, use sfdp instead.
Instead of looking at a huge graph you might want to look at the neighborhood of a specific node in the graph: