# HG changeset patch # User Sylvain Thénault # Date 1278497369 -7200 # Node ID 64198285352e74d61d4c049d81449ea2fa561692 # Parent 36206e846a2712c4763e6e4a202cab5f1140e667 [config] expand_cubes(with_recommends=True) shouldn't return recommened-but-not-installed cubes diff -r 36206e846a27 -r 64198285352e cwconfig.py --- a/cwconfig.py Wed Jul 07 12:08:10 2010 +0200 +++ b/cwconfig.py Wed Jul 07 12:09:29 2010 +0200 @@ -497,6 +497,13 @@ deps = dict((key, None) for key in deps) warn('[3.8] cube %s should define %s as a dict' % (cube, key), DeprecationWarning) + for depcube in deps: + try: + newname = CW_MIGRATION_MAP[depcube] + except KeyError: + pass + else: + deps[newname] = deps.pop(depcube) return deps @classmethod @@ -516,17 +523,17 @@ """ cubes = list(cubes) todo = cubes[:] + if with_recommends: + available = set(cls.available_cubes()) while todo: cube = todo.pop(0) for depcube in cls.cube_dependencies(cube): if depcube not in cubes: - depcube = CW_MIGRATION_MAP.get(depcube, depcube) cubes.append(depcube) todo.append(depcube) if with_recommends: for depcube in cls.cube_recommends(cube): - if depcube not in cubes: - depcube = CW_MIGRATION_MAP.get(depcube, depcube) + if depcube not in cubes and depcube in available: cubes.append(depcube) todo.append(depcube) return cubes