[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Fixing dependency resolution of britney (was: Re: The state of cross building)



Hi,

Quoting Helmut Grohne (2016-02-02 20:40:38)
> On Tue, Feb 02, 2016 at 11:39:50AM -0500, Theodore Ts'o wrote:
> > I see these haven't entered testing because:
> > 
> > * 183 days old (needed 5 days)
> > * crossbuild-essential-arm64/amd64 unsatisfiable Depends: libc6-dev:arm64
> > * crossbuild-essential-armel/amd64 unsatisfiable Depends: libc6-dev:armel
> > * crossbuild-essential-armhf/amd64 unsatisfiable Depends: libc6-dev:armhf
> >    ....
> > * Invalidated by dependency
> > * Not considered
> > * Depends: build-essential dpkg-cross
> > 
> > Am I right in thinking this is because of how the testing scripts
> > work; is this something that is likely to be fixed in the future, or
> > is crossbuild-essential-* something that is only intended for unstable
> > and never for testing/stable?
> 
> As far as I can tell, there is nothing that would make these packages
> unfit for release in principle. However, there currently are unsolved
> problems that prevent them from transitioning to testing.
> 
> The crossbuild-essential-* packages use cross-architecture dependencies.
> This is a rarely used feature and it is not currently supported by
> britney. Thus these packages cannot transition before britney is
> changed. I am not aware of anyone working on this problem. Adding this
> feature to britney could also help with #807312.

in #807312 Ansgar helpfully pointed me to [1]. I have no clue at all about
britney but from my naive understanding I get that one of the things it does is
to check if a source package's build dependencies and its binary packages'
runtime dependencies are satisfied in testing.

My question is: why does it not just use dose3 just as the buildds are doing
it? You would then get multiarch support, build profile support, cross
architecture support, versioned provides support and so on for free.

I tried to find where the source code lives but I have a hard time finding it.
The page at [1] seems not to be generated by britney but by [2] which is
parsing what I understood is britney output at [3]. But neither [3] nor the
parent directory at [4] seem to point to the code generating [3]. I found [5]
but when I cloned that I couldn't find much code in it and its README was
talking about a code/b1 directory which I also cannot see while it lists "Some
HOWTO here." as a TODO item at the bottom...

So, in case I am not missing something really obvious here, could you make it
easier for users to find the code generating the pages they can find on
release.debian.org? I think it would be nice if all Debian web services had
such a link to the code that creates them at the bottom. This would show how
much we value to be open and would maybe even attract more contributors.

And it would be even better if there was some instructions of how to hack the
britney code (how to test changes etc). If that existed, I could see if I can
create a patch which adds dose3 support to britney.

Thanks!

cheers, josch

[1] https://release.debian.org/migration/testing.pl?package=cross-gcc-4.9-armhf
[2] https://release.debian.org/migration/testing.txt
[3] https://release.debian.org/britney/update_excuses.html
[4] https://release.debian.org/britney/
[5] https://release.debian.org/britney/code.git/

Attachment: signature.asc
Description: signature


Reply to: