| def runcmd(cmd, outfile=None, append=False, infile=None): |
def runcmd(cmd, outfile=None, append=False, infile=None): |
| log("running " + cmd) |
log("running " + cmd) |
| |
|
| (pin, pouterr) = os.popen4(cmd) |
p4obj = Popen4(cmd) |
| |
|
| |
pin = p4obj.tochild |
| |
pouterr = p4obj.fromchild |
| |
|
| if infile != None: |
if infile != None: |
| inobj = open(infile, "r") |
inobj = open(infile, "r") |
| |
|
| if outfile != None: |
if outfile != None: |
| if append: |
if append: |
| print "Alert: appending" |
|
| mode = "a" |
mode = "a" |
| else: |
else: |
| mode = "w" |
mode = "w" |
| linkpipes(pouterr,outobj) |
linkpipes(pouterr,outobj) |
| outobj.close() |
outobj.close() |
| |
|
| err = pouterr.close() |
err = p4obj.wait() |
| |
|
| if err == None: |
if err == None: |
| err = 0 |
err = 0 |
| # sets up 'mastertrees' and 'builds' dicts |
# sets up 'mastertrees' and 'builds' dicts |
| gkb_parsexml('gkb.xml') |
gkb_parsexml('gkb.xml') |
| |
|
| |
runcmd("sleep 10") |
| |
|
| for bdict in builds.values(): |
for bdict in builds.values(): |
| myworkdir="%s/%s" % (workdir,bdict["mastertree"]) |
myworkdir="%s/%s" % (workdir,bdict["mastertree"]) |
| bdict["workdir"]=myworkdir |
bdict["workdir"]=myworkdir |