From 90fe6724d0a8d1ebfe6443dee118432e20432b8b Mon Sep 17 00:00:00 2001
From: Brian Dolbec <dolsen@gentoo.org>
Date: Tue, 10 May 2016 15:12:02 -0700
Subject: [PATCH] layman/module.py: Fix commit 63808ef00f94 mis-applied
 'sourcefile' attribute changes

It was not looking for the 'sourcefile' attribute first, then falling back to the kidname for
backward compatibility.
It was incorrectly looking for an ImportError, instead of a 'sourcefile' KeyError.
The filepath of the affected file for the error message had an extra leading '_'.
Add the module name to the warning message.
---
 layman/module.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/layman/module.py b/layman/module.py
index 08bcbc2..092418f 100644
--- a/layman/module.py
+++ b/layman/module.py
@@ -49,13 +49,14 @@ class Module(object):
             kid = self.module_spec['provides'][submodule]
             kidname = kid['name']
             try:
+                kid['module_name'] = '.'.join([mod_name, kid['sourcefile']])
+            except KeyError:
                 kid['module_name'] = '.'.join([mod_name, kidname])
-            except ImportError:
-                kid['module_name'] = '.'.join([mod_name, self.name])
-                f = self.__module.__file__
-                msg = 'Module.__initialize(); module spec is old, missing '\
+                f = self._module.__file__
+                msg = 'Module.__initialize(); %(module)s module spec is old, missing '\
                       'attribute: \'sourcefile\'.\nBackward compatibility '\
-                      'may be removed in the future.\nFile: %(f)s' % {'f': f}
+                      'may be removed in the future.\nFile: %(f)s' % {
+                      'module': self.name, 'f': f}
                 self.output.warn(msg)
             kid['is_imported'] = False
             self.kids[kidname] = kid
-- 
2.8.3

