summaryrefslogtreecommitdiff
path: root/Tools/portbuild/scripts/setupnode
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2002-03-25 00:20:34 +0000
committerKris Kennaway <kris@FreeBSD.org>2002-03-25 00:20:34 +0000
commit1b934126cef0e082cdbbc4d4b825d91287cd17b0 (patch)
treedd17ac442028a8d81af1f9aebdbcc69c4ff4842e /Tools/portbuild/scripts/setupnode
parentDetect a couple more failure modes (diff)
* Clean up this script a bit
* Require an additional <tmpdir> argument so the client knows where its temp directory is. * Mount the portbuild directory readonly via NFS, and copy files that way instead of via scp, which has too much overhead
Notes
Notes: svn path=/head/; revision=56567
Diffstat (limited to 'Tools/portbuild/scripts/setupnode')
-rwxr-xr-xTools/portbuild/scripts/setupnode46
1 files changed, 27 insertions, 19 deletions
diff --git a/Tools/portbuild/scripts/setupnode b/Tools/portbuild/scripts/setupnode
index a9ec030ca28c..8ba95758c39b 100755
--- a/Tools/portbuild/scripts/setupnode
+++ b/Tools/portbuild/scripts/setupnode
@@ -10,42 +10,50 @@ if [ "x$1" = "x-nocopy" ]; then
nocopy=1
shift
fi
-if [ $# != 4 ]; then
- echo "usage: $0 [-nocopy] master portbuilddir branch md5"
+
+if [ $# != 5 ]; then
+ echo "usage: $0 [-nocopy] master portbuilddir branch tmpdir md5"
exit 1
fi
-if [ $(echo $(/sbin/mount | grep "$2/.*read-only" | awk '{print $3}' | wc -c)) != 0 ]; then
- /sbin/umount -f $(/sbin/mount | grep "$2/.*read-only" | awk '{print $3}')
+
+master=$1
+pb=$2
+branch=$3
+tmpdir=$4
+md5master=$5
+
+if [ $(echo $(/sbin/mount | grep "${pb}/.*read-only" | awk '{print $3}' | wc -c)) != 0 ]; then
+ /sbin/umount -f $(/sbin/mount | grep "${pb}/.*read-only" | awk '{print $3}')
fi
-#cd $2
+#cd ${pb}
#fs=$(df . | sed -e '1d' | awk '{print $6}')
#mount -u -w $fs
-if ! rm -rf $2/*/chroot/* >/dev/null 2>&1; then
- chflags -R noschg $2/*/chroot/*
- rm -rf $2/*/chroot/*
-fi
-
-killall make fetch >/dev/null 2>&1
+cd ${tmpdir}
-mkdir -p $2/scripts $2/$3/tarballs $2/$3/chroot
+mkdir -p ${tmpdir}/${branch}/chroot
-scp -p $1:$2/scripts/portbuild $2/scripts
-scp -p $1:$2/portbuild.conf $2
+# Clean up the tmpdir
+# XXX Should try and unmount old nfs filesystems first
+if ! rm -rf ${tmpdir}/${branch}/chroot/* >/dev/null 2>&1; then
+ chflags -R noschg ${tmpdir}/${branch}/chroot/*
+ rm -rf ${tmpdir}/${branch}/chroot/*
+fi
-scp -p $1:$2/$3/UNAME_TARGET $2/$3/tarballs/
+killall make fetch >/dev/null 2>&1
+mkdir -p ${tmpdir}/${branch}/tarballs
if [ "$nocopy" = 0 ]; then
- if [ -f $2/$3/tarballs/bindist.tar ]; then
- md5=$(/sbin/md5 $2/$3/tarballs/bindist.tar | awk '{print $4}')
+ if [ -f ${tmpdir}/${branch}/tarballs/bindist.tar ]; then
+ md5=$(/sbin/md5 ${tmpdir}/${branch}/tarballs/bindist.tar | awk '{print $4}')
fi
- if [ "$md5" = "$4" ]; then
+ if [ "${md5}" = "${md5master}" ]; then
echo "not copying bindist to $(hostname -s) since it is already up to date"
else
echo "copying bindist to $(hostname -s)"
- scp -p $1:$2/$3/tarballs/bindist.tar $2/$3/tarballs
+ cp -p ${pb}/${branch}/tarballs/bindist.tar ${tmpdir}/${branch}/tarballs
fi
fi