// 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.RequireSystemImage",
            ],
            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",
                },
            ],
        },
    ],
}
