From owner-svn-src-stable@FreeBSD.ORG Fri Apr 5 13:26:58 2013 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5A7ECCB9 for ; Fri, 5 Apr 2013 13:26:58 +0000 (UTC) (envelope-from jdc@koitsu.org) Received: from qmta07.emeryville.ca.mail.comcast.net (qmta07.emeryville.ca.mail.comcast.net [IPv6:2001:558:fe2d:43:76:96:30:64]) by mx1.freebsd.org (Postfix) with ESMTP id 3C0DE70B for ; Fri, 5 Apr 2013 13:26:58 +0000 (UTC) Received: from omta13.emeryville.ca.mail.comcast.net ([76.96.30.52]) by qmta07.emeryville.ca.mail.comcast.net with comcast id LD2j1l00117UAYkA7DSxoX; Fri, 05 Apr 2013 13:26:57 +0000 Received: from koitsu.strangled.net ([67.180.84.87]) by omta13.emeryville.ca.mail.comcast.net with comcast id LDSw1l00F1t3BNj8ZDSw9b; Fri, 05 Apr 2013 13:26:57 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id 44B8A73A1C; Fri, 5 Apr 2013 06:26:56 -0700 (PDT) Date: Fri, 5 Apr 2013 06:26:56 -0700 From: Jeremy Chadwick To: Brooks Davis Subject: Re: svn commit: r248352 - in stable/9: etc share/mk Message-ID: <20130405132656.GA38611@icarus.home.lan> References: <201303152132.r2FLWfwx076672@svn.freebsd.org> <201303200918.08803.jhb@freebsd.org> <20130402175903.GA85393@lor.one-eyed-alien.net> <201304021550.43701.jhb@freebsd.org> <20130402213534.GA86221@lor.one-eyed-alien.net> <20130405055834.GA97433@icarus.home.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130405055834.GA97433@icarus.home.lan> User-Agent: Mutt/1.5.21 (2010-09-15) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1365168417; bh=+jKCYFUpEEh/cafdvzpBCQFjGuwJU5KRLKtYPdSDX5s=; h=Received:Received:Received:Date:From:To:Subject:Message-ID: MIME-Version:Content-Type; b=Z4z5cvJ+c1DsJV4kMC3b8DlkFLn+a1JXfWxHyNx+qAQgHjStSmmKgkcfeIy0ssDtF XTI1y/MX6ZWYBcy+gGLSkVMQI4AEKeHmfjewv+tVZqjSbogpf9ni6B4j+UXwVDXo7a gndDKzr6cEUPM8eDhXXz4TLywRVziDsnritJMfEjZCzOX9y3MOoKqCU0QIyqEitI1P E+jlRi+3qMb4iitlmTmdXGOTwO7qD1BAg7KfcXYW86HN/zhfxwmuwVJDmfFMrPS5uK M1MvEcU3pUX7GZJG1ar6+/53EWyMoD6S6pXW9JhODX7dZ8OVJDNSrFliRIqwg/HFs8 fZ8rSTNCc9Y7w== Cc: src-committers@freebsd.org, John Baldwin , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, Dmitry Morozovsky , svn-src-stable-9@freebsd.org X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Apr 2013 13:26:58 -0000 On Thu, Apr 04, 2013 at 10:58:34PM -0700, Jeremy Chadwick wrote: > On Tue, Apr 02, 2013 at 04:35:34PM -0500, Brooks Davis wrote: > > On Tue, Apr 02, 2013 at 03:50:43PM -0400, John Baldwin wrote: > > > On Tuesday, April 02, 2013 1:59:03 pm Brooks Davis wrote: > > > > On Wed, Mar 20, 2013 at 09:18:08AM -0400, John Baldwin wrote: > > > > > On Tuesday, March 19, 2013 4:06:31 pm Brooks Davis wrote: > > > > > > On Tue, Mar 19, 2013 at 09:49:47PM +0400, Dmitry Morozovsky wrote: > > > > > > > On Tue, 19 Mar 2013, Brooks Davis wrote: > > > > > > > > > > > > > > > > > Replace all known uses of ln in the build process with appropriate > > > > > > > > > > install -l invocations via new INSTALL_LINK and INSTALL_SYMLINK > > > > > > > > > > variables. > > > > > > > > > > > > > > > > > > It seems this merge breaks ``make distribution'' and hence mergemaster if your > > > > > > > > > base system is not updated yet (for example, while updating jail): > > > > > > > > > > > > > > > > Sorry for the delay in responding. I missed this yesterday. > > > > > > > > > > > > > > > > It works for me on a older 9.0-STABLE system where the base install > > > > > > > > doesn't support -l. Did you build world or run "make toolchain" in that > > > > > > > > source tree to build the bootstrap copy of install? > > > > > > > > > > > > > > Yes, this is after full ``make buildworld buildkernel'' process. > > > > > > > > > > > > I've found the problem thanks to misc/177055. It is that mergemaster > > > > > > (and etcupdate) set MAKEOBJDIRPREFIX to something in their > > > > > > temporary directory and thus deprive themselves of bootstrap tools. > > > > > > Unfortunately, I don't see a trivial fix so I've backed this out for > > > > > > now and will work on this in HEAD. > > > > > > > > > > Hummmm. In the case of etcupdate you can use 'etcupdate -B'. That is actually safe > > > > > to do in the common case where you've just updated /usr/src and built the corresponding > > > > > world in /usr/obj. It should possibly even by the default for etcupdate if a DESTDIR > > > > > is not specified. > > > > > > > > Finally getting back to this... > > > > > > > > etcupdate -B would correct the immediate problem for etcupdate. I do > > > > think that making it the default if the tree exists makes sense. It > > > > won't be more broken than a cross installworld is. > > > > > > Hmmm, checking for the obj tree is a bit hackish. I'd rather it were more > > > deterministic. I think I'd like to make it just default to -B and require > > > a new -b flag to build a new tree, but perhaps have it check for a tree > > > and error out if it doesn't exist and you don't give it -b? > > > > Just switching the default seems fine in practice. I guess it would > > probably be useful to keep an option to enable the old behavior. > > > > > > I did a quick test when I first found this issue and it would be easy to > > > > reuse the existing MAKEOBJDIRPREFIX in mergemaster as well. > > > > > > > > I think we'll want to update UPDATING to recommend that the > > > > mergemaster -p stage (and the equivalent for etcupdate) be run using the > > > > version in the source tree, not the installed one. I do wonder if it > > > > would make sense for them to attempt to find and invoke that version so > > > > simplify bootstrapping. > > > > > > Currently etcupdate doesn't implement something like -p. I need to add that as > > > I would prefer to use its conflict resolution for adding users. (That would > > > also let it serve as a full replacement for mergemaster for those who prefer it.) > > > > OK, I'll look at switching the default behavior in mergemaster and > > adding an option to revert to the old behavior. > > > > I'll also change UPDATING to suggest using the mergemaster.sh from the > > source tree for mergemaster -p. > > Please be sure to update the relevant comments in src/Makefile too > (see roughly lines 59 onward). Also, in usr.sbin/mergemaster/mergemaster.sh, it looks like someone left some debugging code around line 637 (the echo statement): http://svnweb.freebsd.org/base/stable/9/usr.sbin/mergemaster/mergemaster.sh?r1=244461&r2=248531 -- | Jeremy Chadwick jdc@koitsu.org | | UNIX Systems Administrator http://jdc.koitsu.org/ | | Mountain View, CA, US | | Making life hard for others since 1977. PGP 4BD6C0CB |