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

Re: We cannot always know which source package to build to satisfy a given dependency (was: Re: Computing Build-Depends at build time (and other updates to debian/control)?)



Hi,

Quoting Johannes Schauer (2016-08-22 14:58:36)
> Quoting Ian Jackson (2016-08-22 12:55:48)
> > But even worse is that it would no longer be possible to sensibly
> > compute build orders without pre-building every package in a source
> > archive, because it would not be possible to statically determine
> > which binary packages are supposed to come from which sources.
> 
> since you are talking about computing build orders and avoiding having to
> pre-build every source package, I have bad news for you.  It is currently
> already impossible to know which source package to build to satisfy a given
> dependency if that source package hasn't been built before for the architecture
> that you are building for.

since I was told that my message could easily be misunderstood, let me clarify.
I did not intend to give arguments for why computing Build-Depends at build
time would be a good idea. I'm much of the opposite opinion myself *especially*
for the purposes of being able to auto-generate a build order in a reliable way
at some point in the future. Instead, I just wanted to debunk Iain's claim that
it would "no longer be possible to sensibly compute build orders without
pre-building every package" as this has never been possible (without heuristics
and a manually maintained set of assumptions).

> This is not only because source package metadata does not tell you: [...] -
> whether they will build a binary package that is Essential:yes

in fact this information is already present in the Sources index if a package
was rebuilt with dpkg 1.18.2 or newer. It is represented as essential=yes in
the Packages-List field. Rebootstrap already makes use of this field for its
purposes. (thanks guillem for correcting me!)

Some good documentation of the capabilities of the Packages-List field can be
found in the man page dsc(5).

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature


Reply to: