[roll] Roll fuchsia [pkg-cache][pkgfs][fshost] pkg-cache provides all pkgfs directories

All pkgfs directories (including pkgfs/, pkgfs/packages/,
pkgfs/versions/, and pkgfs/system/) are now provided by pkg-cache
instead of pkgfs.

Package directories themselves (including the elements of
pkgfs/versions/ and pkgfs/packages/*/*/ and the /pkg directory mounted
in components' namespaces) are now served by pkg-cache instead of
pkgfs.

The pkgfs directories and package directories themselves are
implemented on top of the Rust VFS library. As a result, they now
enforce hierarchical rights (e.g. opening a file with RIGHT_READABLE
requires that the directory connection over which the
fuchsia.io/Directory.Open FIDL call was made had RIGHT_READABLE) and
perform more validation of the flag, mode, and path
arguments (e.g. paths of the empty string and paths containing ".."
segments are now rejected). See
https://cs.opensource.google/fuchsia/fuchsia/+/main:src/sys/pkg/tests/pkgdir/README.md
for a full listing of the package directory behavior changes.

fshost no longer starts pkgfs (sometimes called pkgsvr).

pkg-cache is now routed an executable handle to blobfs (so it can serve
package directories).

pkg-cache is now a child of bootstrap and is resolved by the
base-resolver.

pkg-cache's other package APIs (fuchsia.pkg/PackageCache.{Open|Get}) now
use the same machinery that powers its pkgfs replacements (instead of
forwarding to pkgfs).

Original-Bug: 99148
Original-Fixed: 88871
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/630466
Original-Revision: 021b6cdc9d9e0bd5f91f5a083fec30e7dfd1791f
GitOrigin-RevId: c696018a852fb8bbe4cfa557b1a22554a9489133
Change-Id: I1c2e69f3ac23e83715d3feaebd9a0165ba3127ba
1 file changed
tree: 1946d08fa5993e1bd5f5b8d14f69c86bc184abf8
  1. infra/
  2. third_party/
  3. cts
  4. firmware
  5. flower
  6. jiri.lock
  7. minimal
  8. prebuilts
  9. README.md
  10. stem
  11. test_durations
  12. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.