import string
import time
import os
-import StringIO
import sys
+if sys.version_info[0] == 2:
+ import StringIO
+else:
+ from io import StringIO
import re
import shutil
import atexit
import status
import build
import report
+#import messagebus
from lock import lock
from bqueue import B_Queue
def pick_request(q):
def mycmp(r1, r2):
if r1.kind != 'group' or r2.kind != 'group':
- raise Exception, "non-group requests"
+ raise Exception("non-group requests")
pri_diff = cmp(r1.priority, r2.priority)
if pri_diff == 0:
return cmp(r1.time, r2.time)
else:
return pri_diff
- q.requests.sort(mycmp)
+ q.requests.sort(key=util.cmp_to_key(mycmp))
ret = q.requests[0]
q.requests = q.requests[1:]
return ret
return
r.batches = new_b
# store new queue and max_req_no for binary builders
- num = int(string.strip(open(path.max_req_no_file, "r").read())) + 1
+ num = int(open(path.max_req_no_file, "r").read().strip()) + 1
r.no = num
q = B_Queue(path.req_queue_file)
cnt_f.flush()
os.fsync(cnt_f.fileno())
cnt_f.close()
- os.chmod(tmpfname, 0644)
+ os.chmod(tmpfname, 0o0644)
os.rename(tmpfname, path.max_req_no_file)
def transfer_file(r, b):
f = b.src_rpm_file
# export files from chroot
chroot.cp(f, outfile = local, rm = True)
- os.chmod(local, 0644)
+ os.chmod(local, 0o0644)
ftp.add(local)
if config.gen_upinfo and 'test-build' not in r.flags:
return "FAIL"
status.push("building %s" % b.spec)
+# messagebus.notify(topic="build_srpm.start", spec=b.spec, flags=r.flags, batch=b, request=r)
b.src_rpm = ""
builder_opts = "-nu -nm --nodeps --http --define \'_tld_builder 1\'"
util.append_to(b.logfile, "error: No files produced.")
res = "FAIL"
if res == 0 and not "test-build" in r.flags:
- for pref in config.tag_prefixes:
- util.append_to(b.logfile, "Tagging with prefix: %s" % pref)
- res = chroot.run("cd rpm/packages; ./builder -bs %s -r %s -Tp %s -Tv --pkgrev %s %s" % \
- (b.bconds_string(), b.branch, pref, b.defines_string(), b.spec), logfile = b.logfile)
+ util.append_to(b.logfile, "Writing package revision")
+ res = chroot.run("cd rpm/packages; ./builder -bs %s -r %s --pkgrev %s %s" % \
+ (b.bconds_string(), b.branch, b.defines_string(), b.spec), logfile = b.logfile)
if res == 0:
transfer_file(r, b)
if res:
res = "FAIL"
+
+# messagebus.notify(topic="build_srpm.finish", spec=b.spec)
return res
def handle_request(r):
os.mkdir(path.srpms_dir + '/' + r.id)
- os.chmod(path.srpms_dir + '/' + r.id, 0755)
+ os.chmod(path.srpms_dir + '/' + r.id, 0o0755)
ftp.init(r)
buildlogs.init(r)
build.build_all(r, build_srpm)