[U-Boot] Notes from the U-Boot BOF Meeting in Geneva 2012/07/12

Graeme Russ
2012-07-18T23:37:00Z

Hi Wolfgang,

On Wed, Jul 18, 2012 at 5:21 PM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Graeme,
>
> In message <5005562E.6070903@gmail.com> you wrote:
>>
>> I think U-Boot has reached the point that purely manual patch management is
>> not longer cutting the mustard.
>
> 100% agreed. The problem I see is that we haven't found a tool that
> provides the needed interfaces to deal with the amount of patches we
> have to handle.
>
> Patchwork has a number os serious problems, as I see it:

[snip PW issue list]

> For me PW is more or less dead.

The problem is, without 'a tool', it is practically impossible to keep
track of the status of all the patches submitted to the list. Despite it's
flaws, Patchwork has at least helped in this regard

>> Maybe it's time to seriously look at a gerrit + jenkins based solution?
>
> I am not sure that gerrit will solve any of the problems we have.
> I may be missing it, but for example I don't see any integration into
> a mostly e-mail based work flow. From what I have seen so far (which
> is not much, I admit) it appears we would again add another tool that
> in the first place requires additional steps which interrupt the work
> flow. Speaking for myself, this is a killing point.

There are a few things I don't like about gerrit:
- Not based on an email-centric workflow
- Need to 'drill-down' to get to the actual patch
- UI is overly verbose

But there are other things I do like:
- Maintains the revision history of each patch
- Keeps track of review status
- Keeps track of the what branch the patch is against

Patchwork is GPL'd and, in my personal opinion, gets fairly close to what
we might need. Maybe we could take Patchwork and modify it to suit our
needs?

> And Jenkins... well, we have been using this for some time internally
> to run test builds for U-Boot. I can tell you a thing or two about
> it, and Marek has his own story to tell about his experiences when he
> added to the build matrix.
>
> As is, we try hard to get rid of Jenkins, because it does not scale
> well to the type of builds we want to be able to do. Marek even
> started setting up his own test build framework...

OK, so we already have a fair number of in-house tools that have been
developed to get the job done. We have checkpatch.pl, patman, buildman (in
development), and Marek's build framework. Why don't we look at integrating
these - A modified Patchwork could:
- Automatically run checkpatch and test if the patch applies
- Notify the build framework to trigger a build-test
- Apply patches to repo's when the maintainer sends an 'Accepted-by:' to
the mailing list
- Re-run apply and build tests when a maintainer issues a pull request
- Re-run the apply and build tests on all 'staged' patches when patches
are committed or branches are merged

I short, we have three options
- Modify our workflow so we can use existing tools
- Modify existing tools and/or create new tools to match our existing
workflow
- A bit of both

And remember, Linus wrote git because no other tool was available that
exactly suited his needs

Regards,

Graeme