From: Ales Kozumplik ales@redhat.com
--- pyanaconda/packaging/dnfpayload.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/packaging/dnfpayload.py b/pyanaconda/packaging/dnfpayload.py index a9bd59e..4380fe8 100644 --- a/pyanaconda/packaging/dnfpayload.py +++ b/pyanaconda/packaging/dnfpayload.py @@ -95,9 +95,11 @@ class DNFPayload(packaging.PackagePayload): def _add_repo(self, ksrepo): repo = self._base.build_repo(ksrepo.name) url = ksrepo.baseurl + mirrorlist = ksrepo.mirrorlist if url: repo.baseurl = [url] - repo.mirrorlist = ksrepo.mirrorlist + if mirrorlist: + repo.mirrorlist = mirrorlist repo.sslverify = not (ksrepo.noverifyssl or flags.noverifyssl) repo.enable() self._base.repos.add(repo)
From: Ales Kozumplik ales@redhat.com
Not used outside of the class. --- pyanaconda/packaging/yumpayload.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py index 142678c..6d7cb05 100644 --- a/pyanaconda/packaging/yumpayload.py +++ b/pyanaconda/packaging/yumpayload.py @@ -1183,7 +1183,7 @@ reposdir=%s except NoSuchGroup as e: self._handleMissing(e)
- self.selectKernelPackage() + self._select_kernel_package() self.selectRequiredPackages()
def _addDriverRepos(self): @@ -1249,7 +1249,7 @@ reposdir=%s log.info("%d packages selected totalling %s", len(self._yum.tsInfo.getMembers()), self.spaceRequired)
- def selectKernelPackage(self): + def _select_kernel_package(self): kernels = self.kernelPackages selected = None # XXX This is optimistic. I'm curious if yum will DTRT if I just say
From: Ales Kozumplik ales@redhat.com
Also make the method smarter by not loading and then disabling the from-disk repos when method.method is given. --- pyanaconda/packaging/dnfpayload.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/pyanaconda/packaging/dnfpayload.py b/pyanaconda/packaging/dnfpayload.py index 4380fe8..b019723 100644 --- a/pyanaconda/packaging/dnfpayload.py +++ b/pyanaconda/packaging/dnfpayload.py @@ -152,9 +152,6 @@ class DNFPayload(packaging.PackagePayload): conf.tsflags.append('nocrypto')
conf.reposdir = REPO_DIRS - log.info('Loading repositories config on the filesystem.') - self._base.read_all_repos() - log.info('Done: Loading repositories config on the filesystem.')
def _install_package(self, pkg_name): cnt = self._base.install(pkg_name) @@ -367,6 +364,7 @@ class DNFPayload(packaging.PackagePayload): def reset(self, root=None): super(DNFPayload, self).reset() self.txID = None + self._base.reset(sack=True, repos=True)
def selectEnvironment(self, environmentid): env = self._base.comps.environment_by_pattern(environmentid) @@ -380,6 +378,7 @@ class DNFPayload(packaging.PackagePayload):
def updateBaseRepo(self, fallback=True, root=None, checkmount=True): log.info('configuring base repo') + self.reset() url, mirrorlist, sslverify = self._setupInstallDevice(self.storage, checkmount) method = self.data.method @@ -393,6 +392,11 @@ class DNFPayload(packaging.PackagePayload): else: log.debug("disabling ksdata method, doesn't provide a valid repo") method.method = None + if not method.method: + # only when there's no repo set via method use the repos from the + # install image itself: + log.info('Loading repositories config on the filesystem.') + self._base.read_all_repos()
for ksrepo in self.data.repo.dataList(): self._add_repo(ksrepo) @@ -405,5 +409,3 @@ class DNFPayload(packaging.PackagePayload): self.disableRepo(id_) elif constants.isFinal and 'rawhide' in id_: self.disableRepo(id_) - elif method.method and id_ not in ksnames: - self.disableRepo(id_)
anaconda-patches@lists.fedorahosted.org