Testing Fedora - small (?) suggestion.

Michael Schwendt fedora at wir-sind-cool.org
Sun Nov 12 12:56:50 UTC 2006


On Sun, 12 Nov 2006 10:41:56 +0100, Nicolas Mailhot wrote:

> <handwaving mode="major"/>
> 
> Ideally the situation would be the following :
> 
> 1. developer A releases a set of packages breaking R or BR of packages
> of maintainers B, C, D
>
> 2. buildsys detects the breakage, assigns a temporary repo to the broken
> packageset, warns A, B, C, D of the situation (maybe auto-opening
> bugzilla entries). Waits some standard period. Nags A, B, C, D every
> other day by mail.
> 
> 3. During the period fixed packages from B, C, and D are added to the
> temporary repo till it's complete. When it reaches completion it's
> merged with the main repo.

One question raised here: What to do with the "temporary repo" with
regard to subsequent build jobs?

The stuff that builds successfully, but breaks something, must be made
available to subsequent build jobs. Else developers B,C,D could not build
"against" the most recent builds.

So, what happens if developer E builds something with developer A's new
packages successfully? His builds must be held up, too, because A's
packages are not released yet. Things in the temporary repo pile up (a
single huge dependency, which got broken, can hold up many small packages,
which rebuilt fine without further breakage). And unless the temporary
repo is a publicly available repo, which can be used as a yum repo, it is
a trap for some packages, and an unexpected trap for further packages.

Meanwhile, other developers are confronted with another target. Their
local installation and the stuff available to the buildsys's "quarantine
repo".

And BR breakage is another beast, since BR breakage can occur also at the
API-level (or in configuration tools) and can lead to even longer chains
of things which are held up while waiting for fixes. One solution for that
is to avoid the most common breakage (aka compatibility packages,
libfooMAJOR-devel packages during ABI upgrades, no dangerous renames --
and probably automated rebuilds of dependency chains, regardless of
whether the results work).




More information about the fedora-devel-list mailing list