Ignore missed packages in new development platform

This commit is contained in:
Ivan Kravets
2017-08-07 19:33:13 +03:00
parent 4700419590
commit c05e1f7c9b

View File

@@ -113,20 +113,21 @@ class PlatformManager(BasePkgManager):
pkg_dir = self.get_package_dir(name, requirements, url) pkg_dir = self.get_package_dir(name, requirements, url)
p = PlatformFactory.newPlatform(pkg_dir) p = PlatformFactory.newPlatform(pkg_dir)
pkgs_before = pkgs_after = p.get_installed_packages().keys() pkgs_before = p.get_installed_packages().keys()
missed_pkgs = set()
if not only_packages: if not only_packages:
BasePkgManager.update(self, pkg_dir, requirements, only_check) BasePkgManager.update(self, pkg_dir, requirements, only_check)
p = PlatformFactory.newPlatform(pkg_dir) p = PlatformFactory.newPlatform(pkg_dir)
pkgs_after = p.get_installed_packages().keys() missed_pkgs = set(pkgs_before) & set(p.packages.keys())
missed_pkgs -= set(p.get_installed_packages().keys())
p.update_packages(only_check) p.update_packages(only_check)
self.cleanup_packages(p.packages.keys()) self.cleanup_packages(p.packages.keys())
pkgs_missed = set(pkgs_before) - set(pkgs_after) if missed_pkgs:
if pkgs_missed:
p.install_packages( p.install_packages(
with_packages=pkgs_missed, skip_default_package=True) with_packages=list(missed_pkgs), skip_default_package=True)
return True return True