On Mon, Jul 17, 2023 at 11:10:52AM +0100, Simon McVittie wrote:
> > I wonder what's the point of B-D-Arch And B-D-Indep then?
> 
> The point is the same as it always was: primarily to exclude large
> dependencies from a `dpkg-buildpackage -B` build chroot (like the official
> buildd for each architecture) if they are only needed when building
> Architecture: all packages such as documentation, and secondarily to
> exclude large dependencies from a `dpkg-buildpackage -A` build chroot
> (like the official "all" buildd) if they are only needed when building
> Architecture: any packages.
> 
> B-D-I are required/guaranteed to be installed for builds that will run
> `debian/rules build-indep`, and B-D-A for builds that will run
> `debian/rules build-arch`. What Adam has been exercising for this MBF
> are builds that will do neither, but only build the source package
> (`dpkg-buildpackage -S`). This is a somewhat common thing to want to do
> if you do all your builds in a chroot, container, VM or remote machine:
> you start from an unpacked source directory or git clone, and you want
> to build binary packages "over there", which in many cases requires
> giving sbuild etc. a .dsc to work with, but you do not necessarily have
> all of the "heavier" dependencies on the local development system where
> you will convert the source directory into a .dsc.
> 
> You can move tools, libraries etc. from B-D to B-D-A or B-D-I as
> appropriate, *if* they are not needed by `debian/rules clean`. In
> practice this is usually the case for most "large" build-dependencies.

ah, makes sense, thank you!

> For instance, if you have documentation built with Doxygen, LaTeX
> or other large frameworks, it's usually OK for those tools to be in
> Build-Depends-Indep only; or if you have a GTK GUI and you've taken
> steps to avoid building it in Architecture: all builds, it's probably
> OK for GTK to be in Build-Depends-Arch only.

*nods*

> One common failure mode is that if your source package only builds
> Architecture: all packages, it's tempting to move debhelper from
> Build-Depends to Build-Depends-Indep, but that's incorrect for the
> reasons that Adam raised here (because debhelper is needed during clean).

for src:developers-reference, debhelper is the only package listed in
B-D atm :)


-- 
cheers,
        Holger

 ⢀⣴⠾⠻⢶⣦⠀
 ⣾⠁⢠⠒⠀⣿⡁  holger@(debian|reproducible-builds|layer-acht).org
 ⢿⡄⠘⠷⠚⠋⠀  OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C
 ⠈⠳⣄

First, they came for the transgender, and I spoke out immediatly even though
I'm straight and cis because I've read the rest of the fucking poem.

Attachment: signature.asc
Description: PGP signature

Reply via email to