Lines Matching defs:rpm

29 import rpm
88 # --d1 /path/to/package1-debuginfo.rpm \
89 # --d2 /path/to/package2-debuginfo.rpm \
90 # /path/to/package1.rpm \
91 # /path/to/package2.rpm
95 # (package1.rpm, [package1-debuginfo.rpm..] package1-devel.rpm)
110 # (/path/to/package1.rpm, [/paths/to/package1-debuginfo.rpm ..] /path/to/package1-devel.rpm)
111 # (/path/to/package2.rpm, [/paths/to/package2-debuginfo.rpm ..] /path/to/package1-devel.rpm)
215 or mimetype == 'application/x-rpm')
217 # Most systems won't have rpm defined as a mimetype
218 if not mimetype and filename.endswith('.rpm'):
240 return rpm.labelCompare(
315 """Determine if this is the peer of a given rpm.
344 An example: libabigail-1.0-0.8.rc4.1.fc23.x86_64.rpm
346 return os.path.basename(pathinfo.rpm(self.rpm_info))
362 return os.path.join(pathinfo.build(build), pathinfo.rpm(self.rpm_info))
367 # arch should be removed from the result returned from PathInfo.rpm
368 filename = os.path.basename(pathinfo.rpm(self.rpm_info))
411 :param str rpm_filename: filename of rpm to find, for example
413 :return: an instance of LocalRPM representing the found rpm, or None if
424 '%(name)s-debuginfo-%(version)s-%(release)s.%(arch)s.rpm' % \
432 '%(name)s-devel-%(version)s-%(release)s.%(arch)s.rpm' % \
453 i686 => {foo.i686.rpm, foo-debuginfo.i686.rpm, foo-devel.i686.rpm}
454 x86_64 => {foo.x86_64.rpm, foo-debuginfo.x86_64.rpm, foo-devel.x86_64.rpm,}
468 # self.ancillary_rpms = {'i686', {'debuginfo': foo-debuginfo.rpm,
469 # 'devel': foo-devel.rpm}}
473 for rpm in rpms:
474 self.add(rpm)
484 dir_name, '*-%(version)s-%(release)s.%(arch)s.rpm' % nvra))
488 selector = lambda rpm: True
490 selector = lambda rpm: local_rpm.is_devel or \
514 def add(self, rpm):
516 self.rpms.setdefault(rpm.arch, []).append(rpm)
520 if rpm.is_debuginfo:
522 rpm.arch, devel_debuginfo_default)['debuginfo'] = rpm
524 if rpm.is_devel:
526 rpm.arch, devel_debuginfo_default)['devel'] = rpm
536 def get_sibling_debuginfo(self, rpm):
537 """Get sibling debuginfo package of given rpm
540 'rpm'. Note that if there are several debuginfo packages
541 associated to 'rpm' and users want to get the one which name
542 matches exactly 'rpm', then they might want to use the member
546 if rpm.arch not in self.ancillary_rpms:
548 return self.ancillary_rpms[rpm.arch].get('debuginfo')
550 def get_matching_debuginfo(self, rpm):
552 all_debuginfo_list = self.get_all_debuginfo_rpms(rpm)
555 if d.name == '{0}-debuginfo'.format(rpm.name):
559 debuginfo_pkg = self.get_sibling_debuginfo(rpm)
563 def get_sibling_devel(self, rpm):
564 """Get sibling devel package of given rpm"""
565 if rpm.arch not in self.ancillary_rpms:
567 return self.ancillary_rpms[rpm.arch].get('devel')
569 def get_peer_rpm(self, rpm):
570 """Get peer rpm of rpm from this collection"""
571 if rpm.arch not in self.rpms:
573 for _rpm in self.rpms[rpm.arch]:
574 if _rpm.is_peer(rpm):
703 rpms = [rpm for rpm in rpms if selector(rpm)]
729 rpm = self.session.getRPM(rpminfo)
730 if rpm is None:
732 return rpm
840 :param str name: name of a rpm
841 :param str version: version of a rpm
842 :param str release: release of a rpm
843 :param arch: arch of a rpm
862 rpm = self.getRPM({'name': name,
867 return rpm['build_id']
930 :param str package_name: which rpm to select that matches this name.
942 return lambda rpm: \
943 rpm['arch'] not in excluded_arches and \
944 (rpm['name'] == package_name or
945 rpm['name'].endswith('-debuginfo') or
946 rpm['name'].endswith('-devel'))
949 selector = lambda rpm: rpm['arch'] not in excluded_arches
969 # Get rpm and debuginfo rpm from each arch
1027 def _download(rpm):
1028 if rpm.is_downloaded:
1029 logger.debug('Reuse %s', rpm.downloaded_file)
1031 logger.debug('Download %s', rpm.download_url)
1032 download_rpm(rpm.download_url)
1034 for rpm in rpms:
1035 _download(rpm)
1084 package1-rpm package2-rpm
1237 """Diff against local rpm and remove latest rpm
1239 This operation handles a local rpm and debuginfo rpm and remote ones
1244 foo-3.0.fc24.rpm. To compare the ABI of this locally build package with the
1247 fedabipkgdiff --from fc23 ./foo-3.0.fc24.rpm