diff --git a/pisi/cli/upgrade.py b/pisi/cli/upgrade.py index 8f049755..bb90d75c 100644 --- a/pisi/cli/upgrade.py +++ b/pisi/cli/upgrade.py @@ -45,7 +45,6 @@ expanded to package names. def __init__(self, args): super(Upgrade, self).__init__(args) - self.componentdb = pisi.db.componentdb.ComponentDB() name = ("upgrade", "up") @@ -96,12 +95,13 @@ expanded to package names. components = ctx.get_option('component') packages = [] if components: + componentdb = pisi.db.componentdb.ComponentDB() for name in components: - if self.componentdb.has_component(name): + if componentdb.has_component(name): if repository: - packages.extend(self.componentdb.get_packages(name, walk=True, repo=repository)) + packages.extend(componentdb.get_packages(name, walk=True, repo=repository)) else: - packages.extend(self.componentdb.get_union_packages(name, walk=True)) + packages.extend(componentdb.get_union_packages(name, walk=True)) packages.extend(self.args) packages = pisi.blacklist.exclude_from(packages, ctx.const.blacklist) diff --git a/pisi/db/lazydb.py b/pisi/db/lazydb.py index 16ecb074..8a546ee9 100644 --- a/pisi/db/lazydb.py +++ b/pisi/db/lazydb.py @@ -31,6 +31,7 @@ class Singleton(object): return self._the_instances[type(self).__name__] def _delete(self): + #FIXME: After invalidate, previously initialized db object becomes stale del self._the_instances[type(self).__name__] class LazyDB(Singleton):