parallel_emerge: update emerge package api

Upstream has deprecated the .metadata member.

BUG=chromium:218085
TEST=paladin and full builds work on both the old and new versions of portage

Change-Id: I30e8ac38dbea787f126ecead2264262bb092c61b
Reviewed-on: https://gerrit.chromium.org/gerrit/43527
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
diff --git a/scripts/parallel_emerge.py b/scripts/parallel_emerge.py
index e444133..ecd1f25 100644
--- a/scripts/parallel_emerge.py
+++ b/scripts/parallel_emerge.py
@@ -70,6 +70,8 @@
 from portage._global_updates import _global_updates
 import portage
 import portage.debug
+from portage.versions import vercmp
+
 
 def Usage():
   """Print usage."""
@@ -557,7 +559,10 @@
         emerge_pkg = self.package_db.get(pkg)
         if emerge_pkg and emerge_pkg.type_name == "binary":
           this_pkg["binary"] = True
-          defined_phases = emerge_pkg.metadata.defined_phases
+          if 0 <= vercmp(portage.VERSION, "2.1.11.50"):
+            defined_phases = emerge_pkg.defined_phases
+          else:
+            defined_phases = emerge_pkg.metadata.defined_phases
           defined_binpkg_phases = binpkg_phases.intersection(defined_phases)
           if not defined_binpkg_phases:
             this_pkg["nodeps"] = True