diff options
author | kris <kris@FreeBSD.org> | 2002-03-25 08:20:34 +0800 |
---|---|---|
committer | kris <kris@FreeBSD.org> | 2002-03-25 08:20:34 +0800 |
commit | 1d857036998a6c31dc3fe7d0767d81e503510b38 (patch) | |
tree | 295356fa369591445f2c1cafd870c33f7e8aee4f /Tools/portbuild | |
parent | 2371afec0b6641a4b126f1f9d6f7575aa4f4c2bb (diff) | |
download | freebsd-ports-gnome-1d857036998a6c31dc3fe7d0767d81e503510b38.tar.gz freebsd-ports-gnome-1d857036998a6c31dc3fe7d0767d81e503510b38.tar.zst freebsd-ports-gnome-1d857036998a6c31dc3fe7d0767d81e503510b38.zip |
* 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
Diffstat (limited to 'Tools/portbuild')
-rwxr-xr-x | Tools/portbuild/scripts/setupnode | 46 |
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 |