diff options
author | linimon <linimon@FreeBSD.org> | 2010-06-26 07:21:46 +0800 |
---|---|---|
committer | linimon <linimon@FreeBSD.org> | 2010-06-26 07:21:46 +0800 |
commit | 6157b93ef2544cd3b45dac89f823a407c3cdf2a1 (patch) | |
tree | 47850519d9ab44487f1cc9660e829d774c062700 /Tools | |
parent | b2263784885897a5970c9d9601c6218fc4c4b4fd (diff) | |
download | freebsd-ports-gnome-6157b93ef2544cd3b45dac89f823a407c3cdf2a1.tar.gz freebsd-ports-gnome-6157b93ef2544cd3b45dac89f823a407c3cdf2a1.tar.zst freebsd-ports-gnome-6157b93ef2544cd3b45dac89f823a407c3cdf2a1.zip |
Generalize the packge building scripts to be able to be run on more than
one 'head' node, rather than just pointyhat itself.
Constants are factored out into installation-specific files known as
portbuild/conf/server.conf and portbuild/conf/client.conf. There is
only one server.conf file. Individual <arch> directories may have
their own client.conf files, or may symlink to ../conf/client.conf.
Add the copying over of client.conf to the clients, and take care
to force the file copy regardless of whether it is a symlink.
Feature safe: yes
Diffstat (limited to 'Tools')
-rwxr-xr-x | Tools/portbuild/scripts/dosetupnode | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Tools/portbuild/scripts/dosetupnode b/Tools/portbuild/scripts/dosetupnode index 243ce2ae3664..e5b531da42b0 100755 --- a/Tools/portbuild/scripts/dosetupnode +++ b/Tools/portbuild/scripts/dosetupnode @@ -1,5 +1,8 @@ #!/bin/sh -# +# $FreeBSD$ + +# server-side script to set up an individual client + # XXX Use a worker pool that only runs N setups at once to avoid # raping the server. Hard to do in shell? @@ -19,6 +22,7 @@ buildid=$3 nodelist=$4 shift 4 +. ${pb}/conf/server.conf if [ -f ${pb}/${arch}/portbuild.conf ]; then . ${pb}/${arch}/portbuild.conf else @@ -67,6 +71,11 @@ setup() { ${client_user}@${node}:${pb}/ checkerror $? || (echo "Copying scripts to ${node} failed"; return 1) + # client.conf can be a symlink; copy the actual file + rsync ${rsync_gzip} -e "${ssh_cmd}" -r -L -p --delete ${pb}/${arch}/client.conf \ + ${client_user}@${node}:${pb}/${arch} + checkerror $? || (echo "copying client.conf to ${node} failed"; return 1) + rsync ${rsync_gzip} -e "${ssh_cmd}" -r -l -p --delete ${pb}/${arch}/portbuild* \ ${client_user}@${node}:${pb}/${arch} checkerror $? || (echo "copying portbuild.conf files to ${node} failed"; return 1) |