#79 Enable the normal updates repository
Closed 5 years ago by nphilipp. Opened 5 years ago by otaylor.
modularity/ otaylor/fedmod enable-updates-repository  into  master

file modified
+9 -11
@@ -3,6 +3,7 @@ 

  import collections

  import configparser

  import itertools

+ import functools

  import logging

  import os

  import sys
@@ -235,17 +236,14 @@ 

      found = sel.solvables()

      num_results = len(found)

      s = None

-     if num_results == 1:

-         s = found[0]

-     elif num_results == 2:

-         # Handle x86 32-bit vs 64-bit multilib packages

-         first, second = found

-         if first.arch == "x86_64" and second.arch == "i686":

-             s = first

-         elif first.arch == "i686" and second.arch == "x86_64":

-             s = second

-     if s is None:

-             raise RuntimeError("More matching solvables were found, {}".format(found))

+ 

+     # Handle x86 32-bit vs 64-bit multilib packages

+     have_x86_64 = any(x.arch == "x86_64" for x in found)

+     have_i686 = any(x.arch == "i686" for x in found)

+     if have_x86_64 and have_i686:

+         found = [x for x in found if x.arch == "x86_64"]

+ 

+     found = sorted(found, key=functools.cmp_to_key(lambda a, b: a.evrcmp(b)))

      s = found[0]

  

      return get_sourcepkg(s, only_name=True)

@@ -48,7 +48,7 @@ 

      else:

          local_arch_path = arch

          if "updates" in remote_prefix:

-             remote_arch_path = arch

+             remote_arch_path = arch + "/"

          else:

              remote_arch_path = os.path.join(arch, "os/")

      remote_repo_url = os.path.join(remote_prefix, remote_arch_path)
@@ -64,8 +64,8 @@ 

  #_SOURCE_MODULE_UPDATES_INFO = _define_repo(_F28_MODULAR_UPDATES_REPO, "f28-modular-updates")

  _x86_64_PACKAGE_INFO = _define_repo(_F28_MAIN_REPO, "f28-packages", ARCH)

  _SOURCE_PACKAGE_INFO = _define_repo(_F28_MAIN_REPO, "f28-packages")

- #_x86_64_UPDATES_INFO = _define_repo(_F28_UPDATES_REPO, "f28-updates", ARCH)

- #_SOURCE_UPDATES_INFO = _define_repo(_F28_UPDATES_REPO, "f28-updates")

+ _x86_64_UPDATES_INFO = _define_repo(_F28_UPDATES_REPO, "f28-updates", ARCH)

+ _SOURCE_UPDATES_INFO = _define_repo(_F28_UPDATES_REPO, "f28-updates")

  _ALL_REPOS = (

      _x86_64_MODULE_INFO,

      _SOURCE_MODULE_INFO,
@@ -73,8 +73,8 @@ 

  #    _SOURCE_MODULE_UPDATES_INFO,

      _x86_64_PACKAGE_INFO,

      _SOURCE_PACKAGE_INFO,

- #    _x86_64_UPDATES_INFO,

- #    _SOURCE_UPDATES_INFO,

+     _x86_64_UPDATES_INFO,

+     _SOURCE_UPDATES_INFO,

  )

  

  _LOOKUP_CACHES = {
@@ -200,8 +200,8 @@ 

      module_to_packages = attrib(dict)

      source_repo_cache = attrib(str)

      arch_repo_cache = attrib(str)

- #    source_updates_cache = attrib(str)

- #    arch_updates_cache = attrib(str)

+     source_updates_cache = attrib(str)

+     arch_updates_cache = attrib(str)

  

  

  def load_cached_repodata(dataset_name):
@@ -228,6 +228,6 @@ 

          module_to_packages = _read_cache("_MODULE_FORWARD_LOOKUP_CACHE"),

          source_repo_cache = _SOURCE_PACKAGE_INFO.local_cache_path,

          arch_repo_cache = _x86_64_PACKAGE_INFO.local_cache_path,

- #        source_updates_cache = _SOURCE_UPDATES_INFO.local_cache_path,

- #        arch_updates_cache = _x86_64_UPDATES_INFO.local_cache_path,

+         source_updates_cache = _SOURCE_UPDATES_INFO.local_cache_path,

+         arch_updates_cache = _x86_64_UPDATES_INFO.local_cache_path,

      )

file modified
+4 -5
@@ -274,8 +274,7 @@ 

      srcrepo = Repo("distro-source", dataset.source_repo_cache)

      repo = Repo("distro", dataset.arch_repo_cache)

      repo.srcrepo = srcrepo

-     # updates_srcrepo = Repo("distro-updates-source", dataset.source_updates_cache)

-     # updates_repo = Repo("distro-updates", dataset.arch_updates_cache)

-     # updates_repo.srcrepo = updates_srcrepo

-     # return [repo, srcrepo, updates_repo]

-     return [repo, srcrepo]

+     updates_srcrepo = Repo("distro-updates-source", dataset.source_updates_cache)

+     updates_repo = Repo("distro-updates", dataset.arch_updates_cache)

+     updates_repo.srcrepo = updates_srcrepo

+     return [repo, srcrepo, updates_repo, updates_srcrepo]

The modular updates repository has been disabled until code is written
to properly merge module sets, but we should still enable the normal
updates repository.

Looks good to me, I'll rebase and apply.

Pull-Request has been closed by nphilipp

5 years ago