Changes to build-dependency handling in Ubuntu xenial beyond

Steve Langasek steve.langasek at canonical.com
Mon Apr 18 18:54:04 UTC 2016


On Mon, Apr 18, 2016 at 02:44:06PM -0400, Thomas Ward wrote:
> > On Mon, Apr 18, 2016 at 02:00:43PM -0400, Thomas Ward wrote:
> >> On 04/08/2016 12:39 PM, Steve Langasek wrote:
> >>> Thanks to some stellar work by Dimitri Ledkov and Colin Watson, and as
> >>> discussed on ubuntu-devel over the past couple of months[1,2], a change has
> >>> been landed to Launchpad and the archive reports[3] to allow packages in
> >>> main to build-depend on universe (and packages in restricted to build-depend
> >>> on either universe or multiverse).
> >>> What this means for you:
> >>>  - If you are building packages locally, you will want to update your build
> >>>    environments for xenial and beyond to include universe in the apt
> >>>    sources, to mirror Launchpad's behavior.
> >>>
> >>>  - If you are updating a package that carries a delta to its
> >>>    build-dependencies, you will want to check if this delta can now be
> >>>    dropped.  If readding the build-dependency results in a new runtime
> >>>    dependency, the package will be blocked by proposed-migration in
> >>>    -proposed until component mismatches are resolved; you will then need
> >>>    to either re-add the delta, or follow the MIR process[4].
> >>>
> >> I think I need some clarification on this point.  The way I interpret
> >> this is as follows:
> >>
> >>  1. We are able to build-depend packages in Main on Universe, such that
> >>     any Universe compile-time dependencies are no longer needed to be
> >>     dropped for a package to be in Main.  But...
> >>
> >>  2. If such build-dependencies then introduce new dependencies on the
> >>     built binaries, the runtime-dependency packages of which are
> >>     necessary in the built binaries must be in Main.
> >>
> >> Is this an accurate interpretation of the points made in your email, or
> >> am I misreading what you are stating?
> > You've got it exactly.

> There's one follow-up here: does this apply for all binaries produced by
> the source package (regardless of Main/Universe), or does this apply for
> only produced binaries which land in Main?  (Thanks to Robie for making
> a clarification point in private messages on IRC)  There's a case where
> this applies - nginx - with regards to nginx-core being a binary
> produced in Main, but the other binaries (such as nginx-extras) being in
> Universe, with a Wishlist bug asking for us to drop one of the
> Main-inclusion deltas (which would only affect nginx-extras).

Main is seeded binary packages, the depends and recommends of those packages
(recursively), and the sources from which each of those binary packages are
built.

So adding a new build-dependency to a source package, which leads to a new
binary dependency on a package in universe, will not impact main regardless
of whether that source package builds other binary packages that are in
main.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20160418/27d68bc1/attachment.pgp>


More information about the ubuntu-devel mailing list