Kate Stewart
- There are now 7,000+ packages in the Ubuntu main distro and over 19,000 in universe.
- There’s a tremendous rate of change.
- This isn’t a solution - it’s a description of an interesting problem space.
- Many projects feed into Debian, who Ubuntu feed from, and then Ubuntu release multiple images to the world at large.
- Stabilising this is hard, especially since Debian is a time-based release.
-
Understanding whether there should be exceptions to the freezes is really challenging, especially when they’re to packages with many dependencies upon them.
-
There’s a planning phase, a feature development phase, and a stabilization & QA phase.
-
There’s a continual set of imports from Debian, mostly from Unstable. LTS comes from Debian Testing.
-
Ubuntu archive contains ALL THE THINGS.
-
6 architectures, with 73 daily images (core Ubuntu + Flavour images).
-
Number of packages varies by the edition of Ubuntu, as well as the flavours.
-
Lots of facts: how do you convert facts into knowledge?
-
Image build summary files, the Package control files provide some core information.
-
Germinate examines “seeds”, groups of packages, and examines the dependencies between them; e.g. “desktop” is a seed, “live” is a seed, and so on and so forth.
-
Shows forward and reverse depenedencies.
-
There are other tools that help understand these dependencies: madison, apt-rdepends, apt-cache, diff-manifest.
It’s an interesting problem, but there’s no good solution for the problem, as yet. But there are some steps towards one:
- You can graph out seed-based dependencies; you can use rdepends to extract information for driving regression testing.
Q&A
- Look at the bug trackers alongside the package mapping to see how past bugs/changes have created inter-dependencies. But how do you mine those bug trackers?
- For visualisaion, are you familiar with Gapminder? It shows changes of multidimensional data over time. (http://www.gapminder.org/)[gapminder.org]
- Consider using the Debian popcorn database to understand the numbers of people likely to be affected by changes.