[openstack-dev] More and more circular build dependencies: what can we do to stop this?

Robert Collins robertc at robertcollins.net
Thu Nov 26 16:31:24 UTC 2015


On 27 November 2015 at 03:50, Thomas Goirand <zigo at debian.org> wrote:
> Hi,
>
> As a package maintainer, I'm seeing more and more circular
> build-dependency. The latest of them is between oslotest and oslo.config
> in Mitaka.
>
> There's been some added between unittest2, linecache2 and traceback2
> too, which are now really broadly used.
>
> The only way I can work around this type of issue is to temporarily
> disable the unit tests (or allow them to fail), build both packages, and
> revert the unit tests tweaks. That's both annoying and frustrating to do.
>
> What can we do so that it doesn't constantly happen again and again?
> It's a huge pain for downstream package maintainers and distros.
>
> Cheers,
>
> Thomas Goirand (zigo)

Firstly, as Thierry says, we're not well equipped to stop things
happening without tests, its the nature of a multi-thousand developer
structure.

Secondly, the cases you site are not circular build dependencies: they
are circular test dependencies, which are not the same thing.

I realise that the Debian and RPM tooling around this has historically
been weak, but its improving -
https://wiki.debian.org/DebianBootstrap#Circular_dependencies.2Fstaged_builds
- covers the current state of the art, and should, AIUI, entirely
address your needs: you do one build that is just a pure build with no
tests-during-build-time, then when the build phase of everything is
covered, a second stage 'normal' build that includes tests.

-Rob


-- 
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud



More information about the OpenStack-dev mailing list