aboutsummaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorlinimon <linimon@FreeBSD.org>2010-06-26 07:21:46 +0800
committerlinimon <linimon@FreeBSD.org>2010-06-26 07:21:46 +0800
commit6157b93ef2544cd3b45dac89f823a407c3cdf2a1 (patch)
tree47850519d9ab44487f1cc9660e829d774c062700 /Tools
parentb2263784885897a5970c9d9601c6218fc4c4b4fd (diff)
downloadfreebsd-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-xTools/portbuild/scripts/dosetupnode11
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)