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.
signature.asc
Description: PGP signature