Date: Wed, 3 Aug 2011 03:52:15 +0000 (UTC) From: Mark Linimon <linimon@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r224621 - projects/portbuild/scripts Message-ID: <201108030352.p733qFVm084795@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 <arch>/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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108030352.p733qFVm084795>