After nearly one year of development, the "Port bootstrap build-ordering tool" now finally has a name: botch. It stands for Bootstrap/Build Order Tool CHain. Now we dont have to call it "Port bootstrap build-ordering tool" anymore (nobody did that anyways) and also dont have to talk about it by referring to it as "the tools" in email, IRC or in my master thesis which is due in a few weeks. With this, the issue also doesnt block the creation of a Debian package anymore. Since only a handful of people have a clone of it anyway, I also renamed the gitorious git repository url (and updated all links in this blog and left a text file informing about the name change in the old location). The new url is: https://gitorious.org/debian-bootstrap/botch
Further improvements since my last post in January include:
- greatly improved speed of partial order calculation
- calculation of strong edges and strong subgraphs in build graphs and source graphs
- calculation of source graphs from scratch or from build graphs
- calculation of strong bridges and strong articulation points
- calculate betweenness of vertices and edges
- find self-cycles in the source graph
- add webselfcycle code to generate a HTML page of self-cycles
- allow to collapse all strongly connected components of the source graph into a single vertex to make it acyclic
- allow to create a build order for cyclic graphs (by collapsing SCC)
- allow to specify custom installation sets
- add more feedback arc set heuristics (eades, insertion sort, sifting, moving)
- improve the cycle heuristic
In the mean time a paper about the theoretical aspects of this topic which Pietro Abate and I submitted to the CBSE 2013 conference got accepted (hurray!) and I will travel to the conference in Canada in June.
Botch (yeey, I can call it by a name!) is also an integral part of one of the proposals for a Debian Google Summer of Code project this year, mentored by Wookey and co-mentored by myself. Lets hope it gets accepted and produces good results in the end of the summer!