On Wed, Jan 25, 2012 at 6:52 PM, Zach Pfeffer zach.pfeffer@linaro.org wrote:
On 25 January 2012 12:18, Dave Martin dave.martin@linaro.org wrote:
On Tue, Jan 24, 2012 at 9:40 PM, Zach Pfeffer zach.pfeffer@linaro.org wrote:
[...]
For Android we have:
https://android-build.linaro.org/builds/~linaro-android/panda-12.01-release/
we should have the same thing for Ubuntu:
ubuntu-build.linaro.org
with the similar information.
I'm not sure about that: for Debian/Ubuntu there are established methods for getting source and provenance info. It's a solved problem, so we should just use the mature solution instead of insisting on inventing our own.
A key issue is that there is a fundamental difference between the way building and versioning works between the Debian and Android worlds.
In Android, if I understand correctly, the whole build is effectively done from a single tree, so you can meaningfully tag a whole release and bungle source for it without tagging individual components. Am I correct here?
In the Debian way of doing things, builds are incremental and continuous there is no single tree containing all the source for a release. Bootstrapping a whole release from pure source is a rare event, and involves a significant manual effort. Rather, a release is a particular set of versions of particular packages, not built as part of the release process, but instead the set of newest pre-built versions of the chosen packages at the time the release was defined. Also, once you have the platform running you can upgrade it piecemeal, package by package. So establishing metadata at the release level only is hard and makes little sense: the metadata must be tracked at the package level in any case.
All this means that the way we track a source project (such as the Linux kernel) which is common between both worlds must accommodate both worlds. If it fails to accommodate either, we will encounter trouble in one world or the other.
For the kernels, we do almost get things right for Ubuntu-land, but just not right _enough_ that finding the source works reliably in the same way as for every other package.
A UI is a good thing if it is built on firm foundations, but I fear that if we don't get the fundamentals correct, no amount of UI polishing is going to hide the instability that lurks beneath.
That's all well and good, but the point is you need to answer the following question:
What kernel was used. Where can I get it. How can I rebuild it.
You may as well put that on a 'page' so that people who are not Debian people can easily find what they're looking for.
The point of the android-build pages is that it answers specific questions:
How do I use this? How do I rebuild this? Where does this come from? What works? Where can I get help?
Take a look at: https://android-build.linaro.org/builds/~linaro-android/landing-panda-12.01-...
Everything's in one place. Its not the way Android does this, but that doesn't matter, it giving our customers exactly what they want.
That's why an ubuntu-build.linaro.org is so important. Right now its hard to find Ubuntu stuff which is bad. As a Linaro user I should be able to find everything I need on one page without digging through out of date wikis or knowing someone.
I do agree -- it's just that when building such a thing for ubuntu, we need to build it on a firm foundation.
The foundation is called the apt archive, and it's already there. We don't quite use it right in some cases, though it sounds like jcrigby has already made good progress for the kernel CI builds. We also don't document it enough.
Once we can track and generate those reports automatically, then we can freely choose how to present them. There's no reason not to have a nice web page for it, so long as the underlying infrastructure is coherent.
Cheers ---Dave