From 918212debab097bc919bf57987e98f3ff3bd220e Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Oct 06 2017 07:16:27 +0000 Subject: Simplify some assumptions: - assume DNF > 2.0.0 - assume we'll be getting the module list from somewhere other than PDC (for now, every modulemd is generated without any module level dependencies) This reduces the local test runtime from ~20 minutes, to ~11 minutes. --- diff --git a/fedmod/module_deps_differ.py b/fedmod/module_deps_differ.py index 3b7e4da..a890293 100755 --- a/fedmod/module_deps_differ.py +++ b/fedmod/module_deps_differ.py @@ -5,10 +5,6 @@ from six.moves import configparser import dnf -from distutils.version import LooseVersion -from pdc_client import PDCClient - - FALLBACK_STREAM = 'master' STREAM = 'f27' REPO_F27 = "https://dl.fedoraproject.org/pub/fedora/linux/development/27/Everything/x86_64/os/" @@ -36,26 +32,12 @@ def get_pkgs_source_rpm_name(pkg): returns name of source RPM used to build the provided rpm """ - if LooseVersion(dnf.__version__) < LooseVersion("2.0.0"): - source_rpm = pkg.sourcerpm - source_rpm_name = source_rpm.rsplit('-', 2)[0] - else: - source_rpm_name = pkg.source_name - return source_rpm_name - - -def get_pdc_client(): - """ cache PDCClient instance """ - global p - if p is None: - p = PDCClient('https://pdc.fedoraproject.org/rest_api/v1/', develop=True, ssl_verify=True) - return p + return pkg.source_name class ModuleDepsDiffer(object): def __init__(self, pkgs): - self.p = get_pdc_client() self.repos = dict() self.repo_provides = dict() # TODO: get this from args @@ -73,25 +55,14 @@ class ModuleDepsDiffer(object): return self.module_id_to_name.get(koji_tag_name, koji_tag_name) def obtain_module_names(self): - logging.info('Getting module list from PDC, this might take a while.') - j = self.p['unreleasedvariants']( - variant_type="module", - active=True, - page_size=-1 - # variant_version=STREAM, - ) - logging.info('Scanning built modules - DONE.') - for module in j: - self.module_id_to_name[module["koji_tag"]] = "{}:{}".format(module["variant_id"], module["variant_version"]) + # TODO: download the repo metadata containing module info + pass @staticmethod def get_base_from_repo(reponame, repourl): logging.info('Loading repo: %s', reponame) base = dnf.Base() - if LooseVersion(dnf.__version__) < LooseVersion("2.0.0"): - repo = dnf.repo.Repo(reponame, base.conf.cachedir) - else: - repo = dnf.repo.Repo(reponame, base.conf) + repo = dnf.repo.Repo(reponame, base.conf) repo.baseurl = repourl repo.load() repo.enable()