Date: Fri, 02 Jan 2009 09:38:35 -0800 From: Sam Leffler <sam@freebsd.org> To: Doug Barton <dougb@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r186678 - head/usr.sbin/mergemaster Message-ID: <495E511B.7000006@freebsd.org> In-Reply-To: <495DC24E.90606@FreeBSD.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5FC3.6000109@freebsd.org> <495D62C0.7090306@FreeBSD.org> <495D63B6.3020106@freebsd.org> <495DC24E.90606@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Doug Barton wrote: > Sam Leffler wrote: > >> Doug Barton wrote: >> >>> Sam Leffler wrote: >>> >>> >>>> Doug Barton wrote: >>>> >>>> >>>>> 1. Switch to using the top level (e.g., /usr/src) Makefile, and >>>>> specify >>>>> that we should use the *.mk files from the source directory >>>>> instead of >>>>> the installed versions. [1][2] This allows easier cross builds and >>>>> simplifies (or in some cases permits) upgrading. >>>>> >>>>> >>>> I believe you changed the meaning of the -m flag so it now requires a >>>> pathname to the src tree and not src/etc. This breaks existing >>>> usage. In the PR I filed there was a follow-on patch from Bjoern that >>>> amended >>>> my suggestion to instead add a -M option to set the source tree. I >>>> thought that was an improvement over my hack. In lieu of that you might >>>> want to examine the pathname supplied to -m to try to provide backwards >>>> compatibility by stripping any /etc suffix on the path. >>>> >>>> >>> The version in bin/96528 from ru had a better fix for this issue, but >>> thanks for thinking of it. :) >>> >>> >>> >> That's nice to know. Unfortunately what's in HEAD doesn't seem to work >> for my cross-install setup. Did you test using the recipe in my PR? I >> am debugging; could be a local problem. >> > > I finally got this to work, but the problem wasn't with mergemaster. > Turns out that bsd.obj.mk is not taking ${TARGET} into account in the > same way that src/Makefile.inc1 does. I'm sending the following patch > to -hackers for discussion: > > Index: bsd.obj.mk > =================================================================== > --- bsd.obj.mk (revision 186676) > +++ bsd.obj.mk (working copy) > @@ -43,7 +43,7 @@ > .include <bsd.own.mk> > > .if defined(MAKEOBJDIRPREFIX) > -CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR} > +CANONICALOBJDIR:=${OBJTREE}${.CURDIR} > .else > CANONICALOBJDIR:=/usr/obj${.CURDIR} > .endif > > Meanwhile you can work around the problem with sendmail (which is the > only thing mergemaster installs that cares) by setting > WITHOUT_SENDMAIL in /etc/src.conf. > > Presumably this is because I was testing w/o your changes to run builds from /usr/src (instead of /usr/src/etc)? The patch I provided in the PR definitely worked. Unfortunately the above change does not help me; I still fail in sendmail as before. I don't see where OBJTREE is defined in any .mk file or by make (searching the man page). Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?495E511B.7000006>