Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Oct 2013 16:03:01 +0000 (UTC)
From:      "Simon J. Gerraty" <sjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r256634 - projects/bmake/etc
Message-ID:  <201310161603.r9GG319m015622@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310161603.r9GG319m015622>