Rearrange _selinux ImportError handling so the workaround for bug #298310
authorZac Medico <zmedico@gentoo.org>
Fri, 29 Jan 2010 18:45:33 +0000 (18:45 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 29 Jan 2010 18:45:33 +0000 (18:45 -0000)
isn't necessary. (trunk r15167)

svn path=/main/branches/2.1.7/; revision=15235

pym/portage/__init__.py

index 7e148a354f93f26c450f95cc7c38ae361a437805..d9a82bc83666ce39f8502f772072697dce0a2b09 100644 (file)
@@ -288,23 +288,19 @@ import shutil as _shutil
 shutil = _unicode_module_wrapper(_shutil, encoding=_encodings['fs'])
 
 # Imports below this point rely on the above unicode wrapper definitions.
-_selinux = None
-selinux = None
-_selinux_merge = None
 try:
        import portage._selinux
-       # Make sure the _selinux attribute is correctly reinitialized after
-       # reload(portage) is called. See bug #298310.
-       _selinux = sys.modules['portage._selinux']
        selinux = _unicode_module_wrapper(_selinux,
                encoding=_encodings['fs'])
        _selinux_merge = _unicode_module_wrapper(_selinux,
                encoding=_encodings['merge'])
-except OSError as e:
-       sys.stderr.write("!!! SELinux not loaded: %s\n" % str(e))
+except (ImportError, OSError) as e:
+       if isinstance(e, OSError):
+               sys.stderr.write("!!! SELinux not loaded: %s\n" % str(e))
        del e
-except ImportError:
-       pass
+       _selinux = None
+       selinux = None
+       _selinux_merge = None
 
 from portage.manifest import Manifest