[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

announcing bootstrap.debian.net



Hi,

I cross posted the following message on my blog:

http://blog.mister-muffin.de/2013/11/05/announcing-bootstrap.debian.net/

While [botch][1] produces loads of valuable data to help maintainers modifying
the right source packages with build profiles and thus make Debian
bootstrappable, it has so far failed at producing this data in a format which
is:

 - human readable (nobody wants to manually go through 12 MB of JSON data)
 - generated automatically periodically and published somewhere (nobody wants
   to run botch on his own machine or update periodically update the [TODO wiki 
   page][2])
 - available on a per-source-package-basis (no maintainer wants to know about
   the 500 source packages he does NOT maintain)

While human readability is probably still lacking (it's hard to write in a
manner understandable by everybody about a complicated topic you are very
familiar with), the bootstrapping results are now generated automatically (on a 
daily basis) and published in a per-source-package-basis as well. Thus let me
introduce to you:

[bootstrap.debian.net][3]

Paul Wise encouraged me to set this up and also donated the debian.net CNAME to 
my server. Thanks a lot! The data is generated daily from the midnight
packages/sources records of [snapshot.debian.org][4] (I hope it's okay to grab
the data from there on a daily basis). The resulting data can be viewed in HTML 
format (with some javascript for to allow table sorting and paging in case you
use javascript) per architecture ([here][10] for amd64). In addition it also
produces HTML pages per source package for all source packages which are
involved in a dependency cycle in any architecture (for example [src:avahi][11] 
or [src:python2.7][12]). Currently there are 518 source packages involved in a
dependency cycle. While this number seems high, remember that estimations by
calculating a feedback arc set suggest that only 50-60 of these source packages 
have to be modified with build profiles to make the whole graph acyclic.

For now it is funny to see that the main architectures do not bootstrap (since
July, for different reasons) while less popular ones like ia64 and s390x
bootstrap right now without problems (at least in theory). According to the
logs (also accessible at above link, [here][13] for amd64) this is because
gcc-4.6 currently fails compiling due to a build-conflict (this has been
reported in [bug#724865][5]).  Once this bug is fixed, all arches should be
bootstrappable again. Let me remind you here that the whole analysis is done on 
the dependency relationships only (not a single source package is actually
compiled at any point) and compilation might fail for many other reasons in
practice.

It has been the idea of Paul Wise to integrate this data into the pts so that
maintainers of affected source packages can react to the heuristics suggested
by botch. For this purpose, the website also publishes the raw JSON data from
which the HTML pages are generated ([here][14] for amd64). The bugreport
against the bts can be found in [bug#728298][6].

I'm sure that a couple of things regarding understandability of the results are 
not yet sufficiently explained or outright missing. If you see any such
instance, please drop me a mail, suggesting what to change in the textual
description or presentation of the results.

I also created the following two wiki pages to give an overview of the utilized 
terminology:

 - [Explaining basic terminology][7]
 - [Explaining used heuristics][8]

Feel also free to tell me if anything in these pages is unclear.

Direct patches against the [python code][9] producing the HTML from the raw
JSON data are also always welcome.

cheers, josch

[1]: https://gitorious.org/debian-bootstrap/botch
[2]: https://wiki.debian.org/DebianBootstrap/TODO
[3]: http://bootstrap.debian.net
[4]: http://snapshot.debian.org
[5]: http://bugs.debian.org/724865
[6]: http://bugs.debian.org/728298
[7]: https://gitorious.org/debian-bootstrap/pages/Terminology
[8]: https://gitorious.org/debian-bootstrap/pages/Heuristics
[9]: https://gitorious.org/debian-bootstrap/bootstrap_debian_net
[10]: http://bootstrap.debian.net/amd64/
[11]: http://bootstrap.debian.net/source/avahi.html
[12]: http://bootstrap.debian.net/source/python2.7.html
[13]: http://bootstrap.debian.net/amd64/log.txt
[14]: http://bootstrap.debian.net/amd64/stats.json


Reply to: