Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 128134 Details for
Bug 188782
portage-2.1.2.11 reverses merge order of dependencies
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
give higher priority to dependencies on packages specified as arguments
rebuild_priority.patch (text/plain), 3.58 KB, created by
Zac Medico
on 2007-08-15 01:57:41 UTC
(
hide
)
Description:
give higher priority to dependencies on packages specified as arguments
Filename:
MIME Type:
Creator:
Zac Medico
Created:
2007-08-15 01:57:41 UTC
Size:
3.58 KB
patch
obsolete
>Index: bin/emerge >=================================================================== >--- bin/emerge (revision 7599) >+++ bin/emerge (revision 7605) >@@ -778,11 +778,11 @@ > SOFT The upper boundary for soft dependencies. > MIN The lower boundary for soft dependencies. > """ >- __slots__ = ("__weakref__", "satisfied", "buildtime", "runtime", "runtime_post") >+ __slots__ = ("__weakref__", "satisfied", "buildtime", "runtime", "runtime_post", "rebuild") > MEDIUM = -1 > MEDIUM_SOFT = -2 > SOFT = -3 >- MIN = -5 >+ MIN = -6 > def __init__(self, **kwargs): > for myattr in self.__slots__: > if myattr == "__weakref__": >@@ -797,13 +797,15 @@ > return -1 > if self.runtime_post: > return -2 >+ if self.rebuild: >+ return -3 > if self.buildtime: >- return -3 >+ return -4 > if self.runtime: >- return -4 >+ return -5 > if self.runtime_post: >- return -5 >- return -5 >+ return -6 >+ return -6 > def __lt__(self, other): > return self.__int__() < other > def __le__(self, other): >@@ -1244,24 +1246,7 @@ > #"no downgrade" emerge > """ > mytype, myroot, mykey = mybigkey >- existing_node = None >- if addme: >- existing_node = self.pkg_node_map[myroot].get(mykey) >- if existing_node: >- self._parent_child_digraph.add(existing_node, myparent) >- if existing_node != myparent: >- # Refuse to make a node depend on itself so that the we don't >- # don't create a bogus circular dependency in self.altlist(). >- if rev_dep and myparent: >- self.digraph.addnode(myparent, existing_node, >- priority=priority) >- else: >- self.digraph.addnode(existing_node, myparent, >- priority=priority) >- return 1 >- >- if "--nodeps" not in self.myopts: >- self.spinner.update() >+ > if mytype == "blocks": > if myparent and \ > "--buildpkgonly" not in self.myopts and \ >@@ -1303,6 +1288,36 @@ > return 0 > del e > >+ # normal arg, not system or world >+ if arg and len(self._sets) == 1 and \ >+ "selective" not in self.myparams: >+ # For revdep-rebuild, dependencies on packages specified as >+ # arguments are given higher priority since the currently >+ # installed version has been rendered useless by ABI breakage. >+ # It's okay to increase the priority here even if the caller >+ # is not revdep-rebuild. >+ if priority.satisfied: >+ priority.rebuild = True >+ >+ existing_node = None >+ if addme: >+ existing_node = self.pkg_node_map[myroot].get(mykey) >+ if existing_node: >+ self._parent_child_digraph.add(existing_node, myparent) >+ if existing_node != myparent: >+ # Refuse to make a node depend on itself so that the we don't >+ # don't create a bogus circular dependency in self.altlist(). >+ if rev_dep and myparent: >+ self.digraph.addnode(myparent, existing_node, >+ priority=priority) >+ else: >+ self.digraph.addnode(existing_node, myparent, >+ priority=priority) >+ return 1 >+ >+ if "--nodeps" not in self.myopts: >+ self.spinner.update() >+ > reinstall_for_flags = None > merging=1 > if mytype == "installed": >@@ -2237,9 +2252,6 @@ > self._altlist_cache[reversed] = retlist[:] > return retlist > mygraph=self.digraph.copy() >- for node in mygraph.order[:]: >- if node[-1] == "nomerge": >- mygraph.remove(node) > self._merge_order_bias(mygraph) > myblockers = self.blocker_digraph.copy() > retlist=[] >@@ -2431,7 +2443,8 @@ > prefer_asap = True > > for node in selected_nodes: >- retlist.append(list(node)) >+ if node[-1] != "nomerge": >+ retlist.append(list(node)) > mygraph.remove(node) > if not reversed and not circular_blocks and myblockers.contains(node): > """This node may have invalidated one or more blockers."""
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 188782
:
128016
| 128134