Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v3 0/2] package: replace copydebugsources shell pipelines
@ 2026-06-18 15:57 Anders Heimer
  2026-06-18 15:57 ` [PATCH v3 1/2] " Anders Heimer
  2026-06-18 15:57 ` [PATCH v3 2/2] oeqa/selftest: add copydebugsources tests Anders Heimer
  0 siblings, 2 replies; 3+ messages in thread
From: Anders Heimer @ 2026-06-18 15:57 UTC (permalink / raw)
  To: openembedded-core; +Cc: Anders Heimer

Replace the copydebugsources() sort/grep/sed shell pipeline with Python
filtering over the NUL-separated source list while keeping cpio for the
copy pass. Use an explicit prefix + "/" match before stripping the mapped
debug source prefix, replace the symlink fixup pipeline with os.walk()
plus cpio, use an argv-list mv for externalsrc relocation, and pass the
empty-directory find command as an argv list.

The externalsrc relocation keeps mv, but now with an argv list and
glob.glob(glob.escape(...)). This preserves the old shell "*" and mv
overwrite semantics.

The first cpio copy pass keeps the previous failure-tolerant behavior,
while the symlink fixup copy still reports cpio failures.

Benchmarks did not indicate regression.

Changes in v3:
  - Improve the source list filtering for readability based on review.

Anders Heimer (2):
  package: replace copydebugsources shell pipelines
  oeqa/selftest: add copydebugsources tests

 meta/lib/oe/package.py                        |  72 +++--
 meta/lib/oeqa/selftest/cases/oelib/package.py | 265 ++++++++++++++++++
 2 files changed, 315 insertions(+), 22 deletions(-)



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-06-18 15:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-18 15:57 [PATCH v3 0/2] package: replace copydebugsources shell pipelines Anders Heimer
2026-06-18 15:57 ` [PATCH v3 1/2] " Anders Heimer
2026-06-18 15:57 ` [PATCH v3 2/2] oeqa/selftest: add copydebugsources tests Anders Heimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox