[lkml]   [2010]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectBuild log scripts

    I'm a fan of linux-next. A big fan. Over the past years, it has saved me lots of
    However, like with all itches to scratch, there are a few areas for

    The issues:

    o As a developer, I want to see if a change I made has any negative build
    impact, perhaps on an obscure architecture.
    Unless Stephen bugs me, I cannot notice easily.

    o As an architecture maintainer, I want to know if a build problem in
    platform-independent code happens for my arch only (probably my fault), or
    for many arches (maybe not my fault).

    o I want to know if there are any regressions/improvements since the previous
    The web pages do show a binary status indicator (green vs. red), but this
    doesn't help:
    - if there's a long-standing build issue (e.g. internal compiler error)
    and it's red all the time,
    - for warnings.

    To solve these, I wrote a few scripts.
    Of course they can be used outside the linux-next context as well.

    The scripts:


    Display a summary of all errors and warnings in one or more build logs.
    The summary is sorted by the number of occurrences.
    Optionally (using `-v'), the names of the affected build logs can be
    listed for each error or warning.
    You can combine multiple build logs by concatenating them, cfr. the
    examples below.


    Compare two build logs and display a summary of all regressions and
    Line numbers and other locations (e.g. offsets inside a section for
    linker errors) are ignored in the actual comparison, only the number of
    occurrences of each error or warning is compared, to compensate for the
    addition and removal of source lines. The location information is printed
    in the summary, though.
    Again, you can combine multiple build logs.


    Helper script to parse the branch9 webpage and download the latest logs to

    Sample output:

    o summary-all.out

    Summary of all of today's builds logs, i.e. the output of

    cd branch9 && $(find * -type f | sort)

    o summary-all-v.out

    Summary of all of today's builds logs incl. the list of affected logfiles
    for each error or warning, i.e. the output of

    cd branch9 && -v $(find * -type f | sort)

    o summary-arch.out
    o summary-arch-v.out

    Summaries of all build logs per architecture, i.e. running on the result files of

    for i in branch9/*; do cat $i/* > $(basename $i); done

    o diff-all.out

    Difference between all concatenated build logs on 2010-06-27 and all
    concatenated build logs of today.

    Where to find it?

    I put all scripts and the sample output at

    I hope you'll like it!



    Geert Uytterhoeven -- There's lots of Linux beyond ia32 --

    In personal conversations with technical people, I call myself a hacker. But
    when I'm talking to journalists I just say "programmer" or something like that.
    -- Linus Torvalds

     \ /
      Last update: 2010-07-13 22:53    [W:0.024 / U:107.768 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site