From owner-svn-src-projects@FreeBSD.ORG Wed Aug 3 03:52:16 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 207F1106564A; Wed, 3 Aug 2011 03:52:16 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 069CC8FC17; Wed, 3 Aug 2011 03:52:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p733qFQP084797; Wed, 3 Aug 2011 03:52:15 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p733qFVm084795; Wed, 3 Aug 2011 03:52:15 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201108030352.p733qFVm084795@svn.freebsd.org> From: Mark Linimon Date: Wed, 3 Aug 2011 03:52:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224621 - projects/portbuild/scripts X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2011 03:52:16 -0000 Author: linimon (doc,ports committer) Date: Wed Aug 3 03:52:15 2011 New Revision: 224621 URL: http://svn.freebsd.org/changeset/base/224621 Log: No need to compile pnohang for every port build; cache it. While here, try to add some more debugging. (The problem that was triggering the mount-fails was 'path too long' for certain build names; I cannot figure out why this is triggered. From a cursory reading of the mount(8) command, it should not.) Modified: projects/portbuild/scripts/portbuild Modified: projects/portbuild/scripts/portbuild ============================================================================== --- projects/portbuild/scripts/portbuild Wed Aug 3 02:02:23 2011 (r224620) +++ projects/portbuild/scripts/portbuild Wed Aug 3 03:52:15 2011 (r224621) @@ -21,6 +21,8 @@ mount_fs() else mount_nfs -o ro -3 -i ${master}:${fs} ${mntpt} fi + + return $? } copypkg() @@ -223,6 +225,7 @@ mkdir -p ${chroot}/${WRKDIRPREFIX} # pick up value from /portbuild.conf if [ ! -z "${ccache_dir}" ]; then mkdir -p ${chroot}/root/.ccache/ + # XXX MCL return value not checked if [ "${ccache_dir_nfs}" = "1" ]; then mount_nfs -o rw -T -3 ${ccache_dir} ${chroot}/root/.ccache/ else @@ -230,12 +233,12 @@ if [ ! -z "${ccache_dir}" ]; then fi fi -mount_fs ${builddir}/ports ${chroot}/a/ports ${CLIENT_NFS_MASTER} +mount_fs ${builddir}/ports ${chroot}/a/ports ${CLIENT_NFS_MASTER} || bailout ${chroot} ${clean} 255 ${pkgname} ln -sf ../a/ports ${chroot}/usr/ports -mkdir -p ${chroot}/usr/src +mkdir -p ${chroot}/usr/src || bailout ${chroot} ${clean} 255 ${pkgname} -mount_fs ${builddir}/src ${chroot}${CLIENT_SRCBASE} ${CLIENT_NFS_MASTER} +mount_fs ${builddir}/src ${chroot}${CLIENT_SRCBASE} ${CLIENT_NFS_MASTER} || bailout ${chroot} ${clean} 255 ${pkgname} # set overrides for uname buildenv.client ${chroot}${CLIENT_SRCBASE} @@ -266,8 +269,8 @@ mtree -deU -f ${chroot}/a/ports/Template for i in ${ARCHS_REQUIRING_LINPROCFS}; do if [ ${i} = ${arch} ]; then # JDK ports need linprocfs :( - mkdir -p ${chroot}/compat/linux/proc - mount -t linprocfs linprocfs ${chroot}/compat/linux/proc + mkdir -p ${chroot}/compat/linux/proc || bailout ${chroot} ${clean} 255 ${pkgname} + mount -t linprocfs linprocfs ${chroot}/compat/linux/proc || bailout ${chroot} ${clean} 255 ${pkgname} break fi done @@ -306,12 +309,19 @@ while [ $# -gt 0 ]; do done cp -p /tmp/${buildid}/scripts/buildscript ${chroot} -cp -p /tmp/${buildid}/sources/pnohang.c ${chroot} -# phase 0, compile pnohang -chroot ${chroot} /usr/bin/gcc -o /pnohang -Wall /pnohang.c 2>&1 | tee -a ${chroot}/tmp/${pkgname}.log -if [ $? -ne 0 ]; then - error=255 +# phase 0, compile pnohang if necessary +if [ ! -f /tmp/${buildid}/sources/pnohang ]; then + cp -p /tmp/${buildid}/sources/pnohang.c ${chroot} + chroot ${chroot} /usr/bin/gcc -o /pnohang -Wall /pnohang.c 2>&1 | tee -a ${chroot}/tmp/${pkgname}.log + if [ $? -ne 0 ]; then + error=255 + else + chown ports-${arch} ${chroot}/pnohang + cp -p ${chroot}/pnohang /tmp/${buildid}/sources/ + fi +else + cp -p /tmp/${buildid}/sources/pnohang ${chroot} fi if [ "${error}" = 0 ]; then