freebsd-ports/Tools/portbuild/scripts/dosetupnode
Kris Kennaway 148e0d36af Break out the setupnode function of dopackages into a separate script so
that it may be called by hand.

Support new portbuild.conf variables

    client_user = user to connect to on the client (not necessarily
                  root).  This user must have write permission to the
                  /var/portbuild tree if disconnected=1 (i.e. we're
                  going to run rsync).
    rsync_gzip  = set to "-z" to enable compression on low-bandwidth
                  disconnected clients.

Approved by:    portmgr (self)
2004-09-26 22:09:09 +00:00

47 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
# configurable variables
pb=/var/portbuild
arch=$1
branch=$2
mach=$3
shift
. ${pb}/${arch}/portbuild.conf
. ${pb}/scripts/buildenv
# usage: setupnode pb arch scripts branch me node md5 tmpdir
setupnode () {
pb=$1
arch=$2
scripts=$3
branch=$4
me=$5
node=$6
md5=$7
tmpdir=$8
echo "setting up of $node started at $(date)"
# Read in client config and decide if the node is disconnected or not (i.e. mounts via NFS)
disconnected=0
. ${pb}/${arch}/portbuild.${node}
scp -p ${scripts}/setupnode ${client_user}@${node}:/tmp
ssh -n ${client_user}@${node} sh /tmp/setupnode ${me} ${pb} ${arch} ${branch} ${tmpdir} ${md5} ${disconnected}
if [ "${disconnected}" = 1 ]; then
rsync ${rsync_gzip} -r -l -p --delete ${pb}/scripts ${client_user}@${node}:${pb}/
rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/portbuild* ${client_user}@${node}:${pb}/${arch}
rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/${branch}/ports ${client_user}@${node}:${pb}/${arch}/${branch}
rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/${branch}/src ${client_user}@${node}:${pb}/${arch}/${branch}
rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/${branch}/doc ${client_user}@${node}:${pb}/${arch}/${branch}
rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/${branch}/tarballs/bindist* ${client_user}@${node}:${pb}/${arch}/${branch}/tarballs
fi
echo "setting up of $node ended at $(date)"
}
md5=$(/sbin/md5 ${pb}/${arch}/${branch}/tarballs/bindist.tar | awk '{print $4}')
setupnode ${pb} ${arch} ${pb}/scripts ${branch} $(hostname) ${mach} ${md5} ${scratchdir}