diff options
| author | Christophe Simonis <christophe@tinyerp.com> | 2008-11-20 18:16:29 +0100 |
|---|---|---|
| committer | Christophe Simonis <christophe@tinyerp.com> | 2008-11-20 18:16:29 +0100 |
| commit | a101ca492b6015cb06cbeea98ca6e2c6a2aff6f9 (patch) | |
| tree | 5ae5d966cad5d078bae068b36667646ccfcbd081 | |
| parent | b54f7619985953805ccdc7a154e6e8e0f862a978 (diff) | |
[IMP] display the list of unmet dependencies
bzr revid: christophe@tinyerp.com-20081120171629-v30gaho2xopkpwuj
| -rw-r--r-- | bin/addons/__init__.py | 10 |
1 files 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 |
