Bug#545381: edos-builddebcheck: Always consider built-essential packages installable
On Thu, Nov 26, 2009 at 11:56:15AM +0100, Joachim Breitner wrote:
> > I'm wondering if we can't be smarter about merging those 2 files.
> > It currently only keeps the newest version of all packages, and I
> > wonder if it's a problem if we just concatenate them.
> > The commit log shows:
> > commit 9f9abf7546c8e4a5b4af7daa58b2bbc72964e90c
> > Author: Joachim Breitner <email@example.com>
> > Date: Wed Jul 29 16:06:57 2009 +0200
> > Use keep-latest in trigger.often
> > This makes sure the Packages and Sources as passed to wanna-build do not
> > contain old entries, so that they are not passed to edos-debcheck. They
> > would not be considered by apt on the buildds for installation anyways.
> > And I'm not so sure about that anymore.
> neither am I, since I didn't really do anything about this since
> DebConf. So the following might be bogus:
> I don't think that this patch was related only to arch-all package: I
> think what can happen is that source package S build-depends on P, P has
> different versions in the two packages files. The newer version has an
> unsatisfiable dependency, but the older version does not. Apt would not
> install P, as it only considers the newer version, but edos-depcheck
> would assume that S is bd-installable, as it does consider the old
> version of P.
I think that for the source packages we only want to keep the
latest version. It might be that the previous version's build
dependencies can't be installed, and that it was actually the
reason why it got uploaded in the first place. But we don't
care about that, we just want to know it for the current source
version we're going to try to build.
The buildd has both Packages files, and apt will try to install
the latest version from there. I think sbuild call apt-get with
all packages that should be installed, including all the
dependencies. So I guess it's always going to try and install the
latest arch all package too. So I guess how it's setup now
actually makes edos behave the same as the buildds.
So it's my understanding now that only keeping the latest
version of the source and binary packages and give that
to edos does the right thing.
The options I currently see:
- sbuild should just install the build-dependencies itself, not
things they depend on.
- make apt-get smarter to try different versions
- ftp-master provides a Packages for per arch for the buildds.
In the first case we could make a packages file for edos that
keeps the latest arch any and all arch all packages. This
assumes two things:
- apt will actually try the older version if it's not on the
- You don't build-depend on the arch all package. edos might
think the old version is installable while apt tries the new.