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

Using build profiles in stretch?



Hi,

As you might know, there's this nice spec about build profiles:
https://wiki.debian.org/BuildProfileSpec

The idea is to ease bootstrapping Debian by tagging build-dependencies
that are not required for more basic builds (no test suite, no docs,
etc.), thus avoiding dependency loops. The support for it has been
implemented in dpkg in jessie.

To fix #632776 (ruby-shoulda-context,gem2deb: Circular build-dependency),
I decided to use such a build profile in gem2deb:
  Build-Depends: debhelper (>= 9.20141010), devscripts <!nocheck>,
    dpkg-dev (>= 1.17.14), dctrl-tools <!nocheck>, lintian <!nocheck>,
    python3-debian <!nocheck>, rake <!nocheck>, ruby (>= 1:2.1.0.3~),
    ruby-all-dev (>= 1:2.1.0.3~), ruby-mocha (>= 0.14.0) <!nocheck>,
    ruby-rspec <!nocheck>, ruby-setup <!nocheck>,
    ruby-shoulda-context <!nocheck>, ruby-test-unit <!nocheck>

This worked fine when I tested it locally because I use sbuild, but now that it
is uploaded, I realize that:
  - pbuilder doesn't support it (which breaks the package on reproducible.d.n)
  - there are several other infrastructure tools that don't support it yet,
    according to the table on https://wiki.debian.org/BuildProfileSpec
  - it's not described in Debian policy AFAIK (see #757760)

It seems the early support in dpkg confused me into thinking that it was fully
supported in stretch.

So, the question is: should we wait until stretch is released to use build
profiles, to give time to all infrastructure tools to support them, or should
we fix our infrastructure using backports?

I don't mind reverting my changes, of course. But it's probably worth a
debian-devel@ discussion first.

Note that in most tools, it's not difficult to add basic "support" for it,
because it only means ignoring build profiles entirely.

Lucas

Attachment: signature.asc
Description: Digital signature


Reply to: