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

Re: new buildd dependency resolution breaks self depends?



On Tue, Mar 29, 2011 at 06:58:36PM +0200, Wesley W. Terpstra wrote:
> On Tue, Mar 29, 2011 at 6:42 PM, Kurt Roeckx <kurt@roeckx.be> wrote:
> 
> > As long as the Packages file for the buildds mentions this arch
> > all package, no buildd can build it, because it only considers
> > installing the latest version.  But it should get removed
> > from that file after 24 or 32 hours or something.  In which case
> > we'll only see the old version, can install those, and things should
> > work from there.
> >
> 
> 
> What I don't understand about your explanation: once the new all+i386 .debs
> hit unstable, won't the buildds see the new 'all' package in unstable and
> thus want to install it in preference to the old 'any' package even after it
> is removed from the Packages file? The 'all' package will still be
> uninstallable since it depends on the missing 'any' packages.

Let's take a look at all current Packages files:
- The buildd Packages file, as seen by *all* the buildds, not only
  the i386 one:
kroeckx@grieg:~$ zcat /org/wanna-build/tmp/archive/debian/buildd-sid/Packages.gz | grep-dctrl -F Package mlton -s Package,version,Architecture
Package: mlton-basis
version: 20100608-3
Architecture: all

Package: mlton-compiler
version: 20100608-3
Architecture: i386

Package: mlton
version: 20100608-3
Architecture: all

Package: mlton-tools
version: 20100608-3
Architecture: i386

Package: mlton-runtime-native
version: 20100608-3
Architecture: i386

Package: mlton-runtime-i486-linux-gnu
version: 20100608-3
Architecture: i386

Package: mlton-doc
version: 20100608-3
Architecture: all

The i386 unstable one:
kroeckx@grieg:~$ zcat /org/wanna-build/tmp/archive/debian/archive/sid/main/binary-i386/Packages.gz | grep-dctrl -F Package mlton -s Package,version,Architecture
Package: mlton-basis
version: 20100608-3
Architecture: all

Package: mlton-compiler
version: 20100608-3
Architecture: i386

Package: mlton-doc
version: 20100608-3
Architecture: all

Package: mlton-runtime-i486-linux-gnu
version: 20100608-3
Architecture: i386
[...]

The amd64 one:
kroeckx@grieg:~$ zcat /org/wanna-build/tmp/archive/debian/archive/sid/main/binary-amd64/Packages.gz | grep-dctrl -F Package mlton -s Package,version,Architecture
Package: mlton
version: 20100608-2
Architecture: amd64

Note that in unstable you don't see the arch arch all version
until the arch any version is also available.  Or you would see
the old arch all version until the new arch any version is
available.

This means that the version from unstable should always be
installable, unless there is some other reason it's not like
a transition of some other library.

The problem is that the buildds currently also see the newer
arch all version.  But this version will go away after some
time and it will only see the version from unstable.

> The basis, runtime, and compiler packages should all be at the same version
> to compile correctly. The basis package is an 'all' package which includes
> the cross-platform bits of the runtime library. The runtime and compiler are
> 'any' packages with compiled object code.
> 
> If the Build-Depends lists 'mlton-compiler' (ie: after I resolve the current
> problem), any future uploads will see that it has these versions available:
> mlton-compiler (= old-version) depends on runtime
> mlton-runtime (= old-version) depends on basis
> mlton-basis (= new version)
> ... which I believe means that the old-version mlton-compiler package will
> be uninstallable since the old-version of the basis in unstable is hidden by
> the new-version.

The new version of mlton-basis will only be visible to the buildds
for about a day, after which they should have no problem building
it.


Kurt


Reply to: