[equo/sulfur] do not bug user for orphaned packages not available in repos if latter don't exist

This commit is contained in:
Fabio Erculiani
2010-01-16 20:24:11 +01:00
parent f5b77e08b9
commit 3a12e33e35
2 changed files with 12 additions and 0 deletions

View File

@@ -389,6 +389,12 @@ def upgrade_packages(onlyfetch = False, replay = False, resume = False,
# verify that client database idpackage still exist,
# validate here before passing removePackage() wrong info
remove = [x for x in remove if E_CLIENT.clientDbconn.isIdpackageAvailable(x)]
# Filter out packages installed from unavailable repositories, this is
# mainly required to allow 3rd party packages installation without
# erroneously inform user about unavailability.
remove = [x for x in remove if \
E_CLIENT.clientDbconn.getInstalledPackageRepository(x) in \
E_CLIENT.validRepositories]
if remove and E_CLIENT.validRepositories and (not onlyfetch):
remove = sorted(remove)

View File

@@ -695,6 +695,12 @@ class EntropyPackages:
def _pkg_get_orphans(self):
updates, remove, fine, spm_fine = self.Entropy.calculate_updates(
critical_updates = False)
# Filter out packages installed from unavailable repositories, this is
# mainly required to allow 3rd party packages installation without
# erroneously inform user about unavailability.
remove = [x for x in remove if \
self.Entropy.clientDbconn.getInstalledPackageRepository(x) in \
self.Entropy.validRepositories]
return [x for x in map(self.__inst_pkg_setup, remove) if not \
isinstance(x, int)]