diff options
author | Necoro <> | 2008-01-14 10:31:51 +0000 |
---|---|---|
committer | Necoro <> | 2008-01-14 10:31:51 +0000 |
commit | 60e51e08dde38b982dc84923e3678555aeef21ba (patch) | |
tree | 6c5d4481df50f53fb932a31698a9fbcfdff5b72f /portato/backend/portage/system.py | |
parent | 933b7e68f19d6107bff06b29fbbce7f364fba74a (diff) | |
download | portato-60e51e08dde38b982dc84923e3678555aeef21ba.tar.gz portato-60e51e08dde38b982dc84923e3678555aeef21ba.tar.bz2 portato-60e51e08dde38b982dc84923e3678555aeef21ba.zip |
r603@Devoty: necoro | 2008-01-14 11:30:26 +0100
Improved 'update world'; really support new use defaults
Diffstat (limited to '')
-rw-r--r-- | portato/backend/portage/system.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/portato/backend/portage/system.py b/portato/backend/portage/system.py index d4f4aef..77004a7 100644 --- a/portato/backend/portage/system.py +++ b/portato/backend/portage/system.py @@ -368,14 +368,14 @@ class PortageSystem (SystemInterface): # append system packages packages.extend(unique_array([p.get_cp() for p in self.find_all_system_packages()])) - states = [(["RDEPEND","PDEPEND"],True), (["DEPEND"], False)] + states = [(["RDEPEND","PDEPEND"],True)]#, (["DEPEND"], False)] if self.with_bdeps(): states[1] = (["DEPEND"], True) checked = [] updating = [] raw_checked = {} - def check (p, add_not_installed = True): + def check (p, add_not_installed = True, prev_appended = False): """Checks whether a package is updated or not.""" if p.get_slot_cp() in checked: @@ -426,7 +426,11 @@ class PortageSystem (SystemInterface): appended = True if deep or tempDeep: - for state in states: + if (appended or prev_appended) and len(states) < 2: + real_states = states + [("DEPEND", False)] + else: + real_states = states + for state in real_states: for i in p.get_matched_dep_packages(state[0]): if i not in raw_checked or raw_checked[i] == False: raw_checked.update({i : state[1]}) @@ -436,7 +440,7 @@ class PortageSystem (SystemInterface): else: for pkg in bm: if not pkg: continue - check(pkg, state[1]) + check(pkg, state[1], appended) for p in self.get_new_packages(packages): if not p: continue # if a masked package is installed we have "None" here |