Revert "service: needs_chrome_source: search for binpkgs in virtual/target depgraph"
This reverts commit 043f6050e006158201de3a2139c509e8cc45e63d.
Reason for revert: Breaks the chrome source required check,
which is causing chrome source to always not be synced.
See b/292138028#comment28.
Original change's description:
> service: needs_chrome_source: search for binpkgs in virtual/target depgraph
>
> Rather than trying to emerge the chrome package directly to see if it
> has a binpkg, emerge the high-level virtual/target-os packages. This
> will take into account things like changing deps/subslots that would
> cause a binpkg to be ignored that testing a package directly misses.
>
> BUG=b:292138028
> TEST=CQ passes
>
> Change-Id: I54d69afa88bd3346b4074c4dc2cfacc2d56e687e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4908599
> Commit-Queue: Mike Frysinger <vapier@chromium.org>
> Auto-Submit: Mike Frysinger <vapier@chromium.org>
> Reviewed-by: Alex Klein <saklein@chromium.org>
> Commit-Queue: Alex Klein <saklein@chromium.org>
> Tested-by: Mike Frysinger <vapier@chromium.org>
BUG=b:292138028
Change-Id: I8bd35ca02f067dece47d1de228334bf123f44123
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4918584
Auto-Submit: Jack Rosenthal <jrosenth@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Sergey Frolov <sfrolov@google.com>
Commit-Queue: Sergey Frolov <sfrolov@google.com>
diff --git a/lib/portage_util.py b/lib/portage_util.py
index 51193b8..9ebd091 100644
--- a/lib/portage_util.py
+++ b/lib/portage_util.py
@@ -2884,7 +2884,7 @@
return failed_pkgs
-def HasPrebuilt(atom, board=None, extra_env=None, depgraph_root_packages=None):
+def HasPrebuilt(atom, board=None, extra_env=None):
"""Check if the atom's best visible version has a prebuilt available."""
cmd = [
os.path.join(
@@ -2895,9 +2895,6 @@
if board:
cmd += ["--build-target", board]
- if depgraph_root_packages:
- cmd += ["--depgraph-root-packages", " ".join(depgraph_root_packages)]
-
if logging.getLogger().isEnabledFor(logging.DEBUG):
cmd += ["--debug"]
diff --git a/scripts/has_prebuilt.py b/scripts/has_prebuilt.py
index 6ce8b79..c262283 100644
--- a/scripts/has_prebuilt.py
+++ b/scripts/has_prebuilt.py
@@ -34,11 +34,6 @@
help="The build target that is being checked.",
)
parser.add_argument(
- "--depgraph-root-packages",
- action="split_extend",
- help="Search the depgraph starting at these packages.",
- )
- parser.add_argument(
"--output",
type="path",
required=True,
@@ -117,11 +112,7 @@
]
if board:
args.append("--board=%s" % board)
- if opts.depgraph_root_packages:
- args += [f"--reinstall-atoms={x.cp}" for x in bests.values()]
- args += opts.depgraph_root_packages
- else:
- args.extend("=%s" % best.cpvr for best in bests.values())
+ args.extend("=%s" % best.cpvr for best in bests.values())
generator = depgraph.DepGraphGenerator()
logging.debug(
diff --git a/service/packages.py b/service/packages.py
index c689ed7..77e9ffb 100644
--- a/service/packages.py
+++ b/service/packages.py
@@ -1422,7 +1422,6 @@
atom: str,
build_target: "build_target_lib.BuildTarget" = None,
useflags: Union[Iterable[str], str] = None,
- depgraph_root_packages: Optional[List[package_info.PackageInfo]] = None,
) -> bool:
"""Check if a prebuilt exists.
@@ -1432,7 +1431,6 @@
SDK if not provided.
useflags: Any additional USE flags that should be set. May be a string
of properly formatted USE flags, or an iterable of individual flags.
- depgraph_root_packages: Packages to generate the depgraph from.
Returns:
True if there is an available prebuilt, False otherwise.
@@ -1449,12 +1447,7 @@
existing = os.environ.get("USE", "")
final_flags = "%s %s" % (existing, new_flags)
extra_env = {"USE": final_flags.strip()}
- return portage_util.HasPrebuilt(
- atom,
- board=board,
- extra_env=extra_env,
- depgraph_root_packages=depgraph_root_packages,
- )
+ return portage_util.HasPrebuilt(atom, board=board, extra_env=extra_env)
def builds(atom, build_target, packages=None):
@@ -1525,7 +1518,6 @@
chrome_cpvr,
build_target=build_target,
useflags=useflags,
- depgraph_root_packages=packages,
)
if not has_chrome_prebuilt:
pkgs_needing_prebuilts.append(chrome_cpvr)
@@ -1534,10 +1526,7 @@
if not builds_pkg:
continue
prebuilt = has_prebuilt(
- pkg,
- build_target=build_target,
- useflags=useflags,
- depgraph_root_packages=packages,
+ pkg, build_target=build_target, useflags=useflags
)
has_follower_prebuilts &= prebuilt
if not prebuilt:
diff --git a/service/packages_unittest.py b/service/packages_unittest.py
index 95e0762..0c0e938 100644
--- a/service/packages_unittest.py
+++ b/service/packages_unittest.py
@@ -927,10 +927,7 @@
packages.has_prebuilt("cat/pkg-1.2.3", useflags="useflag")
patch.assert_called_with(
- "cat/pkg-1.2.3",
- board=None,
- extra_env={"USE": "useflag"},
- depgraph_root_packages=None,
+ "cat/pkg-1.2.3", board=None, extra_env={"USE": "useflag"}
)
def test_env_use_flags(self):
@@ -945,27 +942,7 @@
packages.has_prebuilt("cat/pkg-1.2.3", useflags=new_flags)
expected = "%s %s" % (existing_flags, new_flags)
patch.assert_called_with(
- "cat/pkg-1.2.3",
- board=None,
- extra_env={"USE": expected},
- depgraph_root_packages=None,
- )
-
- def test_depgraph_root_packages(self):
- """Test root depgraph packages."""
- # We don't really care about the result, just the package handling.
- patch = self.PatchObject(portage_util, "HasPrebuilt", return_value=True)
- os.unsetenv("USE")
-
- depgraph_pkgs = ["virtual/target-os"]
- packages.has_prebuilt(
- "cat/pkg-1.2.3", depgraph_root_packages=depgraph_pkgs
- )
- patch.assert_called_with(
- "cat/pkg-1.2.3",
- board=None,
- extra_env=mock.ANY,
- depgraph_root_packages=depgraph_pkgs,
+ "cat/pkg-1.2.3", board=None, extra_env={"USE": expected}
)