diff options
Diffstat (limited to 'pym/_emerge/Scheduler.py')
-rw-r--r-- | pym/_emerge/Scheduler.py | 63 |
1 files changed, 1 insertions, 62 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index d5c152f15..ae9cbcaa8 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -721,63 +721,6 @@ class Scheduler(PollScheduler): return 1 return os.EX_OK - def _check_required_use(self): - # Make sure all constraints expressed in REQUIRED_USE are satisfied - - failures = 0 - shown_verifying_msg = False - for x in self._mergelist: - if not isinstance(x, Package): - continue - - if x.operation == "uninstall": - continue - - if x.metadata["EAPI"] in ("0", "1", "2", "3"): - continue - - if not x.metadata["REQUIRED_USE"]: - continue - - if not shown_verifying_msg: - shown_verifying_msg = True - self._status_msg("Verifying use flag constraints") - - required_use = x.metadata["REQUIRED_USE"] - use = x.metadata["USE"].split() - iuse = x.metadata["IUSE"].split() - - try: - sat, unsat = portage.dep.check_required_use(required_use, use, iuse) - except portage.exception.InvalidRequiredUseString as e: - failures += 1 - portage.writemsg("!!! Invalid REQUIRED_USE specified by " + \ - "'%s': %s\n" % (x.cpv, str(e)), noiselevel=-1) - del e - continue - - if unsat: - failures += 1 - if sat: - #not all constraints are violated, display the them all to not annoy - #the user with another violated constraint after he fixed the first one - portage.writemsg( - "!!! Use flag constraints for '%s' not met.\n" % x.cpv + \ - "!!! violated constraint(s): '%s'\n" % unsat + \ - "!!! all constraint(s): '%s'\n" % required_use, noiselevel=-1) - else: - portage.writemsg( - "!!! Use flag constraints for '%s' not met.\n" % x.cpv + \ - "!!! constraint(s): '%s'\n" % required_use, noiselevel=-1) - if failures: - portage.writemsg("\n") - portage.writemsg("Explanation: || ( a b c ): at least one of 'a', 'b' or 'c' must be enabled\n") - portage.writemsg("Explanation: ^^ ( a b c ): exactly one of 'a', 'b' or 'c' must be enabled\n") - portage.writemsg("Explanation: a? ( b ): b needs to be enabled if a is enabled\n") - portage.writemsg("Explanation: '!'-prefix reverses the required state\n") - return 1 - return os.EX_OK - def _add_prefetchers(self): if not self._parallel_fetch: @@ -1047,14 +990,10 @@ class Scheduler(PollScheduler): if rval != os.EX_OK and not keep_going: return rval - rval = self._check_required_use() - if rval != os.EX_OK: - return rval - rval = self._run_pkg_pretend() if rval != os.EX_OK: return rval - + while True: rval = self._merge() if rval == os.EX_OK or fetchonly or not keep_going: |