Blame SPECS/0021-python-semanage-Do-not-traceback-when-the-default-po.patch

Packit Service 9fb14c
From 5938d18536f4c0a76521d1f0721e981e6570b012 Mon Sep 17 00:00:00 2001
Packit Service 9fb14c
From: Petr Lautrbach <plautrba@redhat.com>
Packit Service 9fb14c
Date: Thu, 4 Apr 2019 23:02:56 +0200
Packit Service 9fb14c
Subject: [PATCH] python/semanage: Do not traceback when the default policy is
Packit Service 9fb14c
 not available
Packit Service 9fb14c
Packit Service 9fb14c
"import seobject" causes "import sepolicy" which crashes when the system policy
Packit Service 9fb14c
is not available. It's better to provide an error message instead.
Packit Service 9fb14c
Packit Service 9fb14c
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
Packit Service 9fb14c
---
Packit Service 9fb14c
 python/semanage/semanage | 37 +++++++++++++++++++++----------------
Packit Service 9fb14c
 1 file changed, 21 insertions(+), 16 deletions(-)
Packit Service 9fb14c
Packit Service 9fb14c
diff --git a/python/semanage/semanage b/python/semanage/semanage
Packit Service 9fb14c
index 56db3e0d..4c766ae3 100644
Packit Service 9fb14c
--- a/python/semanage/semanage
Packit Service 9fb14c
+++ b/python/semanage/semanage
Packit Service 9fb14c
@@ -25,7 +25,6 @@
Packit Service 9fb14c
 
Packit Service 9fb14c
 import traceback
Packit Service 9fb14c
 import argparse
Packit Service 9fb14c
-import seobject
Packit Service 9fb14c
 import sys
Packit Service 9fb14c
 PROGNAME = "selinux-python"
Packit Service 9fb14c
 try:
Packit Service 9fb14c
@@ -129,21 +128,6 @@ class SetImportFile(argparse.Action):
Packit Service 9fb14c
                 sys.exit(1)
Packit Service 9fb14c
         setattr(namespace, self.dest, values)
Packit Service 9fb14c
 
Packit Service 9fb14c
-# define dictonary for seobject OBEJCTS
Packit Service 9fb14c
-object_dict = {
Packit Service 9fb14c
-    'login': seobject.loginRecords,
Packit Service 9fb14c
-    'user': seobject.seluserRecords,
Packit Service 9fb14c
-    'port': seobject.portRecords,
Packit Service 9fb14c
-    'module': seobject.moduleRecords,
Packit Service 9fb14c
-    'interface': seobject.interfaceRecords,
Packit Service 9fb14c
-    'node': seobject.nodeRecords,
Packit Service 9fb14c
-    'fcontext': seobject.fcontextRecords,
Packit Service 9fb14c
-    'boolean': seobject.booleanRecords,
Packit Service 9fb14c
-    'permissive': seobject.permissiveRecords,
Packit Service 9fb14c
-    'dontaudit': seobject.dontauditClass,
Packit Service 9fb14c
-    'ibpkey': seobject.ibpkeyRecords,
Packit Service 9fb14c
-    'ibendport': seobject.ibendportRecords
Packit Service 9fb14c
-}
Packit Service 9fb14c
 
Packit Service 9fb14c
 def generate_custom_usage(usage_text, usage_dict):
Packit Service 9fb14c
     # generate custom usage from given text and dictonary
Packit Service 9fb14c
@@ -608,6 +592,7 @@ def setupInterfaceParser(subparsers):
Packit Service 9fb14c
 
Packit Service 9fb14c
 
Packit Service 9fb14c
 def handleModule(args):
Packit Service 9fb14c
+    import seobject
Packit Service 9fb14c
     OBJECT = seobject.moduleRecords(args)
Packit Service 9fb14c
     if args.action_add:
Packit Service 9fb14c
         OBJECT.add(args.action_add[0], args.priority)
Packit Service 9fb14c
@@ -846,6 +831,7 @@ def mkargv(line):
Packit Service 9fb14c
 
Packit Service 9fb14c
 
Packit Service 9fb14c
 def handleImport(args):
Packit Service 9fb14c
+    import seobject
Packit Service 9fb14c
     trans = seobject.semanageRecords(args)
Packit Service 9fb14c
     trans.start()
Packit Service 9fb14c
 
Packit Service 9fb14c
@@ -887,6 +873,25 @@ def createCommandParser():
Packit Service 9fb14c
     #To add a new subcommand define the parser for it in a function above and call it here.
Packit Service 9fb14c
     subparsers = commandParser.add_subparsers(dest='subcommand')
Packit Service 9fb14c
     subparsers.required = True
Packit Service 9fb14c
+
Packit Service 9fb14c
+    import seobject
Packit Service 9fb14c
+    # define dictonary for seobject OBEJCTS
Packit Service 9fb14c
+    global object_dict
Packit Service 9fb14c
+    object_dict = {
Packit Service 9fb14c
+        'login': seobject.loginRecords,
Packit Service 9fb14c
+        'user': seobject.seluserRecords,
Packit Service 9fb14c
+        'port': seobject.portRecords,
Packit Service 9fb14c
+        'module': seobject.moduleRecords,
Packit Service 9fb14c
+        'interface': seobject.interfaceRecords,
Packit Service 9fb14c
+        'node': seobject.nodeRecords,
Packit Service 9fb14c
+        'fcontext': seobject.fcontextRecords,
Packit Service 9fb14c
+        'boolean': seobject.booleanRecords,
Packit Service 9fb14c
+        'permissive': seobject.permissiveRecords,
Packit Service 9fb14c
+        'dontaudit': seobject.dontauditClass,
Packit Service 9fb14c
+        'ibpkey': seobject.ibpkeyRecords,
Packit Service 9fb14c
+        'ibendport': seobject.ibendportRecords
Packit Service 9fb14c
+    }
Packit Service 9fb14c
+
Packit Service 9fb14c
     setupImportParser(subparsers)
Packit Service 9fb14c
     setupExportParser(subparsers)
Packit Service 9fb14c
     setupLoginParser(subparsers)
Packit Service 9fb14c
-- 
Packit Service 9fb14c
2.21.0
Packit Service 9fb14c