[roll] Roll fuchsia [devshell] Fix target flag forwarding in fx serve and vars.sh

When fx serve is invoked with -t <target> or when FUCHSIA_NODENAME
is set in the environment, fx serve previously built ffx_flags
without passing --target "${FUCHSIA_NODENAME}". Because ffx does not
inspect FUCHSIA_NODENAME directly, ffx repository server start fell
back to target.default.

Additionally, when fx-config-read was invoked in subshells,
fx-export-default-target in vars.sh re-read ${FUCHSIA_BUILD_DIR}.device
if FUCHSIA_NODENAME_IS_FROM_FILE was set, overriding explicit target
flags or dynamic environment settings.

1. In tools/devshell/serve: Forward --target "${FUCHSIA_NODENAME}" to
   ffx when FUCHSIA_NODENAME is non-empty and --no-device is not set.
2. In scripts/fx: Unset FUCHSIA_NODENAME_IS_FROM_FILE when -t is passed.
3. In tools/devshell/lib/vars.sh: Do not export default target from file
   if FUCHSIA_NODENAME_SET_BY_FX_FLAG is set.
4. In tools/devshell/BUILD.gn: Register fx_serve_test.
5. In tools/devshell/tests/subcommands/fx_serve_test: Add comprehensive
   tests for target flag forwarding, environment variables, --no-device
   handling, and .device file overrides.

Original-Original-Bug: 549976700
Test: fx test //tools/devshell:fx_script_tests
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1776013
Original-Original-Revision: 74b424eedc0c380f242defd22cc9c11db31c1e78
GitOrigin-RevId: 3621439f51cf070b18a1c14c5af95abde664c1d0
Change-Id: I69cc7dcc20a9230517ab48f33b8d7076058e3322
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1776993
Cr-Commit-Position: refs/heads/main@{#200053}
1 file changed
tree: c38e3029103ad27407e021aa67e089c29878d46e
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.