Re: Fwd: Build-Depends-Indep dependencies
anatoly techtonik <email@example.com> writes:
> On Thu, Oct 28, 2010 at 12:30 PM, Goswin von Brederlow
> <firstname.lastname@example.org> wrote:
>> Ansgar Burchardt <email@example.com> writes:
>>> anatoly techtonik <firstname.lastname@example.org> writes:
>>>> Can anybody point me to the part of the policy where Build-Depends and
>>>> Build-Depends-Indep differences are explained?
>>> They differ in when they must be satisfied (that is for running which
>>> target in debian/rules). Â See Section 7.7 .
>>>  <http://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps>
>> And policy is wrong. Or at least nobody and nothing follows policy in
>> this. The reason for that is that build-arch and build-indep are
>> optional and dpkg-buildpackage must always calls the build target to
>> build. This has been a problem for a long time but there seems to be too
>> much resistance against just fixing it.
>> So actual practice is this:
>> Build-Depends must list everything needed to build the arch dependend
>> packages of a source. Anything that is needed on the buildd. Anything
>> needed to run "dpkg-buildpackage -B". This includes calling the "build"
>> target and contrary to policy Build-Depends-Indep will not be installed
>> when this is called.
> So, Debian community doesn't follow its own policy that it requires
> from every newbie to know, and nobody cares to fix that. Nice.
>> Build-Depends-Indep must list everything that is needed to build the
>> arch indep packages of a source that isn't already in Build-Depends.
> But you say that Build-Depends-Indep are not installed when 'build' is
> called, and builders call 'build' also for arch indep packages,
> because they can't detect if optional targets like 'build-indep' or
> 'build-arch' exists.
Yes. That is where policy is violated. Policy says B-D-I must be
installed for 'build' but buildds don't install it.
> BTW, what are arch dependent packages of a source? Are these just
> repackaged and modified source files after a configure script is run?
> Why configure can't be run when building arch dep binary packages? Why
> need the arch dep source packages then? IIUC Python packages don't
> require to be split into architecture dependent source packages.
> Thanks for clarification.
> anatoly t.
No such thing. A source can build both arch dependent and independent
packages and many sources do.
Do you mean sources that are architecture specific? E.g. special tools
to support extra buttons on a specific laptop. Since the tool only works
on that laptop there is no point having it for other architectures. And
often such sources don't build on anything but the one architecture
because nobody made them portable.