X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=bin%2Fpfa-from-incoming;h=d49cbfc2286493fbf07b47c785f3110c70246a78;hb=c98964cc2c14c4ed4213b4283edf5e3f07c0d3ab;hp=3d7ea08a59732ea0566dc140f3b8ed7156dcf5f3;hpb=f7b22268ab563fa906be0653d037f1805e220e5c;p=tld-ftp-admin.git diff --git a/bin/pfa-from-incoming b/bin/pfa-from-incoming index 3d7ea08..d49cbfc 100755 --- a/bin/pfa-from-incoming +++ b/bin/pfa-from-incoming @@ -1,6 +1,8 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et +from __future__ import print_function + import sys, os, stat, time, re sys.path.insert(0, os.environ['HOME']+'/tld-ftp-admin/modules') from config import incoming_dir, default_to, ftp_archs @@ -11,7 +13,7 @@ from baseftptree import BaseFtpTree, BasePkg from ftptree import FtpTree, Pkg import ftpio -os.umask(022) +os.umask(0o022) def rm(file): os.remove(file) @@ -27,7 +29,7 @@ def is_debuginfo(nvr): if not config.separate_debuginfo: return False pkg = nvr.split('-')[:-2] - return pkg[-1] == 'debuginfo' + return pkg[-1] == 'debuginfo' or pkg[-1] == 'debugsource' def findfiles(dir): def filterinfos(x): @@ -63,12 +65,12 @@ def send_noarch_msg(files_differ, reqs_differ, pkg, rpmfile, arch): msg="From: %s\nTo: %s\n" % (cval['from_field'], req_email) if cc_list: msg=msg+"Cc: %s\n" % ", ".join(cc_list) - msg=msg+"""X-PLD-Builder: %s -References: <%s@pld.src.builder> -In-Reply-To: <%s@pld.src.builder> + msg=msg+"""X-TLD-Builder: %s +References: <%s@tld.src.builder> +In-Reply-To: <%s@tld.src.builder> Subject: %s -""" % (cval['xpldbuilder'], req_bid, req_bid, m_subject) +""" % (cval['xtldbuilder'], req_bid, req_bid, m_subject) sm = os.popen("/usr/sbin/sendmail -t", "w") @@ -77,8 +79,8 @@ Subject: %s if files_differ: f=open("%s/files.diff" % tmpdir, 'r') sm.write("Difference between %s (currently in %s) and %s FILES\n" % - (pkg.noarch_arch[rpmfile], `ftptree`, arch)), - for line in f.readlines(True)[2:]: + (pkg.noarch_arch[rpmfile], repr(ftptree), arch)), + for line in f.readlines()[2:]: sm.write(line) f.close() @@ -87,15 +89,15 @@ Subject: %s if reqs_differ: f=open("%s/reqs.diff" % tmpdir, 'r') sm.write("Difference between %s (currently in %s) and %s REQS\n" % - (pkg.noarch_arch[rpmfile], `ftptree`, arch)), - for line in f.readlines(True)[2:]: + (pkg.noarch_arch[rpmfile], repr(ftptree), arch)), + for line in f.readlines()[2:]: sm.write(line) f.close() sm.close() def move_noarch(f, arch, rpmfile, dstpkg): - if dstpkg.noarch_arch.has_key(rpmfile): + if rpmfile in dstpkg.noarch_arch: os.system("LC_ALL=C rpm -qlp %s | LC_ALL=C sort > %s/files.new" % (incoming_dir + arch + '/' + rpmfile, tmpdir)) os.system("rpm -qRp %s | LC_ALL=C sort | LC_ALL=C uniq > %s/reqs.new" % @@ -120,7 +122,7 @@ def move_noarch(f, arch, rpmfile, dstpkg): (incoming_dir + arch + '/' + rpmfile, noarchcachedir, rpmfile)) os.system("rpm -qRp %s | LC_ALL=C sort | LC_ALL=C uniq > %s/%s.reqlist" % (incoming_dir + arch + '/' + rpmfile, noarchcachedir, rpmfile)) - if not dstpkg.files.has_key(arch): + if arch not in dstpkg.files: f.write("file:noarch:%s\ninfo:noarch_arch:%s:%s\n" % (rpmfile, rpmfile, arch)) mv(incoming_dir + arch + '/' + rpmfile, default_to + 'noarch/RPMS') @@ -141,19 +143,19 @@ def send_vr_msg(snvr, anvr, pkg, arch): msg="From: %s\nTo: %s\n" % (cval['from_field'], req_email) if cc_list: msg=msg+"Cc: %s\n" % ", ".join(cc_list) - msg=msg+"""X-PLD-Builder: %s -References: <%s@pld.src.builder> -In-Reply-To: <%s@pld.src.builder> + msg=msg+"""X-TLD-Builder: %s +References: <%s@tld.src.builder> +In-Reply-To: <%s@tld.src.builder> Subject: %s -""" % (cval['xpldbuilder'], req_bid, req_bid, m_subject) +""" % (cval['xtldbuilder'], req_bid, req_bid, m_subject) sm = os.popen("/usr/sbin/sendmail -t", "w") sm.write(msg) sm.write("Difference between %s SRPM (currently in %s) and %s RPM NVR:\n\n" % - (snvr[0], `ftptree`, arch)), + (snvr[0], repr(ftptree), arch)), sm.write("Expected (%s):\nV: %s\nR: %s\n\n" % snvr) sm.write("RPM:\nN: %s\nV: %s\nR: %s\n" % anvr) sm.write('\n') @@ -164,13 +166,13 @@ Subject: %s try: ftpio.connect('from-incoming-pid-%s' % os.getpid()) except: - print "Can't get ftpiod connection" + print("Can't get ftpiod connection") sys.exit(1) ftptree = BaseFtpTree(cval['default_to']) if not ftpio.lock(cval['default_to']): - print "Can't get lock: %s" % cval['default_to'] + print("Can't get lock: %s" % cval['default_to']) sys.exit(1) moved_anything = False @@ -187,11 +189,11 @@ for uploadinfo in findfiles(incoming_dir + 'SRPMS'): ftpio.log("%s file missing; skipping move until next round" % (srpm)) continue - if ftptree.has_key(`pkg`): + if ftptree.has_key(repr(pkg)): ftpio.log("%s already present in %s; removing older files" % (srpm, ftptree)) rm(default_to + 'SRPMS/RPMS/' + srpm) f = open(default_to + 'SRPMS/.metadata/' + srpm+'.info', 'a') - bid = pkg.build.keys()[0] + bid = list(pkg.build.keys())[0] build = pkg.build[bid] f.write("info:build:%s:requester:%s\ninfo:build:%s:requester_email:%s\n" % (bid, build.requester, bid, build.requester_email)) @@ -214,7 +216,7 @@ for arch in ftp_archs: srcpkg = BasePkg(uploadinfo[:-19], content = content) srpm = srcpkg.files['SRPMS'][0] - if not ftptree.has_key(`srcpkg`): + if not ftptree.has_key(repr(srcpkg)): continue # We require the src.rpm to be present renvr = re.compile(r'(.*)-(.*)-(.*)\.[^.]*\.rpm') @@ -226,10 +228,10 @@ for arch in ftp_archs: ftpio.log("%s file missing; skipping move until next round" % (filem)) continue - dstpkg = BasePkg(`srcpkg`, ftptree) + dstpkg = BasePkg(repr(srcpkg), ftptree) - if dstpkg.files.has_key(arch): - ftpio.log("files from %s for arch %s already present in %s; removing older files" % (`srcpkg`, arch, ftptree)) + if arch in dstpkg.files: + ftpio.log("files from %s for arch %s already present in %s; removing older files" % (repr(srcpkg), arch, ftptree)) for rpmfile in dstpkg.files[arch]: if is_debuginfo(rpmfile): dstfile = default_to + arch + '/debuginfo' @@ -237,10 +239,10 @@ for arch in ftp_archs: dstfile = default_to + arch + '/RPMS' try: rm(dstfile + '/' + rpmfile) - except OSError, e: + except OSError as e: l = "Removing %s problem: %s" % (dstfile + '/' + rpmfile, e) ftpio.log(l) - print l + print(l) f = open(default_to + 'SRPMS/.metadata/' + srpm + '.info', 'a') for rpmfile in srcpkg.files['ARCH']: @@ -254,7 +256,7 @@ for arch in ftp_archs: if rpmfile[-11:] == '.noarch.rpm' and config.separate_noarch: move_noarch(f, arch, rpmfile, dstpkg) else: - if not dstpkg.files.has_key(arch): + if arch not in dstpkg.files: f.write("file:%s:%s\n" % (arch, rpmfile)) srcfile = incoming_dir + arch + '/' + rpmfile @@ -265,10 +267,10 @@ for arch in ftp_archs: try: mv(srcfile, dstfile) - except OSError, e: + except OSError as e: l = "Moving %s to %s problem: %s" % (srcfile, dstfile, e) ftpio.log(l) - print l + print(l) f.close() rm(incoming_dir + arch + '/' + uploadinfo)