Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 279557 Details for
Bug 374397
portage goes into endless loop when trying to emerge some packages
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
fix exponential loop triggered by REQUIRED_USE in php ebuild
circ_fix.patch (text/plain), 1.66 KB, created by
Zac Medico
on 2011-07-10 01:34:09 UTC
(
hide
)
Description:
fix exponential loop triggered by REQUIRED_USE in php ebuild
Filename:
MIME Type:
Creator:
Zac Medico
Created:
2011-07-10 01:34:09 UTC
Size:
1.66 KB
patch
obsolete
>From 58766559735c0d643bf1a9e5f2979ec6548fff94 Mon Sep 17 00:00:00 2001 >From: Zac Medico <zmedico@gentoo.org> >Date: Sat, 9 Jul 2011 18:26:26 -0700 >Subject: [PATCH] circular_dependency: fix ridiculously long loop > >The flags from REQUIRED_USE were added to affecting_use, which was not >really necessary and was a bad idea because a number of flags in >affecting_use affects our number of loops exponentially. This will fix >bug #374397 in which the large number of flags in the REQUIRED_USE of >dev-lang/php-5.3.6-r1 triggered execution of 2 ^ 45 loops. >--- > pym/_emerge/resolver/circular_dependency.py | 10 ---------- > 1 files changed, 0 insertions(+), 10 deletions(-) > >diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py >index 994e202..cb64962 100644 >--- a/pym/_emerge/resolver/circular_dependency.py >+++ b/pym/_emerge/resolver/circular_dependency.py >@@ -138,17 +138,7 @@ class circular_dependency_handler(object): > usemask, useforce = self._get_use_mask_and_force(parent) > autounmask_changes = self._get_autounmask_changes(parent) > untouchable_flags = frozenset(chain(usemask, useforce, autounmask_changes)) >- > affecting_use.difference_update(untouchable_flags) >- >- #If any of the flags we're going to touch is in REQUIRED_USE, add all >- #other flags in REQUIRED_USE to affecting_use, to not lose any solution. >- required_use_flags = get_required_use_flags(parent.metadata["REQUIRED_USE"]) >- >- if affecting_use.intersection(required_use_flags): >- affecting_use.update(required_use_flags) >- affecting_use.difference_update(untouchable_flags) >- > affecting_use = tuple(affecting_use) > > if not affecting_use: >-- >1.7.6 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 374397
:
279539
|
279549
|
279551
| 279557