[Build-common-hackers] Re: cdbs and Build-Depends-Indep
Colin Walters
walters@debian.org
15 Jun 2003 04:27:55 -0400
On Sun, 2003-06-15 at 01:28, Chris Hanson wrote:
> Hi Colin,
>
> Thanks for the changes to cdbs, but...
I reverted those changes actually. I think since policy says
Build-Depends and Build-Depends-Indep must be installed for 'build',
it's safe to have 'build' just always depend on build-arch and
build-indep.
> I'm still unable to make
> binary-arch without also partly making the arch-independent packages.
> The reason is the following three rules from "buildcore.mk":
>
> common-build:: testdir $(patsubst %,configure/%,$(DEB_ALL_PACKAGES))
> common-post-build:: common-build $(patsubst %,build/%,$(DEB_ALL_PACKAGES))
> common-binary:: testdir testroot $(patsubst %,install/%,$(DEB_ALL_PACKAGES)) common-install
>
> As you can see, these rules force configure, build, and install of
> arch-independent packages, even if the original target is binary-arch,
> as it is in this case. I'm not sure what the right fix is. But this
> is getting very complicated.
Ah...right. Hm. I think we'll need to split those into
common-build-arch and common-build indep. Actually this will require a
lot of splits.
[most of the rest below is for build-common-hackers]...
I just did some of this work in the cdbs CVS. It passes the regression
test suite, but I think more thought is necessary. A lot of classes
used the common-blah targets; e.g. python-distutils.mk does:
common-build::
cd $(DEB_SRCDIR) && python $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
I think we'll have to change this to look something like:
common-build-arch common-build-indep:: common-build
common-build::
cd $(DEB_SRCDIR) && python $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
Then we'll have to make common-build just a dummy target in buildcore.mk
(currently it depends on build-arch build-indep). I'm going to try this
tomorrow and run tests/pbuilder-all.sh to see if there's any
regressions. Ideas welcome though.
BTW, I think this ties in with some of the stuff on TODO about compiling
with multiple flags, etc. I know at least one package wants to pass
different ./configure flags for an arch vs. an indep build.