# Copyright 2018 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.

import("//products/bringup.gni")

bootfs_only = false

# Kernel command line arguments.
product_bootfs_labels -= [
  "//products/kernel_cmdline:devmgr.log-to-debuglog--true",
  "//products/kernel_cmdline:kernel.oom.behavior--jobkill",
]
product_bootfs_labels +=
    [ "//products/kernel_cmdline:kernel.oom.behavior--reboot" ]

meta_package_labels += [
  "//build/images:config-data",
  "//build/images:shell-commands",
  "//src/sys/component_index:component_index",
]

product_system_image_deps = [
  "//src/connectivity/bluetooth:core-system",

  # Test drivers will only be loaded as tests require. They should be removed from production
  # products that have limited storage.
  # TODO(fxbug.dev/3150): Move to a regular package.
  "//src/graphics/lib/magma/tests:test-drivers",
  "//src/sys/pkg:pkgfs-disable-executability-restrictions",
]

core_realm_package_name = "core"
core_realm_shards = []

base_package_labels += [
  "//build/info:build-info",
  "//garnet/bin/log_listener:log_listener",
  "//garnet/bin/log_listener:log_listener_shell",
  "//src/intl/intl_services:small",
  "//garnet/bin/setui:setui_service",
  "//garnet/bin/sshd-host",
  "//garnet/bin/sshd-host:config",
  "//garnet/bin/sysmgr",
  "//garnet/bin/sysmgr:network_config",
  "//garnet/bin/sysmgr:services_config",
  "//garnet/bin/timezone",
  "//src/cobalt/bin/app:cobalt",
  "//src/cobalt/bin/app:cobalt_registry",
  "//src/cobalt/bin/app:config",
  "//src/cobalt/bin/system-metrics:cobalt_system_metrics",
  "//src/cobalt/bin/system-metrics:config",
  "//src/connectivity/bluetooth:core",
  "//src/connectivity/management/reachability",
  "//src/connectivity/management/reachability:reachability_sysmgr_config",
  "//src/connectivity/management:network_config_default",
  "//src/connectivity/network/mdns/bundles:config",
  "//src/connectivity/network/mdns/bundles:services",
  "//src/connectivity/network:config",
  "//src/connectivity/wlan:packages",
  "//src/connectivity/wlan/config:default",
  "//src/developer/build_info:build-info-service",
  "//src/developer/forensics:pkg",
  "//src/developer/forensics/feedback_data:sysmgr_config",
  "//src/developer/forensics/snapshot:pkg",
  "//src/diagnostics/config/persistence",
  "//src/diagnostics/config/triage:triage-detect",
  "//src/diagnostics/detect:triage-detect",
  "//src/diagnostics/persistence:diagnostics-persistence",
  "//src/diagnostics/log-stats:package",
  "//src/diagnostics/sampler",
  "//src/hwinfo:hwinfo",
  "//src/hwinfo:default_product_config",
  "//src/media/audio/bundles:audio_config",
  "//src/recovery/factory_reset",
  "//src/security/policy:appmgr_policy_eng",
  "//src/security/root_ssl_certificates",
  "//src/sys/activity",
  "//src/sys/appmgr",
  "//src/sys/appmgr:appmgr_scheme_config",

  # All components are allowed to use isolated-persistent-storage, even if
  # they're not in the component ID index.
  "//src/sys/appmgr:component_id_index_no_restrict_storage",
  "//src/sys/appmgr:core_component_id_index",

  "//src/sys/device_settings:device_settings_manager",
  "//src/sys/pkg:core",
  "//src/sys/pkg:system-update-checker",
  "//src/sys/pkg/bin/pkg-resolver:enable_dynamic_configuration",
  "//src/sys/pkg/bin/system-update-committer:enable_reboot_on_verification_failure",
  "//src/sys/stash:pkg",
  "//src/sys/time/httpsdate_time_source:httpsdate-time-source",
  "//src/sys/time/timekeeper",
  "//src/sys/universe-resolver",

  "//third_party/openssh-portable/fuchsia/developer-keys:ssh_config",
]

# Tools to control the pkg subsystem are in the base package set by default
# so the software delivery system can be debugged and reconfigured without
# access to the full universe package set.
# Product configurations that lack an accessible shell environment should
# remove these tools from the base package set.
base_package_labels += [ "//src/sys/pkg:tools" ]

# cargo-gnaw is currently part of all build graphs, but it should only
# built by fx tooling
base_package_labels += [ "//tools/cargo-gnaw:install-cargo-gnaw" ]

cache_package_labels += [ "//src/developer/ffx:runtime" ]

product_system_image_deps += [ "//bundles:tools-system" ]
universe_package_labels += [ "//bundles:tools" ]

product_bootfs_labels += [
  # Core products have pkgfs, so include the base resolver.
  "//src/sys/base-resolver:bootfs",
]
