svn commit: r246738 - projects/portbuild/scripts
Mark Linimon
linimon at FreeBSD.org
Wed Feb 13 03:20:34 UTC 2013
Author: linimon (doc,ports committer)
Date: Wed Feb 13 03:20:33 2013
New Revision: 246738
URL: http://svnweb.freebsd.org/changeset/base/246738
Log:
Teach this to figure out the supported arches by itself, rather than
having to hard-code them into the rc.d script invocation.
Modified:
projects/portbuild/scripts/pollmachine
Modified: projects/portbuild/scripts/pollmachine
==============================================================================
--- projects/portbuild/scripts/pollmachine Wed Feb 13 03:16:33 2013 (r246737)
+++ projects/portbuild/scripts/pollmachine Wed Feb 13 03:20:33 2013 (r246738)
@@ -24,7 +24,7 @@
# - ACL list might change!
# - take machine offline, update ACL/arch/etc, reboot, bring online
-import sys, threading, socket
+import sys, threading, socket, string
from time import sleep
import os, subprocess, logging
@@ -42,14 +42,13 @@ sys.path.insert(0, '%s/lib/python' % pbc
from freebsd import *
from freebsd_config import *
-CONFIG_SUBDIR="conf"
-CONFIG_FILENAME="server.conf"
+CONFIG_SUBDIR="admin/conf"
+CONFIG_FILENAME="admin.conf"
-if len(sys.argv) < 1:
- print "Usage: %s <arch> [<arch> ...]" % sys.argv[0]
- sys.exit(1)
+config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
+SUPPORTED_ARCHS = config.get( 'SUPPORTED_ARCHS' )
+arches = string.split( SUPPORTED_ARCHS )
-arches=set()
mlist={}
polldelay=0
for i in sys.argv[1:]:
@@ -57,21 +56,8 @@ for i in sys.argv[1:]:
polldelay = 180
continue
- if "/" in i:
- item=i.partition("/")
- arch=item[0]
- mach=item[2]
- arches.add(arch)
- try:
- mlist[arch].add(mach)
- except KeyError:
- mlist[arch] = set((mach,))
- else:
- arches.add(i)
-
# set of machines for each arch
machines={}
-# XXX MCL would be nice to remove this hardwiring
for i in arches:
machines[i]=set()
@@ -281,20 +267,14 @@ class MachinePoll(threading.Thread):
logging.info("%s finished polling for %s" % ( str(self), self.mach ))
def setup(self, branch, buildid, args = ""):
- uid = PORTBUILD_USER
- if not uid:
- uid = "ports-" + self.arch
- cmd = "su %s -c \"%s/scripts/dosetupnode %s %s %s %s %s\""\
- % (uid, pbc, self.arch, branch, buildid, self.mach, args)
+ cmd = "%s/scripts/dosetupnode %s %s %s %s %s"\
+ % (pbc, self.arch, branch, buildid, self.mach, args)
child = subprocess.Popen(cmd, shell=True, stderr = subprocess.STDOUT,
stdout = subprocess.PIPE)
err = child.wait()
out = "".join(child.stdout.readlines())
return (err, out)
-config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
-PORTBUILD_USER = config.get( 'PORTBUILD_USER' )
-
logging.basicConfig(level=logging.INFO,
format='[%(asctime)s] %(message)s',
datefmt='%d %b %Y %H:%M:%S',
More information about the svn-src-projects
mailing list