mbox series

[v3,0/2] package: replace copydebugsources shell pipelines

Message ID cover.1781796358.git.anders.heimer@est.tech
Headers show
Series package: replace copydebugsources shell pipelines | expand

Message

Anders Heimer June 18, 2026, 3:57 p.m. UTC
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(-)