blob: 484b186ea5df049c6da7c75147c6fc65460ce5cd [file] [log] [blame]
// 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",
},
],
},
],
}