X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=TLD_Builder%2Frpm_builder.py;h=4c4bf1f7271cf363cdc07618022f9aecd61ecb5b;hb=b7bf1e2b6deab33a0a91bbeb14f3dddf701707ba;hp=12cc265ca49fd24c70796cbaf10db6fa7a1bf948;hpb=b999f53d4bf5d44586ecf028876e8bc20b5fd2ce;p=tld-builder.git diff --git a/TLD_Builder/rpm_builder.py b/TLD_Builder/rpm_builder.py index 12cc265..4c4bf1f 100644 --- a/TLD_Builder/rpm_builder.py +++ b/TLD_Builder/rpm_builder.py @@ -1,5 +1,7 @@ # vi: encoding=utf-8 ts=8 sts=4 sw=4 et +from __future__ import print_function + import sys import os import atexit @@ -43,7 +45,7 @@ socket.socket=mysocket 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) @@ -63,9 +65,9 @@ def check_skip_build(r, b): req = urllib2.Request(url=src_url, headers=headers) f = urllib2.urlopen(req) good = True - except urllib2.HTTPError, error: + except urllib2.HTTPError as error: return False - except urllib2.URLError, error: + except urllib2.URLError as error: # see errno.h try: errno = error.errno @@ -93,19 +95,19 @@ def fetch_src(r, b): req = urllib2.Request(url=src_url, headers=headers) f = urllib2.urlopen(req) good = True - except urllib2.HTTPError, error: + except urllib2.HTTPError as error: # fail in a way where cron job will retry msg = "unable to fetch url %s, http code: %d" % (src_url, error.code) b.log_line(msg) queue_time = time.time() - r.time # 6 hours if error.code != 404 or (queue_time >= 0 and queue_time < (6 * 60 * 60)): - raise IOError, msg + raise IOError(msg) else: msg = "in queue for more than 6 hours, download failing" b.log_line(msg) return False - except urllib2.URLError, error: + except urllib2.URLError as error: errno = 0 if isinstance(error.args[0], IOError): errno = error.args[0].errno @@ -115,20 +117,20 @@ def fetch_src(r, b): continue else: try: - print "error.errno: %s" % str(error.errno) - except Exception, e: - print "error.errno: exception %s" % e + print("error.errno: %s" % str(error.errno)) + except Exception as e: + print("error.errno: exception %s" % e) try: - print "error.reason %s" % str(error.reason) - except Exception, e: - print "error.reason exception %s" % e + print("error.reason %s" % str(error.reason)) + except Exception as e: + print("error.reason exception %s" % e) raise o = chroot.popen("cat > %s" % b.src_rpm, mode = "w") try: bytes = util.sendfile(f, o) - except IOError, e: + except IOError as e: b.log_line("error: unable to write to `%s': %s" % (b.src_rpm, e)) raise @@ -180,6 +182,13 @@ def build_rpm(r, b): return res b.log_line("started at: %s" % time.asctime()) + + b.log_line("killing old processes on a builder") + chroot.run("/bin/kill --verbose -9 -1", logfile = b.logfile) + + b.log_line("cleaning up /tmp") + chroot.run("rm -rf /tmp/B.*", logfile = b.logfile) + fetch_src(r, b) b.log_line("installing srpm: %s" % b.src_rpm) res = chroot.run(""" @@ -274,7 +283,7 @@ def build_rpm(r, b): b.log_line("copy rpm files to cache_dir: %s" % rpm_cache_dir) chroot.run( "cp -f %s %s && poldek --mo=nodiff --mkidxz -s %s/" % \ - (string.join(b.files), rpm_cache_dir, rpm_cache_dir), + (b.files.join(), rpm_cache_dir, rpm_cache_dir), logfile = b.logfile, user = "root" ) else: @@ -329,7 +338,7 @@ def check_load(): do_exit = 0 try: f = open("/proc/loadavg") - if float(string.split(f.readline())[2]) > config.max_load: + if float(f.readline().split()[2]) > config.max_load: do_exit = 1 except: pass @@ -402,14 +411,14 @@ def main_for(builder): q.lock(0) q.read() previouslen=len(q.requests) - q.requests=filter(otherreqs, q.requests) + q.requests=list(filter(otherreqs, q.requests)) if len(q.requests)