aviralgarg05 opened a new pull request, #3531: URL: https://github.com/apache/nuttx-apps/pull/3531
## Summary This patch is another smaller upstream slice being extracted from the ongoing GSoC 2026 Dynamic ELF loading and `nxpkg` work for NuttX. An earlier draft PR (#3474) carries the initial `nxpkg` package lifecycle helper. This PR is the `examples/elf` validation-fixture follow-up from the same broader effort. Series order for this PR: - base series context: #3474 - technical dependency: after #3474 - independent of: #3519 and #3526 The change extends the `examples/elf` ROMFS path so `nxpkg` validation can use generated package fixtures instead of hand-managed metadata. Concretely, it: - generates `index.json`, `bad-index.json`, `pkgtest.nsh`, and `pkgfail.nsh` from the built `hello` ELF - records the correct target `arch` / `compat` metadata and SHA-256 digest for the valid fixture - keeps mismatched-target and missing-artifact cases alongside the valid fixture so `nxpkg` target selection and failure handling can be exercised from the same example tree - groups the paired fixture outputs in one make step so parallel builds do not re-enter the generator independently ## Impact This makes the `examples/elf` side of the Dynamic ELF / `nxpkg` series easier to validate and reproduce. It keeps the fixture metadata tied to the actual built `hello` artifact, instead of relying on manually maintained hashes or ad hoc shell setup. That should make follow-up review and later test reruns more predictable. There is no intended loader or board-behavior change in this patch. It is limited to fixture generation inside `examples/elf`. ## Testing Host: - macOS 26.5 - Apple Silicon (`arm64`) - `xtensa-esp-elf-gcc (crosstool-NG esp-14.2.0_20241119) 14.2.0` - `esptool.py v4.11.0` Focused stacked verification for this PR: - clean detached `apps` worktree at the current `#3474` head, with this two-file patch applied - clean detached companion `apache/nuttx` worktree at local `294d6d2763` (`boards/xtensa/esp32s3/xiao:sotest: enable nxpkg fixtures`), which carries the matching `esp32s3-xiao:elf` configuration used for the series - target: `xtensa` - config: `esp32s3-xiao:elf` Build steps: ```sh ./tools/configure.sh -E -a ../apps esp32s3-xiao:elf make olddefconfig make -j8 ``` Generated fixture artifacts: ```text bin/index.json bin/bad-index.json bin/pkgtest.nsh bin/pkgfail.nsh ``` Build result: ```text LD: nuttx CP: nuttx.hex MKIMAGE: ESP32-S3 binary Generated: nuttx.bin ``` Branch sanity build: - the same companion `apache/nuttx` worktree was also paired directly with this PR branch to confirm the slice still builds cleanly outside the stacked `#3474` setup Sanity-build result: ```text LD: nuttx CP: nuttx.hex MKIMAGE: ESP32-S3 binary Generated: nuttx.bin ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
