forked from Lainports/freebsd-ports
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)
47 lines
1.6 KiB
Bash
Executable file
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}
|