From 6148027dbca2ccf255fcd39e72fc11b18bd25570 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Fri, 4 Jan 2019 22:45:29 +0900 Subject: [PATCH] Tabs to spaces --- wwwbin/ftp-freshness.py | 248 ++++++++++++++++++++-------------------- 1 file changed, 124 insertions(+), 124 deletions(-) diff --git a/wwwbin/ftp-freshness.py b/wwwbin/ftp-freshness.py index 63b7a94..51959ee 100755 --- a/wwwbin/ftp-freshness.py +++ b/wwwbin/ftp-freshness.py @@ -10,8 +10,8 @@ import sys # earlier == more important dirs = [ "/home/ftp/pub/Linux/PLD/dists/th/test/SRPMS/RPMS/", - "/home/ftp/pub/Linux/PLD/dists/th/ready/SRPMS/RPMS/", - "/home/ftp/pub/Linux/PLD/dists/th/PLD/SRPMS/RPMS/" ] + "/home/ftp/pub/Linux/PLD/dists/th/ready/SRPMS/RPMS/", + "/home/ftp/pub/Linux/PLD/dists/th/PLD/SRPMS/RPMS/" ] #dirs = [ "/home/pld/admins/th/1" ] specsdir = "/home/pld/admins/th/SPECS" @@ -26,132 +26,132 @@ p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr= os.chdir(specsdir) class Pkgs(object): - def __init__(self): - self.pkg = {} - self.cvs = {} - self.cvs_new_nvr = [] - self.cvs_new_nv = [] - self.re_n = re.compile('^(.*)-([^-]*)-([^-]*)\.src\.rpm$') - rpm.addMacro('patch', '%{nil}') - rpm.addMacro('requires_eq', '#') - rpm.addMacro('requires_eq_to', '#') - rpm.addMacro('requires_releq', '#') - rpm.addMacro('requires_ge', '#') - rpm.addMacro('requires_ge_to', '#') - self.ts = rpm.ts() - - def __clean_macros(self): - for macro in ['rel', '_rel', 'snap', '_snap', 'rc', '_rc', 'subver', 'githash']: - rpm.delMacro(macro) - macros = rpm.getMacros() - for macro in macros.iterkeys(): - if macro.startswith('with_') or macro.startswith('without_'): - rpm.delMacro(macro.split()[0]) - - def __get_from_rpm(self, file_name): - m = self.re_n.match(file_name) - if not m: - return False - name = m.group(1).strip() - version = m.group(2).strip() - release = m.group(3).strip() - return (name, version, release) - - def __get_from_cvs(self, name): - spec = os.path.join(specsdir, name + '.spec') - if not os.path.isfile(spec): - print >>sys.stderr, 'Spec file does not exist: %s' % spec - return ('','','') - print >>sys.stderr, 'Processing: %s.spec' % name - self.__clean_macros() - try: - s = self.ts.parseSpec(spec) - headers = s.headers() - name, version, release = headers[0].sprintf('%{name};%{version};%{release}').split(';') - release = release.partition('@')[0] - return (name, version, release) - except rpm.error: - print >>sys.stderr, 'Failed to parse: %s.spec' % name - return ('','','') - - def __update_cvs(self, name): - if not self.cvs.has_key(name): - self.cvs[name] = self.__get_from_cvs(name) - - def __update_new(self, name): - cvs_nvr = self.cvs[name] - pkg_nvr = self.pkg[name] - - cvs_rpm_vr = rpm.labelCompare((cvs_nvr[0], cvs_nvr[1], cvs_nvr[2]), (pkg_nvr[0], pkg_nvr[1], pkg_nvr[2])) - cvs_rpm_v = rpm.labelCompare((cvs_nvr[0], cvs_nvr[1], ""), (pkg_nvr[0], pkg_nvr[1], "")) - rpm_cvs_vr = rpm.labelCompare((pkg_nvr[0], pkg_nvr[1], pkg_nvr[2]), (cvs_nvr[0], cvs_nvr[1], cvs_nvr[2])) - rpm_cvs_v = rpm.labelCompare((pkg_nvr[0], pkg_nvr[1], ""), (cvs_nvr[0], cvs_nvr[1], "")) - - if rpm_cvs_v < 0 and cvs_rpm_v > 0: - self.cvs_new_nv.append(name) - else: - if rpm_cvs_vr < 0 and cvs_rpm_vr > 0 and cvs_nvr[1] == pkg_nvr[1]: - self.cvs_new_nvr.append(name) - - def prepare(self): - self.cvs_new_nvr.sort() - self.cvs_new_nvr = list(set(self.cvs_new_nvr)) - self.cvs_new_nv.sort() - self.cvs_new_nv = list(set(self.cvs_new_nv)) - - pkgs = list(self.pkg) + list(self.cvs) - - for name in list(set(pkgs)): - self.__update_new(name) - - def add_rpm(self, file_name): - nvr = self.__get_from_rpm(file_name) - if not nvr: - return False - name = nvr[0] - if self.pkg.has_key(name): - if rpm.labelCompare(nvr, self.pkg[name]) > 0: - del self.pkg[name] - self.pkg[name] = nvr - else: - self.pkg[name] = nvr - self.__update_cvs(name) - - def print_nvr(self): - ver_int = "*** VERSION-RELEASE COMPARE FOR THE SAME VERSIONS ONLY ***\n" - ver_frac = "*** PACKAGES WITH FRACTIONAL RELEASE ***\n" - for name in self.cvs_new_nvr: - self.cvs_new_nvr.sort() - cvs_nvr = self.cvs[name] - pkg_nvr = self.pkg[name] - msg = "GIT: [%s.spec] %s-%s-%s vs FTP: %s-%s-%\ns" % (name, cvs_nvr[0], cvs_nvr[1], cvs_nvr[2], pkg_nvr[0], pkg_nvr[1], pkg_nvr[2]) - if '.' in cvs_nvr[2]: - ver_frac += msg - else: - ver_int += msg - print ver_int - print ver_frac - - def print_nv(self): - ver_int = "*** VERSION COMPARE ONLY ***\n" - ver_frac = "*** PACKAGES WITH FRACTIONAL RELEASE ***\n" - self.cvs_new_nv.sort() - for name in self.cvs_new_nv: - cvs_nvr = self.cvs[name] - pkg_nvr = self.pkg[name] - msg = "GIT: [%s.spec] %s-%s-%s vs FTP: %s-%s-%s\n" % (name, cvs_nvr[0], cvs_nvr[1], cvs_nvr[2], pkg_nvr[0], pkg_nvr[1], pkg_nvr[2]) - if '.' in cvs_nvr[2]: - ver_frac += msg - else: - ver_int += msg - print ver_int - print ver_frac + def __init__(self): + self.pkg = {} + self.cvs = {} + self.cvs_new_nvr = [] + self.cvs_new_nv = [] + self.re_n = re.compile('^(.*)-([^-]*)-([^-]*)\.src\.rpm$') + rpm.addMacro('patch', '%{nil}') + rpm.addMacro('requires_eq', '#') + rpm.addMacro('requires_eq_to', '#') + rpm.addMacro('requires_releq', '#') + rpm.addMacro('requires_ge', '#') + rpm.addMacro('requires_ge_to', '#') + self.ts = rpm.ts() + + def __clean_macros(self): + for macro in ['rel', '_rel', 'snap', '_snap', 'rc', '_rc', 'subver', 'githash']: + rpm.delMacro(macro) + macros = rpm.getMacros() + for macro in macros.iterkeys(): + if macro.startswith('with_') or macro.startswith('without_'): + rpm.delMacro(macro.split()[0]) + + def __get_from_rpm(self, file_name): + m = self.re_n.match(file_name) + if not m: + return False + name = m.group(1).strip() + version = m.group(2).strip() + release = m.group(3).strip() + return (name, version, release) + + def __get_from_cvs(self, name): + spec = os.path.join(specsdir, name + '.spec') + if not os.path.isfile(spec): + print >>sys.stderr, 'Spec file does not exist: %s' % spec + return ('','','') + print >>sys.stderr, 'Processing: %s.spec' % name + self.__clean_macros() + try: + s = self.ts.parseSpec(spec) + headers = s.headers() + name, version, release = headers[0].sprintf('%{name};%{version};%{release}').split(';') + release = release.partition('@')[0] + return (name, version, release) + except rpm.error: + print >>sys.stderr, 'Failed to parse: %s.spec' % name + return ('','','') + + def __update_cvs(self, name): + if not self.cvs.has_key(name): + self.cvs[name] = self.__get_from_cvs(name) + + def __update_new(self, name): + cvs_nvr = self.cvs[name] + pkg_nvr = self.pkg[name] + + cvs_rpm_vr = rpm.labelCompare((cvs_nvr[0], cvs_nvr[1], cvs_nvr[2]), (pkg_nvr[0], pkg_nvr[1], pkg_nvr[2])) + cvs_rpm_v = rpm.labelCompare((cvs_nvr[0], cvs_nvr[1], ""), (pkg_nvr[0], pkg_nvr[1], "")) + rpm_cvs_vr = rpm.labelCompare((pkg_nvr[0], pkg_nvr[1], pkg_nvr[2]), (cvs_nvr[0], cvs_nvr[1], cvs_nvr[2])) + rpm_cvs_v = rpm.labelCompare((pkg_nvr[0], pkg_nvr[1], ""), (cvs_nvr[0], cvs_nvr[1], "")) + + if rpm_cvs_v < 0 and cvs_rpm_v > 0: + self.cvs_new_nv.append(name) + else: + if rpm_cvs_vr < 0 and cvs_rpm_vr > 0 and cvs_nvr[1] == pkg_nvr[1]: + self.cvs_new_nvr.append(name) + + def prepare(self): + self.cvs_new_nvr.sort() + self.cvs_new_nvr = list(set(self.cvs_new_nvr)) + self.cvs_new_nv.sort() + self.cvs_new_nv = list(set(self.cvs_new_nv)) + + pkgs = list(self.pkg) + list(self.cvs) + + for name in list(set(pkgs)): + self.__update_new(name) + + def add_rpm(self, file_name): + nvr = self.__get_from_rpm(file_name) + if not nvr: + return False + name = nvr[0] + if self.pkg.has_key(name): + if rpm.labelCompare(nvr, self.pkg[name]) > 0: + del self.pkg[name] + self.pkg[name] = nvr + else: + self.pkg[name] = nvr + self.__update_cvs(name) + + def print_nvr(self): + ver_int = "*** VERSION-RELEASE COMPARE FOR THE SAME VERSIONS ONLY ***\n" + ver_frac = "*** PACKAGES WITH FRACTIONAL RELEASE ***\n" + for name in self.cvs_new_nvr: + self.cvs_new_nvr.sort() + cvs_nvr = self.cvs[name] + pkg_nvr = self.pkg[name] + msg = "GIT: [%s.spec] %s-%s-%s vs FTP: %s-%s-%\ns" % (name, cvs_nvr[0], cvs_nvr[1], cvs_nvr[2], pkg_nvr[0], pkg_nvr[1], pkg_nvr[2]) + if '.' in cvs_nvr[2]: + ver_frac += msg + else: + ver_int += msg + print ver_int + print ver_frac + + def print_nv(self): + ver_int = "*** VERSION COMPARE ONLY ***\n" + ver_frac = "*** PACKAGES WITH FRACTIONAL RELEASE ***\n" + self.cvs_new_nv.sort() + for name in self.cvs_new_nv: + cvs_nvr = self.cvs[name] + pkg_nvr = self.pkg[name] + msg = "GIT: [%s.spec] %s-%s-%s vs FTP: %s-%s-%s\n" % (name, cvs_nvr[0], cvs_nvr[1], cvs_nvr[2], pkg_nvr[0], pkg_nvr[1], pkg_nvr[2]) + if '.' in cvs_nvr[2]: + ver_frac += msg + else: + ver_int += msg + print ver_int + print ver_frac p = Pkgs() for d in dirs: - for rpm_file_name in os.listdir(d): - p.add_rpm(rpm_file_name) + for rpm_file_name in os.listdir(d): + p.add_rpm(rpm_file_name) p.prepare() -- 2.44.0