# 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_cmdline_args -= [ "kernel.oom.behavior=jobkill" ]
kernel_cmdline_args += [ "kernel.oom.behavior=reboot" ]

zircon_enable_netsvc_debugging_features = false

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

base_package_labels += [
  "//build/info:build-info",
  "//garnet/bin/http",
  "//garnet/bin/log_listener:log_listener",
  "//garnet/bin/log_listener:log_listener_shell",
  "//garnet/bin/network_time_service",
  "//garnet/bin/scpi",
  "//garnet/bin/setui:setui_service",
  "//garnet/bin/sshd-host",
  "//garnet/bin/sshd-host:config",
  "//garnet/bin/stash:stash",
  "//garnet/bin/stash_ctl:stash_ctl",
  "//garnet/bin/sysmgr",
  "//garnet/bin/sysmgr:network_config",
  "//garnet/bin/sysmgr:services_config",
  "//garnet/bin/thermd",
  "//garnet/bin/thermd: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/connectivity/bluetooth:core",
  "//src/connectivity/lowpan/service",
  "//src/connectivity/management/reachability",
  "//src/connectivity/management/reachability:reachability_sysmgr_config",
  "//src/connectivity/network/mdns/bundles:config",
  "//src/connectivity/network/mdns/bundles:services",
  "//src/connectivity/network/net-cli",
  "//src/connectivity/network/netcfg",
  "//src/connectivity/network/netcfg:config",
  "//src/connectivity/network/netcfg:filter_config",
  "//src/connectivity/network:config",
  "//src/connectivity/wlan:service",
  "//src/developer/exception_broker",
  "//src/developer/feedback/boot_log_checker",
  "//src/developer/feedback/boot_log_checker:config",
  "//src/developer/feedback/bugreport",
  "//src/developer/feedback/crashpad_agent",
  "//src/developer/feedback/feedback_agent",
  "//src/diagnostics/archivist",
  "//src/diagnostics/archivist:with_default_config",
  "//src/hwinfo:hwinfo",
  "//src/identity/bin:core",
  "//src/media/audio/bundles:audio_config",
  "//src/recovery/factory_reset",
  "//src/security/policy:appmgr_package_resolver_allowlist_userdebug",
  "//src/security/root_ssl_certificates",
  "//src/sys/appmgr",
  "//src/sys/appmgr:appmgr_component_event_provider_allowlist",
  "//src/sys/appmgr:appmgr_deprecated_shell_allowlist",
  "//src/sys/appmgr:appmgr_global_data_allowlist",
  "//src/sys/appmgr:appmgr_scheme_config",
  "//src/sys/device_settings:device_settings_manager",
  "//src/sys/pkg:core",
  "//src/sys/timekeeper",
  "//third_party/openssh-portable/fuchsia/developer-keys:ssh_config",
]

cache_package_labels += []

universe_package_labels += [ "//bundles:tools" ]
