From a101ca492b6015cb06cbeea98ca6e2c6a2aff6f9 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 20 Nov 2008 18:16:29 +0100 Subject: [PATCH] [IMP] display the list of unmet dependencies bzr revid: christophe@tinyerp.com-20081120171629-v30gaho2xopkpwuj --- bin/addons/__init__.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index 332bb6cc490..a5115deccc5 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -185,8 +185,9 @@ def create_graph(module_list, force=None): raise if info.get('installable', True): packages.append((module, info.get('depends', []), info)) - - current,later = Set([p for p, dep, data in packages]), Set() + + dependencies = dict([(p, deps) for p, deps, data in packages]) + current, later = Set([p for p, dep, data in packages]), Set() while packages and current > later: package, deps, datas = packages[0] @@ -207,9 +208,10 @@ def create_graph(module_list, force=None): later.add(package) packages.append((package, deps, datas)) packages.pop(0) - + for package in later: - logger.notifyChannel('init', netsvc.LOG_ERROR, 'addon:%s:Unmet dependency' % package) + unmet_deps = filter(lambda p: p not in graph, dependencies[package]) + logger.notifyChannel('init', netsvc.LOG_ERROR, 'addon:%s:Unmet dependencies: %s' % (package, ', '.join(unmet_deps))) return graph