diff options
author | Paul Nasrat <pnasrat@redhat.com> | 2005-09-01 20:37:07 +0000 |
---|---|---|
committer | Paul Nasrat <pnasrat@redhat.com> | 2005-09-01 20:37:07 +0000 |
commit | 2d11ad830799b22191fdd0236166a327550c8bd1 (patch) | |
tree | c04ff639a2d13dd3e25e2b21ef580e2f0988676f /yuminstall.py | |
parent | bc80e3ec41c489b37c46415176181933742bfb0a (diff) | |
download | anaconda-2d11ad830799b22191fdd0236166a327550c8bd1.tar.gz anaconda-2d11ad830799b22191fdd0236166a327550c8bd1.tar.xz anaconda-2d11ad830799b22191fdd0236166a327550c8bd1.zip |
whiteout and macros for correct sorting
Diffstat (limited to 'yuminstall.py')
-rw-r--r-- | yuminstall.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/yuminstall.py b/yuminstall.py index 63aafd1bd..e03fb5027 100644 --- a/yuminstall.py +++ b/yuminstall.py @@ -32,6 +32,8 @@ log = logging.getLogger("anaconda") import iutil import isys +from whiteout import whiteout + class simpleCallback: def __init__(self, messageWindow, progress, pkgTimer, method, @@ -157,6 +159,21 @@ gpgkey=file:///mnt/source/RPM-GPG-KEY-fedora class AnacondaYum(yum.YumBase): def __init__(self, method, id, intf, instPath): + self.macros = {} + if flags.selinux: + for dir in ("/tmp/updates", "/mnt/source/RHupdates", + "/etc/selinux/targeted/contexts/files", + "/etc/security/selinux/src/policy/file_contexts", + "/etc/security/selinux"): + fn = "%s/file_contexts" %(dir,) + if os.access(fn, os.R_OK): + break + self.macros["__file_context_path"] = fn + else: + self.macros["__file_context_path"] = "%{nil}" + + self.macros["_dependency_whiteout"] = whiteout + self.method = method self.id = id self.intf = intf @@ -210,7 +227,7 @@ class AnacondaYum(yum.YumBase): return (downloadpkgs, totalSize, totalFiles) def run(self, cb): - self.initActionTs() + self.initActionTs(macros=self.macros) self.populateTs(keepold=0) self.ts.check() self.ts.order() @@ -218,7 +235,7 @@ class AnacondaYum(yum.YumBase): def setup(self, fn="/etc/yum.conf", root="/"): self.doConfigSetup(fn, root) - self.doTsSetup() + self.doTsSetup(macros=self.macros) self.doRpmDBSetup() # XXX: handle RepoError self.doRepoSetup() |