inapt: Avoid using name property of RPM header object

This property was not supported in older python-module-rpm.
This commit is contained in:
Ivan A. Melnikov 2021-08-15 20:27:15 +04:00
parent 4c42afedf3
commit d52b3e4725

View File

@ -49,18 +49,21 @@ class DependencyInfo(collections.namedtuple(
def reqs(header):
return frozenset(Dependency.from_header(header, 'require'))
def name(header):
return header[rpm.RPMTAG_NAME]
LOG.info('Building BuildReq cache...')
src_req = dict((h.name, reqs(h)) for h in src_list)
src_req = dict((name(h), reqs(h)) for h in src_list)
LOG.info('Building SourceRPM cache...')
srcrpms = dict((h.name, h[rpm.RPMTAG_SOURCERPM].rsplit('-', 2)[0])
srcrpms = dict((name(h), h[rpm.RPMTAG_SOURCERPM].rsplit('-', 2)[0])
for h in bin_list)
LOG.info('Building Req cache...')
bin_req = dict((h.name, reqs(h)) for h in bin_list)
bin_req = dict((name(h), reqs(h)) for h in bin_list)
LOG.info('Building reverse Prov cache...')
reverse_prov = collections.defaultdict(set)
for h in bin_list:
for p in Dependency.from_header(h, 'provide'):
reverse_prov[p.name].add((h.name, p))
reverse_prov[p.name].add((name(h), p))
LOG.info('Info loading: DONE')
return cls(src_req, srcrpms, bin_req, reverse_prov)