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