[base-resolver] Swap in the true-base-resolver

Replaces the current base-resolver implementation with that of the
true-base-resolver (which serves package directories directly from
blobfs instead of relying on pkg-cache's pkgfs/packages directory).

Uses this new base-resolver to resolve pkg-cache and so deletes
pkg-cache-resolver.

Serves the shell-commands "bin" directory from base_resolver instead
of pkg-cache. console-launcher doesn't add the "bin" directory to the
shell's namespace until the "bin" directory starts responding to
requests (to prevent hanging the shell with unresponsive namespace
entries). base_resolver using pkgfs/packages caused pkg-cache to start
early in the boot sequence, but with this change there are some
configurations where the shell accessing the "bin" directory is the
first use of a pkg-cache capability and so is when CF starts
pkg-cache. On asan builds this is slow enough that some tests fail
because "bin" isn't added to the shell's namespace soon enough and so
some shell binaries cannot be found.

Fixed: 101492
Change-Id: I188d089fe5cabb9874807018ad8b753172679100
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/794970
Commit-Queue: Ben Keller <galbanum@google.com>
Reviewed-by: Gary Bressler <geb@google.com>
Reviewed-by: Mark Dittmer <markdittmer@google.com>
Reviewed-by: Sen Jiang <senj@google.com>
26 files changed
tree: 61d54eab92f8168045ccc8b40018055fe3f5194b
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. .style.yapf
  22. analysis_options.yaml
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. fuchsia.code-workspace
  28. LICENSE
  29. OWNERS
  30. PATENTS
  31. pyrightconfig.json
  32. README.md
  33. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.