gather: Apply repo path substitutions for DNF backend

Use a method to add repos that will apply $arch and $basearch
substitution automatically. Yum backend only applies $basearch, so if
compatibility is needed, that one should be used.

Drop code for handling mirrorlist, since Pungi does not ever use it, and
being used externally is not really supported.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
Lubomír Sedlář 2019-03-28 12:36:06 +01:00
parent c2c36dc3c2
commit c6a86c444a
2 changed files with 10 additions and 17 deletions

View File

@ -112,13 +112,13 @@ def main(persistdir, cachedir):
if ks_repo.name not in gather_opts.lookaside_repos: if ks_repo.name not in gather_opts.lookaside_repos:
continue continue
dnf_obj.add_repo( dnf_obj.add_repo(
ks_repo.name, ks_repo.baseurl, ks_repo.mirrorlist, enablegroups=False ks_repo.name, ks_repo.baseurl, enablegroups=False
) )
for ks_repo in ksparser.handler.repo.repoList: for ks_repo in ksparser.handler.repo.repoList:
if ks_repo.name in gather_opts.lookaside_repos: if ks_repo.name in gather_opts.lookaside_repos:
continue continue
dnf_obj.add_repo(ks_repo.name, ks_repo.baseurl, ks_repo.mirrorlist) dnf_obj.add_repo(ks_repo.name, ks_repo.baseurl)
with Profiler("DnfWrapper.fill_sack()"): with Profiler("DnfWrapper.fill_sack()"):
dnf_obj.fill_sack(load_system_repo=False, load_available_repos=True) dnf_obj.fill_sack(load_system_repo=False, load_available_repos=True)

View File

@ -55,21 +55,14 @@ class DnfWrapper(dnf.Base):
self.arch_wrapper = ArchWrapper(self.conf.substitutions["arch"]) self.arch_wrapper = ArchWrapper(self.conf.substitutions["arch"])
self.comps_wrapper = CompsWrapper(self) self.comps_wrapper = CompsWrapper(self)
def add_repo( def add_repo(self, repoid, baseurl=None, enablegroups=True, lookaside=False):
self, repoid, baseurl=None, mirrorlist=None, enablegroups=True, lookaside=False self.repos.add_new_repo(
): repoid,
if "://" not in baseurl: self.conf,
baseurl = "file://%s" % os.path.abspath(baseurl) baseurl=[baseurl],
if LooseVersion(dnf.__version__) < LooseVersion("2.0.0"): enabledgroups=enablegroups,
repo = dnf.repo.Repo(repoid, self.conf.cachedir) priority=10 if lookaside else 20,
else: )
repo = dnf.repo.Repo(repoid, self.conf)
repo.baseurl = baseurl
repo.mirrorlist = mirrorlist
repo.enablegroups = enablegroups
repo.enable()
self.repos.add(repo)
repo.priority = 10 if lookaside else 20
class CompsWrapper(object): class CompsWrapper(object):