# HG changeset patch # User Nicolas Chauvat # Date 1288303410 -7200 # Node ID 6205927e927a04d2e3ca4a57cfe02e0dd2ed588f # Parent 402bff8980248337212bf0f6849a49a3d2c009eb fix problem introduced with previous commit diff -r 402bff898024 -r 6205927e927a cwconfig.py --- a/cwconfig.py Thu Oct 28 19:37:59 2010 +0200 +++ b/cwconfig.py Fri Oct 29 00:03:30 2010 +0200 @@ -494,8 +494,6 @@ deps = dict( (x[len('cubicweb-'):], v) for x, v in gendeps.iteritems() if x.startswith('cubicweb-')) - if 'cubicweb' in gendeps: - deps['cubicweb'] = gendeps['cubicweb'] if not isinstance(deps, dict): deps = dict((key, None) for key in deps) warn('[3.8] cube %s should define %s as a dict' % (cube, key), @@ -510,6 +508,16 @@ return deps @classmethod + def cube_depends_cubicweb_version(cls, cube): + # XXX no backward compat (see _cube_deps above) + try: + pkginfo = cls.cube_pkginfo(cube) + deps = getattr(pkginfo, '__depends__') + return deps.get('cubicweb') + except AttributeError: + return None + + @classmethod def cube_dependencies(cls, cube): """return cubicweb cubes used by the given cube""" return cls._cube_deps(cube, '__depends_cubes__', '__use__') diff -r 402bff898024 -r 6205927e927a migration.py --- a/migration.py Thu Oct 28 19:37:59 2010 +0200 +++ b/migration.py Fri Oct 29 00:03:30 2010 +0200 @@ -470,6 +470,7 @@ for cube in self.cubes: if cube == 'cubicweb': continue self.dependencies[cube] = dict(self.config.cube_dependencies(cube)) + self.dependencies[cube]['cubicweb'] = self.config.cube_depends_cubicweb_version(cube) # compute reverse dependencies for cube, dependencies in self.dependencies.iteritems(): for name, constraint in dependencies.iteritems():