svn commit: r256634 - projects/bmake/etc

Simon J. Gerraty sjg at FreeBSD.org
Wed Oct 16 16:03:02 UTC 2013


Author: sjg
Date: Wed Oct 16 16:03:01 2013
New Revision: 256634
URL: http://svnweb.freebsd.org/changeset/base/256634

Log:
  We use distrib-dirs to populate stage tree.
  But that depends on up-to-date passwd and group files in /etc.
  If MK_INSTALL_AS_USER==yes and we are not root, filter the mtree input
  to avoid problems with [gu]name and [gu]id settings.

Modified:
  projects/bmake/etc/Makefile

Modified: projects/bmake/etc/Makefile
==============================================================================
--- projects/bmake/etc/Makefile	Wed Oct 16 15:59:29 2013	(r256633)
+++ projects/bmake/etc/Makefile	Wed Oct 16 16:03:01 2013	(r256634)
@@ -307,6 +307,15 @@ distribution:
 
 MTREE_CMD?=	mtree
 
+.if ${MK_INSTALL_AS_USER} != "no" && ${_uid} != 0
+MTREE_FILTER= sed -e 's,(uname=)[^ ]* ,\1${BINOWN},' \
+	-e 's,(gname=)[^ ]* ,\1${BINGRP},' \
+	-e 's,(uid=)[^ ]* ,\1${_uid},' \
+	-e 's,(gid=)[^ ]* ,\1${_gid},' 
+.else
+MTREE_FILTER= cat
+.endif
+
 MTREES=		mtree/BSD.root.dist		/		\
 		mtree/BSD.var.dist		/var		\
 		mtree/BSD.usr.dist		/usr		\
@@ -333,7 +342,8 @@ distrib-dirs: ${MTREES:N/*}
 		shift; \
 		${ECHO} ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} \
 		    -f $$m -p $$d; \
-		${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f $$m -p $$d; \
+		${MTREE_FILTER} $$m | \
+		${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -p $$d; \
 	done; true
 .if defined(NO_ROOT)
 	@set ${MTREES}; \
@@ -346,7 +356,8 @@ distrib-dirs: ${MTREES:N/*}
 		shift; \
 		${ECHO} "${MTREE_CMD:N-W} -C -f $$m -K uname,gname | " \
 		    "sed s#^\.#.$$d# | ${METALOG.add}" ; \
-		${MTREE_CMD:N-W} -C -f $$m -K uname,gname | sed s#^\.#.$$d# | \
+		${MTREE_FILTER} $$m | \
+		${MTREE_CMD:N-W} -C -K uname,gname | sed s#^\.#.$$d# | \
 		    ${METALOG.add} ; \
 	done; true
 .endif


More information about the svn-src-projects mailing list