[Build-common-hackers] Proposals for multi-build

Jeff Bailey jbailey@nisa.net
27 Jul 2003 17:01:24 -0400

Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sun, 2003-07-27 at 16:53, Colin Walters wrote:

> > I'm assuming here that all builds define DEB_BUILD_MULTI.  If the user
> > doesn't specify it, then we just fille it with the name of the first
> package and proceed.
> Hm.  Will this cause any problems for source packages which build
> multiple .debs but don't need multi-build?

It shouldn't, because we still go through all the steps for building the
packages that we do now.  As long as the package DESTDIR'd (or whatever
equivalent) so that the various install phases don't overwrite one
another, they should be fine.

If packages can't do that, I guess they could post-install-hook to mv
the install directory out of the way.  I think that's only in the
ugliest of cases, though.

> > DEB_BUILD_makefile =3D $(DEB_BUILD_MULTI)
> > build/$(DEB_BUILD_makefile)::
> > 	$(call cdbs_localval,DEB_MAKE_INVOKE) $(call cdbs_localval,DEB_MAKE_BU=
> >=20

> Ok...that could work.  BTW, we don't need to do the $(call ...) stuff.=20
> It should work to just put this inside the variable, and let recursive
> variable referencing do the work.

I think I'd have to see an example to know what you meant.

> > I think that doing it this way means that the multi-build stuff will
> > work without any changes to the buildcore.mk file.  We're *already*
> > calling these targets.  The only issue then is that we don't run a make
> > clean between runs, so they need to do VPATH builds.  This is probably
> > solvable somehow, too, but I haven't thought about it. =20

> That is a hard part.

A post-install hook of some sort should solve this problem, where they
just force a make clean to be run.  But that does mean those targets
won't have a sane 'build' target.  I don't think it's possible for them
to, though.

> I'm cool with trying it, definitely.  If it really doesn't work we can
> back it out, and we'll have learned something from it anyways.

Excellent.  I might need you to run one of your pbuilder-the-world type
of runs to test to make really sure before we upload it.

Breathe into my hands, I'll cup them like a glass to drink from...
 - Tattle Tale

Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

Version: GnuPG v1.2.2 (GNU/Linux)