X-Git-Url: https://git.tld-linux.org/?p=tld-ftp-admin.git;a=blobdiff_plain;f=bin%2Fpfa-from-incoming;fp=bin%2Fpfa-from-incoming;h=1ea2d59ae3a7e4cf4067c0c860618e0cf1fe2c48;hp=3d7ea08a59732ea0566dc140f3b8ed7156dcf5f3;hb=51b9814081f743180ffed6c80fd7945acb554ce2;hpb=f7b22268ab563fa906be0653d037f1805e220e5c diff --git a/bin/pfa-from-incoming b/bin/pfa-from-incoming index 3d7ea08..1ea2d59 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): @@ -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') @@ -153,7 +155,7 @@ Subject: %s 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)