PERFORCE change 123994 for review

Gabor Kovesdan gabor at FreeBSD.org
Tue Jul 24 07:26:51 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=123994

Change 123994 by gabor at gabor_server on 2007/07/24 07:26:44

	- Add back experimental mounting code

Affected files ...

.. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#22 edit

Differences ...

==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#22 (text+ko) ====

@@ -69,8 +69,31 @@
 
 .if defined(WITH_EXPERIMENTAL_DESTDIR)
 do-chroot:
-	${ECHO_CMD} "===>  Nullmounting ports tree into ${DESTDIR}..."; \
-	${MOUNT_NULLFS} ${PORTSDIR} ${DESTDIR}${PORTSDIR_TMP_REL}; \
+	@for _entry in ${DESTDIR_MOUNT_LIST}; do \
+		_var=   `${ECHO_CMD} $${_entry} | ${SED} -e 's/:.*//'`; \
+		_path1= `${ECHO_CMD} $${_entry} | ${SED} -e 's/[^:]*://'`; \
+		_path2= `${ECHO_CMD} $${_path1} | ${SED} -e 's/.*://'`; \
+		echo "$${_var} $${_path1} $${_path2}"; \
+		if [ $${_path1} = $${_path2} ]; then \
+			_tmpdir=	`${MKTEMP} -d ${DESTDIR}/tmp/tmpdir.XXXXXX`; \
+			_tmpdir_rel=	`${ECHO_CMD} $${_tmpdir} | ${SED} -e 's|^${DESTDIR}||'`; \
+			if [ $${_var} = PORTSDIR ]; then \
+				_builddir=	`${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'`; \
+			fi; \
+			_tmp=	"$${_destdir_env}"; \
+			_destdir_env=	"$${_tmp} $${_var}=$${_tmpdir_rel}"; \
+			echo "$${_destdir_env}"; \
+			${MOUNT_NULLFS} $${_path1} ${DESTDIR}${_tmpdir_rel}; \
+		else \
+			if [ $${_var} = PORTSDIR ]; then \
+				_builddir=      `${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'`; \
+		fi; \
+			_tmp=	"$${_destdir_env}"; \
+			_destdir_env=	"$${_tmp} $${_var}=$${_path2}"; \
+			${MOUNT_NULLFS} $${_path1} ${DESTDIR}/$${_path2}; \
+		fi; \
+	done; \
+	echo "$${_destdir_env}"; \
 	found=0; \
 	for _entry in `${MOUNT} | ${GREP} devfs | ${AWK} {'print $$3'}`; do \
 		if [ `${REALPATH} $${_entry}` = `${REALPATH} ${DESTDIR}/dev` ]; then \
@@ -82,9 +105,7 @@
 		${MOUNT_DEVFS} ${DESTDIR}/dev; \
 	fi; \
 	${ECHO_CMD} "===>  Starting chrooted make in ${DESTDIR}..."; \
-	${CHROOT} ${DESTDIR} ${SH} -c "(cd ${BUILDDIR}; ${SETENV} -i ${DESTDIR_ENV} ${MAKE} ${.TARGETS})"; \
-	${UMOUNT} ${DESTDIR}${PORTSDIR_TMP_REL}; \
-	${RMDIR} ${DESTDIR}${PORTSDIR_TMP_REL}
+	${CHROOT} ${DESTDIR} ${SH} -c "(cd $${_builddir}; ${SETENV} -i ${DESTDIR_ENV} $${_destdir_env} ${MAKE} ${.TARGETS})"
 .else
 do-chroot:
 	@${ECHO_CMD}	"===>  DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \


More information about the p4-projects mailing list