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]
+ header = s.headers()[0]
+ name = header[rpm.RPMTAG_NAME]
+ version = header[rpm.RPMTAG_VERSION]
+ release = header[rpm.RPMTAG_RELEASE].partition('@')[0]
return (name, version, release)
except rpm.error:
print >>sys.stderr, 'Failed to parse: %s.spec' % 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_vr = rpm.labelCompare(cvs_nvr, pkg_nvr)
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_vr = rpm.labelCompare(pkg_nvr, cvs_nvr)
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: