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

Re: build, build-arch and build-indep targets in debian/rules



Michael Banck <mbanck@debian.org> writes:

> On Mon, Aug 09, 2004 at 07:22:14AM +0200, Goswin von Brederlow wrote:
>> Buildds call the build target without supplying Build-Depends-Indep. 
>
> Well, buildd calls dpkg-buildpackage, so the easiest way would be to
> just change dpkg-buildpackage to honor build-arch, IMHO. No need to
> change policy for this[1].

Yes we do given that build-arch can't be savely detected, or so
several people insist.

Also current practice does not follow policy. Policy says
Build-Depends-Indep is needed for the build target, in practice that
is not true or the buildds would fail.

>> The reason why "build-arch" is not used, if provided, is that it is
>> hard to properly detect if a debian/rules file has an build-arch
>> target or not. 
>
> AFAIK, this is only hard if you do not assume debian/rules is a
> Makefile. I am not sure what the current take of the dpkg maintainers is
> on this, but I hope they consider changing the behaviour of
> dpkg-buildpackage at some point during the next release cycle.

debian/rules must be a makefile now.

I guess we would have to try out how well detecting actually work and
fix the few packages were it goes haiwire.

>> My proposal is to make the build-arch and build-indep targets
>> mandatory in debian/rules so they can be utilised by dpkg-buildpackage
>> and through that by debuild, sbuild, pbuilder, uml-builder and
>> buildds. Packages that don't have a split build-arch and build-indep
>> target (yet) can use the following construct:
>> 
>> build-arch: build
>> build-indep: build
>
> AFAICT, your proposal would still mean that the buildds call
> 'debian/rules build' until after sarge+1 is released as they usually run
> stable roots (unless those would get patched).
>
> Which is quite unfortunate, of course.

All buildds build in unstable. Otherwise something is seriously wrong.
And unless I'm seriously mistaken dpkg-buildpackage from inside the
chroot is used to build, which makes it the sid version.

> Michael
>
> -- 
> [1] Yeah, policy describes current practise even if it braindead, yada,
> yada

MfG
        Goswin



Reply to: