# 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

zircon_enable_kernel_debugging_features = false
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/appmgr",
  "//garnet/bin/appmgr:appmgr_scheme_config",
  "//garnet/bin/device_settings:device_settings_manager",
  "//garnet/bin/http",
  "//garnet/bin/log_listener:log_listener",
  "//garnet/bin/log_listener:log_listener_shell",
  "//garnet/bin/network_time_service",
  "//garnet/bin/pkg_cache",
  "//garnet/bin/pkg_cache:config",
  "//garnet/bin/pkg_ctl",
  "//garnet/bin/pkg_resolver",
  "//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/system-update-checker",
  "//garnet/bin/system-update-checker:system-update-checker-config",
  "//garnet/bin/thermd",
  "//garnet/bin/thermd:config",
  "//garnet/bin/timezone",
  "//garnet/go/src/amber",
  "//garnet/go/src/amber:amber_tools",
  "//garnet/go/src/amber:config",
  "//garnet/go/src/amber:pkgfs",
  "//garnet/lib/root_ssl_certificates",
  "//src/diagnostics/archivist:with_default_config",
  "//src/cobalt/bin/app:cobalt",
  "//src/cobalt/bin/system-metrics:cobalt_system_metrics",
  "//src/connectivity/bluetooth:core",
  "//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/netstack",
  "//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/identity/bin:core",
  "//src/recovery/factory_reset",
  "//src/sys/timekeeper",
  "//third_party/openssh-portable/fuchsia/developer-keys:ssh_config",
]

cache_package_labels += []

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