[ros-users] how to read debbuild status?

Jeremy Leibs leibs at willowgarage.com
Sun Feb 6 18:53:25 UTC 2011


On Sun, Feb 6, 2011 at 8:38 AM, Jack O'Quin <jack.oquin at gmail.com> wrote:
> There seems to be a lot of useful information in the debbuild pages,
> but I have not been able to locate any details about what the various
> fields mean:
>
>  http://www.ros.org/debbuild/diamondback.html
>
> Specifically, what does the presence or absence of a version number
> mean? When there is a depends missing, how to I find out what it is?
> Does missing deb mean the build failed for that platform?

The status page was sort of an incremental improvement on a hacky
script, so the information it has is more a matter of what was
convenient to grab than what would be nice to have.  Here is a summary
of the state of affairs:

There are 3 repositories.  'ros-shadow', 'ros-shadow-fixed', and
'ros'.  All building happens against the 'ros-shadow' repository.
When a complete build (referred to in the build system as a build of
'ALL') succeeds, a copy is automatically made from ros-shadow to
ros-shadow-fixed.  Finally, when we want to release debs to the
public, we copy from ros-shadow-fixed to ros.

Whenever a build for a particular stack is triggered, builds are first
run for all the upstream stacks that that stack depends upon.  For
each stack that builds successfully, first all downstream debs (stacks
which depend on the built stack) are removed from the ros-shadow
repository, and then the newly built deb is added into the shadow
repo.

A "missing deb", i.e. something in bright red, only means it is not
currently in the shadow repo.  The definition of missing is
version-specific, so once you release your stack and it no longer
matches what's in the repo, it will become red until it gets built.
However, since debs are removed from the repo after an upstream build
completes, it is possible that a deb becomes missing because something
it depended on got rebuilt.  In theory, anything in red should be able
to be built.  By comparison, something in pink (depends missing)
actually can't be built because it depends on something which is
missing.

Finally, the version numbers in the table refer to the respective
versions in the ros-shadow-fixed and ros repositories respectively.
If no numbers are present it means the same version of the stack (the
version listed in the left-most column) is in all 3 repositories.  If
you're waiting for a particular version of a stack to make it through
the pipeline, the key thing you care about is when the number shows up
in the ros-shadow-fixed entry, since that means it's part of a full
set of debs that can be pushed to the ros repository trivially.

There is not a good way of knowing which specific dependency is
missing, and in truth it's not a particularly useful piece of
information since you don't know WHY said deb might be missing.  There
is no way at the moment to distinguish between a broken and an unbuilt
deb.  That is information which needs to get pulled out of hudson or
out of the failure emails that get sent.

Hope that helps,
--Jeremy



More information about the ros-users mailing list