[PATCH 2/5] Add selinux-specific RPM macro setup.

Chris Lumens clumens at redhat.com
Tue Aug 14 18:07:18 UTC 2012


---
 pyanaconda/packaging/yumpayload.py | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index f6f940a..45f6f7d 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -28,9 +28,6 @@
             - preupgrade
             - write test cases
             - more logging in key methods
-            - rpm macros
-                - __file_context_path
-                    - what does this do if we run in permissive mode?
             - handling of proxy needs cleanup
                 - passed to anaconda as --proxy, --proxyUsername, and
                   --proxyPassword
@@ -988,6 +985,18 @@ reposdir=%s
         if self.data.packages.excludeDocs:
             rpm.addMacro("_excludedocs", "1")
 
+        if flags.selinux:
+            for d in ["/tmp/updates",
+                      "/etc/selinux/targeted/contexts/files",
+                      "/etc/security/selinux/src/policy",
+                      "/etc/security/selinux"]:
+                f = d + "/file_contexts"
+                if os.access(f, os.R_OK):
+                    rpm.addMacro("__file_context_path", f)
+                    break
+        else:
+            rpm.addMacros("__file_context_path", "%{nil}")
+
     def install(self):
         """ Install the payload. """
         from yum.Errors import PackageSackError, RepoError, YumBaseError, YumRPMTransError
-- 
1.7.11.2



More information about the anaconda-patches mailing list