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

Bug#787044: libdebian-installer: please make new Build-Depends: check optional via build profiles



Hi,

On Fri, 29 May 2015 00:34:18 +0200 Cyril Brulebois <kibi@debian.org> wrote:
> Helmut Grohne <helmut@subdivi.de> (2015-05-28):
> > You may be aware that libdebian-installer is considered transitively
> > build-essential.
> 
> I wasn't.

If one wants to build build-essential from scratch without relying on packages
from the archive (bootstrap scenario) then one has to recursively build its
build dependencies, the build dependencies of these, and so on and so forth.
The set of source package one then ends up with is currently at least 818
source packages big for Debian unstable amd64. I say "at least" because A|B
type dependencies and "Provides:" relationships allow different selections to
satisfy dependencies. The maximum number is 1135 source packages.

src:libdebian-installer is in the smaller set. So it is *not* optional by
choosing a different alternative or Provides. It is also required whether or
not one relies on existing Architecture:all packages or not. You can see a list
of all source packages in the transitively build-essential set here:

http://bootstrap.debian.net/essential.html

That page does not yet provide an explanation which dependency path makes them
being included because I didn't yet have the time to generate this information.
But for src:libdebian-installer, the reason is, that it is in the strong
dependency set of src:cdebconf which in turn is needed by build-essential
because of libdebconfclient0 which is needed by base-passwd.

> > [1] https://wiki.debian.org/BuildProfileSpec
> 
> How stable is this spec,

the syntax itself was set in stone (in the wiki page) at 2014-08-31 (which was
during the bootstrap sprint in paris) together with guillem who encoded this in
dpkg. All changes you see to that spec after this date are either

 - rewording to make hard to understand parts easier to read

 - add examples

 - expand the table of software that implements the syntax

 - adding new ideas of scenarios build profiles can be used in

As the main author of the spec I'd say that the only things that could possibly
be changed during this release cycle are the amount of permissible build
profile names (if the need for a new one comes up). This would not affect the
patch submitted by Helmut in this bug because the "nocheck" build profile name
was always needed and part of the spec.

The spec staying stable in its core (the syntax and fields) is furthermore
enforced by the fact that if something were to change now, then it would delay
the possibility of uploading packages with build profiles again until after the
release of Stretch in ~2 years. And we really don't want that :)

So there is no plan to touch this thing in any other way than making things
more clear in places where it was not.

The syntax is not policy yet (bug #757760) but I'd compare this situation to
Multi-Arch which is also not policy yet but also has always only existed as a
wiki page and still is widely used in the archive. I plan to help getting build
profiles into policy during this release cycle.

> and how much is that syntax supported by Debian's tools

You can see an overview of tool support for the build profile syntax in the
table at the top of the spec:

https://wiki.debian.org/BuildProfileSpec

Most notably, build profile support is missing in pbuilder until somebody
applies the latest patch which fixes that situation in bug #740577. Until then
one should either build without a chroot or use sbuild.

>/infra?

It's hard to test our infrastructure before things get deployed but luckily
another package using the build profile syntax in its Build-Depends has been
uploaded recently: gem2deb.  That helped us spot some remaining bits which did
not support the new syntax (#786400 and #787093) but as you can see, the former
is fixed and the latter has a working patch and since I'm in contact with
Antonio I think it will be applied quickly.

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature


Reply to: