The following graph shows the size of the largest strongly connected component during a native bootstrapping scenario which starts only with Essential:yes, build-essential, debhelper and apt. The larger the strongly connected component, the harder it is to make the dependency graph acyclic because more modifications to packages are needed.
The data was generated using Packages and Sources files from snapshot.debian.org, doing the analysis from 2005-03-12 to now, using a 5-day interval.
Black circles mark an analysis of a normal self-contained package repository (as calculated by botch-build_closure). Green circles mark an analysis on a self-contained repository with a minimum number of source packages (as calculated by botch-optuniv using aspcud as a solver). Red circles mark an analysis of a repository from which dependency disjunctions (OR dependencies like "foo | bar") were reduced to a single choice (as calculated by botch-remove-virtual-disjunctions).
A pdf version can be downloaded here.
The raw data used to generate the graph can be downloaded as history.txt for the normal self-contained package repository, history_opt.txt for the self-contained repository with a minimum number of source packages and history_disj.txt for the repository from which disjunctions were removed.
Missing data points in the graph indicate a situation without a solution. A short reason for each individual timestamp with missing data can be found in the raw data files as a comment.
The data used to generate this page was computed using botch, the bootstrap/build ordering tool chain. The source code of botch can be redistributed under the terms of the LGPL3+ with an OCaml linking exception. The source code can be retrieved from https://gitorious.org/debian-bootstrap/botch
The html page was generated by code which can be retrieved from https://gitorious.org/debian-bootstrap/bootstrap_debian_net and which can be redistributed under the terms of the AGPL3+
For questions and bugreports please contact j [dot] schauer [at] email [dot] de.