From: Adrian Freihofer <[email protected]>
changes v1 --> v2:
- Complaints from Patchwork
- One more fix commit
This series improves `devtool ide-sdk` and its underlying deploy-target
infrastructure:
- Adds `--nfs` rootfs debugging support (`rootfs`/`rootfs-dbg`), allowing the
target to boot from a combined companion `rootfs-dbg` — opening up
possibilities such as code coverage and profiling (e.g. `perf`) and other
tools that need debug symbols present on the target.
- Runs `do_install` through BitBake instead of shelling out, using a new
tinfoil prepared-task runner — much better functionally and also much
quicker than before.
Requires the latest bitbake master (adds `Tinfoil.run_prepared_task`).
- Adds `runqemu` slirp networking support for ide-sdk (with auto
port-forwarding and automatic SSH host-key check disabling for loopback
targets).
- Adds `--package`/`--file-glob` deploy filters to `devtool deploy-target`,
plus support for deploying directly into a local rootfs path (e.g. an NFS
export), refactoring the ssh deployment path into its own function.
- Refactors `runqemu-extract-sdk` and `runqemu-export-rootfs` into Python.
- Various ide-sdk fixes: auto-write image debug settings to the bbappend,
dedupe `solib_search_path` entries, VSCode IntelliSense for rootfs-dbg
sources, and cpp-example breakpoint/attach fixes.
Each feature/fix is covered by a corresponding oe-selftest addition.
A documentation update covering these changes will be sent as a follow-up
series shortly.
Adrian Freihofer (25):
runqemu-extract-sdk: set PSEUDO_INCLUDE_PATHS for the extraction
devtool: ide-sdk: dedupe solib_search_path entries
devtool: ide-sdk: VSCode IntelliSense for rootfs-dbg sources
cpp-example: fix stuck breakpoints when attaching and daemonize
properly
devtool: ide-sdk: auto-write image debug settings to bbappend
oe-selftest: devtool ide-sdk: adapt tests for auto-written image debug
settings
oeqa: QemuTarget: set use_slirp when slirp is in runqemuparams
devtool: ide-sdk: support runqemu slirp
devtool: ide-sdk: auto-disable ssh host key checking for loopback
targets
oe-selftest: devtool ide-sdk: add slirp networking test
devtool: deploy-target: add --package/--file-glob filters
oe-selftest: devtool deploy-target: test --package/--file-glob filters
devtool: ide-sdk: forward --package/--file-glob deploy filters
oe-selftest: devtool ide-sdk: cover --package filters
runqemu-extract-sdk: refactor in Python
runqemu-export-rootfs: refactor in Python
devtool: deploy: split ssh deployment into a separate function
devtool: deploy-target: allow deploying directly into a local rootfs
oe-selftest: devtool deploy-target: test deploying into a local rootfs
path
oe-selftest: tinfoil: test prepared task runner
devtool: ide-sdk: run do_install through BitBake
oe-selftest: devtool ide-sdk: test install task
devtool: ide-sdk: support NFS rootfs
oe-selftest: devtool ide-sdk: test NFS debug rootfs
devtool: ide-sdk: fix GDB loading stale libs instead of recipe's own
build
.../recipes-test/cpp/cmake-example.inc | 1 +
.../recipes-test/cpp/cpp-example.inc | 4 +
.../recipes-test/cpp/files/CMakeLists.txt | 6 +
.../recipes-test/cpp/files/cpp-example.cpp | 91 ++-
.../recipes-test/cpp/files/cpp-example.init | 10 +-
.../recipes-test/cpp/files/daemonize.cpp | 57 ++
.../recipes-test/cpp/files/daemonize.hpp | 27 +
.../recipes-test/cpp/files/meson.build | 9 +-
.../recipes-test/cpp/files/meson.options | 2 +
.../recipes-test/cpp/meson-example.inc | 1 +
.../pseudo-pyc-test/pseudo-pyc-test.bb | 45 ++
meta/lib/oeqa/selftest/cases/devtool.py | 632 +++++++++++++----
meta/lib/oeqa/selftest/cases/tinfoil.py | 60 ++
meta/lib/oeqa/targetcontrol.py | 23 +-
.../qemu/nativesdk-qemu-helper_1.0.bb | 3 +
scripts/lib/devtool/deploy.py | 392 +++++++++--
scripts/lib/devtool/ide_plugins/__init__.py | 41 +-
scripts/lib/devtool/ide_plugins/ide_code.py | 93 ++-
scripts/lib/devtool/ide_plugins/ide_none.py | 8 +-
scripts/lib/devtool/ide_sdk.py | 649 +++++++++++++++---
scripts/lib/runqemu_utils.py | 246 +++++++
scripts/runqemu-export-rootfs | 126 +---
scripts/runqemu-extract-sdk | 101 +--
23 files changed, 2090 insertions(+), 537 deletions(-)
create mode 100644 meta-selftest/recipes-test/cpp/files/daemonize.cpp
create mode 100644 meta-selftest/recipes-test/cpp/files/daemonize.hpp
create mode 100644 scripts/lib/runqemu_utils.py
--
2.55.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#244703):
https://lists.openembedded.org/g/openembedded-core/message/244703
Mute This Topic: https://lists.openembedded.org/mt/121005238/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-