diff options
-rwxr-xr-x | bin/emerge | 5 | ||||
-rw-r--r-- | pym/portage.py | 26 |
2 files changed, 3 insertions, 28 deletions
diff --git a/bin/emerge b/bin/emerge index a8af02919..afd107080 100755 --- a/bin/emerge +++ b/bin/emerge @@ -717,12 +717,13 @@ class depgraph: return 1 jbigkey = " ".join(mybigkey) + " nomerge" if self.digraph.hasnode(jbigkey): + """XXX: It's possible that this package has been explicitly + requested as a command line argument. This can be solved by + checking all args prior to marking packages as nomerge""" if rev_dep and myparent: self.digraph.addnode(myparent, jbigkey, soft_dep=soft_dep) else: self.digraph.addnode(jbigkey, myparent, soft_dep=soft_dep) - if arg: - self.digraph.replace(jbigkey, " ".join(mybigkey) + " merge") return 1 self.spinner.update() diff --git a/pym/portage.py b/pym/portage.py index a97c50171..104f1a279 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -364,32 +364,6 @@ class digraph: del self.nodes[node] self.order.remove(node) - def replace(self, oldnode, newnode): - """Replace all references to oldnode with references to newnode. - This is useful for upgrading a "nomerge" node to a "merge" node. - - @return: - 1. None on success. - 2. Raise a KeyError if oldnode does not exist. - 3. Raise a ValueError if newnode already exists. - """ - if not self.contains(oldnode): - raise KeyError(oldnode) - if oldnode == newnode: - return - if newnode in self.nodes: - raise ValueError(newnode) - for parent in self.nodes[oldnode][1]: - self.nodes[parent][0][newnode] = self.nodes[parent][0][oldnode] - del self.nodes[parent][0][oldnode] - for child in self.nodes[oldnode][0]: - self.nodes[child][1][newnode] = self.nodes[child][1][oldnode] - del self.nodes[child][1][oldnode] - self.nodes[newnode] = self.nodes[oldnode] - del self.nodes[oldnode] - oldindex = self.order.index(oldnode) - self.order[oldindex] = newnode - def contains(self, node): """Checks if the digraph contains mynode""" return node in self.nodes |