From owner-p4-projects@FreeBSD.ORG Tue Jun 26 07:04:28 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 737FE16A421; Tue, 26 Jun 2007 07:04:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3544316A400 for ; Tue, 26 Jun 2007 07:04:28 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 252B513C43E for ; Tue, 26 Jun 2007 07:04:28 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5Q74Sr5093242 for ; Tue, 26 Jun 2007 07:04:28 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5Q74RBK093239 for perforce@freebsd.org; Tue, 26 Jun 2007 07:04:27 GMT (envelope-from gabor@freebsd.org) Date: Tue, 26 Jun 2007 07:04:27 GMT Message-Id: <200706260704.l5Q74RBK093239@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 122325 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, 26 Jun 2007 07:04:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=122325 Change 122325 by gabor@gabor_server on 2007/06/26 07:03:29 Use safe mounting of PORTSDIR with mktemp(1). We need to this to avoid odd cases, where the destination environment already has a different version of ports tree somehow. Thus it is not enough to check the existence of the ports tree. E.g. if we want to install foobar-1.0, we don't want to have foobar-0.9 in the destination due to an outdated leftover ports tree. Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#3 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#3 (text+ko) ==== @@ -19,7 +19,7 @@ DESTDIR_ENV_LIST?= -DESTDIR_ENV= DESTDIR= CHROOTED=YES +DESTDIR_ENV= DESTDIR= CHROOTED=YES PORTSDIR=${PORTSDIR_TMP_REL} .for _var in ${DESTDIR_ENV_LIST} DESTDIR_ENV+= ${_var}="${${_var}}" @@ -36,24 +36,21 @@ .endif .if !target(do-chroot) + +PORTSDIR_TMP!= ${MKTEMP} -d ${DESTDIR}/tmp/portsdir.XXXXXX +PORTSDIR_TMP_REL= ${PORTSDIR_TMP:S,^${DESTDIR},,} +BUILDDIR= ${.CURDIR:S,^${PORTSDIR},,:S,^,${PORTSDIR_TMP_REL},} + do-chroot: - ${MKDIR} ${DESTDIR}${PORTSDIR} -# found=0; \ -# for i in `${MOUNT} | ${AWK} {'print $$3'}` ; do \ -# if [ `${REALPATH} ${DESTDIR}${PORTSDIR}` == `${REALPATH} $${i}` ]; then \ -# found=1; \ -# fi ; \ -# done ; \ -# if [ $${found} != 1 ]; then \ -# ${ECHO_CMD} "===> Nullmounting ${PORTSDIR} into ${DESTDIR}..."; \ -# ${MOUNT} -t nullfs ${PORTSDIR} ${DESTDIR}${PORTSDIR}; \ -# fi + ${ECHO_CMD} "===> Nullmounting ports tree into ${DESTDIR}..."; \ + ${MOUNT} -t nullfs ${PORTSDIR} ${DESTDIR}${PORTSDIR_TMP_REL} .if !exists (${DESTDIR}/dev/null) ${ECHO_CMD} "===> Mounting devfs into ${DESTDIR}..."; \ ${MOUNT} -t devfs devfs ${DESTDIR}/dev .endif ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ - ${CHROOT} ${DESTDIR} ${SH} -c "(cd ${.CURDIR}; ${MAKE} ${DESTDIR_ENV} ${.TARGETS})" + ${CHROOT} ${DESTDIR} ${SH} -c "(cd ${BUILDDIR}; ${MAKE} ${DESTDIR_ENV} ${.TARGETS})"; \ + ${UMOUNT} ${DESTDIR}${PORTSDIR_TMP_REL} .endif .if !target(post-chroot)