blob: 9ab2eac3d67a4de8810c61043a1f9dfbd346fbf9 [file] [log] [blame]
# 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/minimal.gni")
include_shell_commands_package = true
product_system_image_deps = []
# Remove all minimal build kernel flags.
product_bootfs_labels -= [ "//products/kernel_cmdline:minimal" ]
product_bootfs_labels +=
[ "//products/kernel_cmdline:kernel.oom.behavior--reboot" ]
# core and above are larger products, make sure that we're not using the "low"
# timeout
product_bootfs_labels += [ "//products/kernel_cmdline:oom.reboot-timeout--low" ]
product_bootfs_labels -= [ "//products/kernel_cmdline:oom.reboot-timeout--low" ]
core_realm_package_name = "core"
core_realm_shards += [
"//src/connectivity/bluetooth/tools/bt-snoop:bt-snoop-core-shard",
"//src/connectivity/wlan/wlancfg:wlancfg-core-shard",
"//src/connectivity/wlan/wlandevicemonitor:wlandevicemonitor-core-shard",
"//src/connectivity/wlan/wlanstack:wlanstack-core-shard",
"//src/developer/debug/debug_agent:core_shard",
"//src/developer:default-laboratory-env-core-shard",
"//src/developer/remote-control:laboratory-core-shard",
"//src/devices/bin/driver_playground:driver-playground-core-shard",
"//src/developer/process_explorer:process_explorer_core_shard",
"//src/media/audio/audio_core:core_shard",
"//src/media/sounds/soundplayer:core_shard",
"//src/performance/trace_manager:trace_manager_core_shard",
"//src/proc/bin/starnix_manager:starnix_manager_core_shard",
"//src/settings/service:setui_service_core_shard",
"//src/sys/pkg/bin/system-update-checker:system-update-checker-core-shard",
"//src/sys/pkg/bin/system-updater:system-updater-core-shard",
"//src/intl/tzdata_provider:core-shard",
"//src/testing/metrics-logger:metrics-logger-shard",
# TODO(fxbug.dev/80375): only include in eng builds
"//src/sys/test_manager:test_manager_core_shard",
"//src/sys/fuzzing:fuzzing-core-shard",
"//src/developer/sshd-host:core_shard",
# TODO(fxbug.dev/103301): consider moving virtualization to another product
"//src/virtualization/bin/guest_manager:debian_core_shard",
"//src/virtualization/bin/guest_manager:termina_core_shard",
"//src/virtualization/bin/guest_manager:zircon_core_shard",
]
core_realm_restrict_persistent_storage = false
core_realm_shards += [
"//src/intl/intl_services:intl_services_small_shard",
# Serve fuchsia.intl.TimeZones through intl_services by default. This is
# needed in core.gni for tests that use the core image.
"//src/intl/intl_services:intl_services_small_timezones_shard",
]
legacy_base_package_labels += [
"//src/developer/forensics/snapshot:pkg",
"//src/diagnostics/log_listener:log_listener_shell",
"//src/connectivity/bluetooth:core",
"//src/connectivity/wlan:packages",
"//src/devices/sysmem/bin/sysmem_connector",
"//src/intl/intl_services:pkg_small",
"//src/intl/tzdata_provider:pkg",
"//src/settings/service:setui_service",
# TODO(fxbug.dev/80375): only include in eng builds
"//src/developer/sshd-host",
"//src/developer/sshd-host:config",
]
# TODO(fxbug.dev/102390): We include this separately from appmgr because if
# this is excluded when appmgr is removed, it will cause scrutiny errors in
# test_manager.
#
# This is a workaround to make it easier to remove appmgr. Ideally,
# we ought to create a variant of test_manager that excludes fuchsia.sys routes.
core_realm_shards +=
[ "//src/sys/test_manager:test_manager_cmx_support_core_shard" ]
# TODO(fxbug.dev/102390): deprecate appmgr from core.
import("//src/sys/appmgr/appmgr.gni")
legacy_base_package_labels += appmgr_base_packages
core_realm_shards += appmgr_core_shards
# 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.
legacy_base_package_labels += [ "//src/sys/pkg:tools" ]
# cargo-gnaw is currently part of all build graphs, but it should only
# built by fx tooling
legacy_base_package_labels += [ "//tools/cargo-gnaw:install-cargo-gnaw" ]
base_driver_package_labels += [ "//src/connectivity/bluetooth:core-drivers" ]
legacy_cache_package_labels += [ "//src/developer/ffx:runtime" ]
legacy_universe_package_labels += [
"//bundles/tools",
"//src/devices/bin/driver_playground:pkg",
"//src/testing/metrics-logger",
# Archivist for manual embedding in tests. Note that this archivist won't attribute logs by
# moniker and is unable to ingest Inspect.
"//src/diagnostics/archivist:archivist-without-attribution",
]
# Set the default pkgfs allowlist to use for all core-based products to the
# "eng" allowlist.
product_system_image_deps +=
[ "//src/security/policy:pkgfs_non_static_pkgs_allowlist_eng" ]
# Use the product assembly config file to specify the product configuration.
#
# NOTE: This should be overridden by products which inherit from core.
fuchsia_product_assembly_config_label = "//products/core"
fuchsia_product_assembly_config_file =
"${root_build_dir}/obj/products/core/core/product_assembly_config.json"
# Set to empty so that products which inherit from core don't automatically get minimal's no-op
# policy. Necessary to ensure that the check for policy on non-eng builds will actually discover
# missing policies.
fuchsia_structured_config_policy = ""