| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| { |
| children: [ |
| { |
| // pkg-cache is present on all product configurations except |
| // bringup builds, as its dependency blobfs is not available on |
| // bringup builds either. |
| name: "pkg-cache", |
| url: "fuchsia-boot:///pkg-cache#meta/pkg-cache.cm", |
| on_terminate: "reboot", |
| }, |
| { |
| name: "pkg-shell-commands", |
| url: "fuchsia-pkg://fuchsia.com/pkg-shell-commands#meta/shell-commands.cm", |
| environment: "#base-resolver-env", |
| }, |
| ], |
| offer: [ |
| { |
| config: [ |
| "fuchsia.pkgcache.AllPackagesExecutable", |
| "fuchsia.pkgcache.EnableUpgradablePackages", |
| "fuchsia.pkgcache.UseSystemImage", |
| ], |
| from: "parent", |
| to: "#pkg-cache", |
| }, |
| { |
| config: "fuchsia.zircon.system.pkgfs.cmd", |
| from: "#kernel-args-forwarder/boot_args", |
| to: "#pkg-cache", |
| }, |
| { |
| dictionary: "diagnostics", |
| from: "self", |
| to: [ "#pkg-cache" ], |
| }, |
| { |
| protocol: "fuchsia.tracing.provider.Registry", |
| from: "parent", |
| to: "#pkg-cache", |
| availability: "optional", |
| }, |
| { |
| protocol: [ "fuchsia.kernel.VmexResource" ], |
| from: "parent", |
| to: "#pkg-cache", |
| }, |
| { |
| protocol: [ |
| "fuchsia.metrics.MetricEventLoggerFactory", |
| "fuchsia.update.CommitStatusProvider", |
| ], |
| from: "parent", |
| to: "#pkg-cache", |
| dependency: "weak", |
| }, |
| { |
| directory: "blob-exec", |
| from: "#fshost", |
| to: [ "#pkg-cache" ], |
| }, |
| { |
| protocol: "fuchsia.fxfs.BlobCreator", |
| from: "#fshost", |
| to: "#pkg-cache", |
| }, |
| { |
| protocol: "fuchsia.fxfs.BlobReader", |
| from: "#fshost", |
| to: "#pkg-cache", |
| }, |
| { |
| directory: "boot", |
| from: "parent", |
| as: "bootfs-blobs", |
| to: "#pkg-cache", |
| rights: [ "rx*" ], |
| subdir: "blob", |
| }, |
| { |
| directory: "bin", |
| from: "#pkg-shell-commands", |
| to: "self/toolbox-directories", |
| target_availability: "unknown", |
| }, |
| { |
| directory: [ |
| "build-info", |
| "pkgfs", |
| "root-ssl-certificates", |
| "system", |
| ], |
| from: "#pkg-cache", |
| to: "self/toolbox-directories", |
| target_availability: "unknown", |
| }, |
| { |
| protocol: [ |
| "fuchsia.pkg.garbagecollector.Manager", |
| "fuchsia.pkg.PackageCache", |
| ], |
| from: "#pkg-cache", |
| to: "self/toolbox", |
| target_availability: "unknown", |
| }, |
| ], |
| expose: [ |
| { |
| resolver: "base_resolver", |
| from: "#pkg-cache", |
| }, |
| { |
| directory: [ |
| "build-info", |
| "config-data", |
| "pkgfs", |
| "root-ssl-certificates", |
| "system", |
| ], |
| from: "#pkg-cache", |
| }, |
| { |
| directory: "bin", |
| from: "#pkg-shell-commands", |
| as: "base-bin", |
| }, |
| { |
| protocol: "fuchsia.pkg.PackageResolver", |
| from: "#pkg-cache", |
| as: "fuchsia.pkg.PackageResolver-base", |
| }, |
| { |
| protocol: "fuchsia.component.resolution.Resolver", |
| from: "#pkg-cache", |
| as: "fuchsia.component.resolution.Resolver-base", |
| }, |
| { |
| protocol: [ |
| "fuchsia.pkg.garbagecollector.Manager", |
| "fuchsia.pkg.PackageCache", |
| "fuchsia.pkg.RetainedBlobs", |
| "fuchsia.pkg.RetainedPackages", |
| ], |
| from: "#pkg-cache", |
| }, |
| ], |
| environments: [ |
| { |
| name: "base-resolver-env", |
| extends: "realm", |
| resolvers: [ |
| { |
| resolver: "base_resolver", |
| from: "#pkg-cache", |
| scheme: "fuchsia-pkg", |
| }, |
| ], |
| }, |
| ], |
| } |