From nobody@FreeBSD.org  Sat Apr 27 22:21:43 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	by hub.freebsd.org (Postfix) with ESMTP id E59EF710
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 27 Apr 2013 22:21:43 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [69.147.83.34])
	by mx1.freebsd.org (Postfix) with ESMTP id D89C31D15
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 27 Apr 2013 22:21:43 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r3RMLh6i014836
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 27 Apr 2013 22:21:43 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id r3RMLhT9014834;
	Sat, 27 Apr 2013 22:21:43 GMT
	(envelope-from nobody)
Message-Id: <201304272221.r3RMLhT9014834@red.freebsd.org>
Date: Sat, 27 Apr 2013 22:21:43 GMT
From: Garrett Cooper <yaneurabeya@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [PATCH] simplify make hierarchy NO_ROOT logic
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         178209
>Category:       conf
>Synopsis:       [PATCH] simplify make hierarchy NO_ROOT logic
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    brooks
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Apr 27 22:30:00 UTC 2013
>Closed-Date:    Wed Jul 10 19:11:24 UTC 2013
>Last-Modified:  Wed Jul 10 19:11:24 UTC 2013
>Originator:     Garrett Cooper
>Release:        10-CURRENT
>Organization:
EMC Isilon
>Environment:
n/a
>Description:
The attached patch simplifies the make hierarchy rule by putting the bits needed for twiddling make into an HMAKE variable.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: Makefile.inc1
===================================================================
--- Makefile.inc1	(revision 249833)
+++ Makefile.inc1	(working copy)
@@ -277,6 +277,13 @@
 		VERSION="${VERSION}" \
 		INSTALL="sh ${.CURDIR}/tools/install.sh" \
 		PATH=${TMPPATH}
+
+# make hierarchy
+HMAKE=		${MAKE} LOCAL_MTREE=${LOCAL_MTREE}
+.if defined(NO_ROOT)
+HMAKE+=		METALOG=${METALOG} -DNO_ROOT
+.endif
+
 .if ${MK_CDDL} == "no"
 WMAKEENV+=	NO_CTF=1
 .endif
@@ -1319,12 +1326,7 @@
 # hierarchy - ensure that all the needed directories are present
 #
 hierarchy hier:
-.if defined(NO_ROOT)
-	cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} \
-	    -DNO_ROOT METALOG=${METALOG} distrib-dirs
-.else
-	cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} distrib-dirs
-.endif
+	cd ${.CURDIR}/etc && ${HMAKE} distrib-dirs
 
 #
 # libraries - build all libraries, and install them under ${DESTDIR}.


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->patched 
State-Changed-By: brooks 
State-Changed-When: Fri Jun 14 22:38:11 UTC 2013 
State-Changed-Why:  
Committed to HEAD. 


Responsible-Changed-From-To: freebsd-bugs->brooks 
Responsible-Changed-By: brooks 
Responsible-Changed-When: Fri Jun 14 22:38:11 UTC 2013 
Responsible-Changed-Why:  
Take this one. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178209 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: conf/178209: commit references a PR
Date: Fri, 14 Jun 2013 22:32:56 +0000 (UTC)

 Author: brooks
 Date: Fri Jun 14 22:32:47 2013
 New Revision: 251765
 URL: http://svnweb.freebsd.org/changeset/base/251765
 
 Log:
   Simplify the hierarchy target's logic. [0]
   
   Run hierarchy with WORLDTMP in the path so it works when it is invoked
   directly.  Such use is nearly alwasy wrong but appears to be common.[1]
   
   PR:		conf/178209 [0], conf/178547 [1]
   Submitted by:	Garrett Cooper <yaneurabeya@gmail.com> [0]
   MFC after:	5 days
 
 Modified:
   head/Makefile.inc1
 
 Modified: head/Makefile.inc1
 ==============================================================================
 --- head/Makefile.inc1	Fri Jun 14 22:06:45 2013	(r251764)
 +++ head/Makefile.inc1	Fri Jun 14 22:32:47 2013	(r251765)
 @@ -263,6 +263,13 @@ WMAKEENV=	${CROSSENV} \
  		VERSION="${VERSION}" \
  		INSTALL="sh ${.CURDIR}/tools/install.sh" \
  		PATH=${TMPPATH}
 +
 +# make hierarchy
 +HMAKE=		PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE}
 +.if defined(NO_ROOT)
 +HMAKE+=		PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT
 +.endif
 +
  .if ${MK_CDDL} == "no"
  WMAKEENV+=	NO_CTF=1
  .endif
 @@ -1367,12 +1374,7 @@ cross-tools:
  # hierarchy - ensure that all the needed directories are present
  #
  hierarchy hier:
 -.if defined(NO_ROOT)
 -	cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} \
 -	    -DNO_ROOT METALOG=${METALOG} distrib-dirs
 -.else
 -	cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} distrib-dirs
 -.endif
 +	cd ${.CURDIR}/etc && ${HMAKE} distrib-dirs
  
  #
  # libraries - build all libraries, and install them under ${DESTDIR}.
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: conf/178209: commit references a PR
Date: Wed, 10 Jul 2013 18:27:33 +0000 (UTC)

 Author: brooks
 Date: Wed Jul 10 18:27:14 2013
 New Revision: 253164
 URL: http://svnweb.freebsd.org/changeset/base/253164
 
 Log:
   MFC r251765:
   
   Simplify the hierarchy target's logic.[0]
   
   Run hierarchy with WORLDTMP in the path so it works when it is invoked
   directly.  Such use is nearly alwasy wrong but appears to be common.[1]
   
   PR:		conf/178209 [0], conf/178547 [1]
   Submitted by:	Garrett Cooper <yaneurabeya@gmail.com> [0]
 
 Modified:
   stable/9/Makefile.inc1   (contents, props changed)
 
 Modified: stable/9/Makefile.inc1
 ==============================================================================
 --- stable/9/Makefile.inc1	Wed Jul 10 18:19:48 2013	(r253163)
 +++ stable/9/Makefile.inc1	Wed Jul 10 18:27:14 2013	(r253164)
 @@ -268,6 +268,13 @@ WMAKEENV=	${CROSSENV} \
  		VERSION="${VERSION}" \
  		INSTALL="sh ${.CURDIR}/tools/install.sh" \
  		PATH=${TMPPATH}
 +
 +# make hierarchy
 +HMAKE=		PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE}
 +.if defined(NO_ROOT)
 +HMAKE+=		PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT
 +.endif
 +
  .if ${MK_CDDL} == "no"
  WMAKEENV+=	NO_CTF=1
  .endif
 @@ -1288,12 +1295,7 @@ cross-tools:
  # hierarchy - ensure that all the needed directories are present
  #
  hierarchy hier:
 -.if defined(NO_ROOT)
 -	cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} \
 -	    -DNO_ROOT METALOG=${METALOG} distrib-dirs
 -.else
 -	cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} distrib-dirs
 -.endif
 +	cd ${.CURDIR}/etc && ${HMAKE} distrib-dirs
  
  #
  # libraries - build all libraries, and install them under ${DESTDIR}.
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: brooks 
State-Changed-When: Wed Jul 10 19:11:05 UTC 2013 
State-Changed-Why:  
Merged to 9-STABLE. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178209 
>Unformatted:
