Don't try to match call best_match_to_list() on "blocks" nodes for bug #149576.
authorZac Medico <zmedico@gentoo.org>
Sat, 30 Sep 2006 04:06:53 +0000 (04:06 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 30 Sep 2006 04:06:53 +0000 (04:06 -0000)
svn path=/main/trunk/; revision=4566

bin/emerge

index fa9b76f038c74cdf6bcc89d35d6c77fe92459bbb..e571ceb88b641711e2f7520c63c6fb3777ae2c8b 100755 (executable)
@@ -715,6 +715,12 @@ class depgraph:
                
                self.spinner.update()
                mytype,myroot,mykey=mybigkey
+               if mytype == "blocks":
+                       if addme and "--buildpkgonly" not in self.myopts and myparent:
+                               mybigkey[1] = myparent.split()[1]
+                               self.digraph.addnode(" ".join(mybigkey), myparent,
+                                       soft_dep=soft_dep)
+                       return 1
                if not arg:
                        arg = portage.best_match_to_list(mykey, self.args_keys)
                # select the correct /var database that we'll be checking against
@@ -725,18 +731,8 @@ class depgraph:
 
                # if the package is already on the system, we add a "nomerge"
                # directive, otherwise we add a "merge" directive.
-               
-               if mytype=="blocks":
-                       """ We ignore blocks unless the package that is blocked is installed
-                           We need to check vardbapi as well as the current depgraph for it.
-                           Blocks are fatal if buildpkgonly is set. """
-                       if addme and "--buildpkgonly" not in self.myopts and myparent:
-                               mybigkey[1] = myparent.split()[1]
-                               self.digraph.addnode(" ".join(mybigkey), myparent,
-                                       soft_dep=soft_dep)
-                       return 1
-               else:
-                       mydbapi = self.trees[myroot][self.pkg_tree_map[mytype]].dbapi
+
+               mydbapi = self.trees[myroot][self.pkg_tree_map[mytype]].dbapi
 
                if myuse is None:
                        self.pkgsettings[myroot].setcpv(mykey)