From owner-p4-projects@FreeBSD.ORG Tue Jul 24 07:26:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 649E916A468; Tue, 24 Jul 2007 07:26:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3064C16A41F for ; Tue, 24 Jul 2007 07:26:51 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1B4A613C474 for ; Tue, 24 Jul 2007 07:26:51 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6O7QoiG093963 for ; Tue, 24 Jul 2007 07:26:51 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6O7QoeH093960 for perforce@freebsd.org; Tue, 24 Jul 2007 07:26:50 GMT (envelope-from gabor@freebsd.org) Date: Tue, 24 Jul 2007 07:26:50 GMT Message-Id: <200707240726.l6O7QoeH093960@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 123994 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 07:26:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=123994 Change 123994 by gabor@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"; \