summaryrefslogtreecommitdiffstats
path: root/yuminstall.py
diff options
context:
space:
mode:
authorPaul Nasrat <pnasrat@redhat.com>2005-10-10 18:42:31 +0000
committerPaul Nasrat <pnasrat@redhat.com>2005-10-10 18:42:31 +0000
commita0bbfc51b5bc1f30d54c42052ffa1398c787ee82 (patch)
tree3d6fb5b2d1bb6670d8d160af944fd1699fcb63e2 /yuminstall.py
parent04f5d76d3d6ff380ec8bf4f1450ae1699b4da7a3 (diff)
downloadanaconda-a0bbfc51b5bc1f30d54c42052ffa1398c787ee82.tar.gz
anaconda-a0bbfc51b5bc1f30d54c42052ffa1398c787ee82.tar.xz
anaconda-a0bbfc51b5bc1f30d54c42052ffa1398c787ee82.zip
Handle missing metadata
Diffstat (limited to 'yuminstall.py')
-rw-r--r--yuminstall.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/yuminstall.py b/yuminstall.py
index 2cb9dea72..6ef67c430 100644
--- a/yuminstall.py
+++ b/yuminstall.py
@@ -24,6 +24,7 @@ import yum
import yum.repos
import yum.packages
import yum.groups
+from yum.errors import RepoError
import repomd.mdErrors
from backend import AnacondaBackend
from constants import *
@@ -225,7 +226,6 @@ class AnacondaYum(yum.YumBase):
self.doTsSetup()
self.doRpmDBSetup()
- # XXX: handle RepoError
self.doRepoSetup()
for x in self.repos.repos.values():
x.dirSetup()
@@ -250,7 +250,18 @@ class YumBackend(AnacondaBackend):
self.ayum = AnacondaYum()
# this should be in some sort of backend setup step
- self.ayum.setup(fn="/tmp/yum.conf", root=instPath)
+ try:
+ self.ayum.setup(fn="/tmp/yum.conf", root=instPath)
+ except RepoError, e:
+ intf.messagewindow(_("Error"),
+ _("Unable to read package metadata. This may be "
+ "due to a missing repodata directory. Please "
+ "ensure that your install tree has been "
+ "correctly generated."),
+ type="custom", custom_icon="error",
+ custom_buttons=[_("_Exit")])
+ sys.exit(0)
+
# then a base package selection step
if id: # hack for my test script :)