mbox series

[yocto-autobuilder2,0/3] Avoid shell use

Message ID 20260611061330.733392-1-anders.heimer@est.tech
Headers show
Series Avoid shell use | expand

Message

Anders Heimer June 11, 2026, 6:13 a.m. UTC
This series removes shell use from a few backend paths where Buildbot
already has structured command arguments or generated file contents.

The changes are intended as hardening/cleanup with no intentional
behaviour change.

Testing:
  * Metadata writers:
    - qemuarm-oecore build wrote layerinfo.json and
      bbsetup-overrides.json via StringDownload
    - both files parsed correctly and preserved repo, branch and revision
      values literally
    - whitebox comparison showed byte-for-byte identical output for
      qemuarm-oecore, a-quick, docs and default-repo fallback cases.

  * getproperties.py argv change:
    - live qemuarm-oecore build reached and passed "Load build revisions"
    - the step set 15 properties
    - Buildbot log showed direct argv execution:
          argv: [b'.../getproperties.py', b'.../build', b'qemuarm-oecore']
    - direct replay on a preserved qemuarm-oecore build tree matched the
      old shell-string output exactly.

  * Disk-space check:
    - live builds passed the canStartBuild disk gate and started normally
    - local comparison showed the old findmnt --df fifth field matched the
      new findmnt -o AVAIL output for ., /tmp and the worker tree

Anders Heimer (3):
  steps: avoid shell when writing repo metadata
  builders: pass getproperties command as argv list
  builders: avoid shell pipeline for disk space check

 builders.py               | 16 +++++++++++++---
 steps/writebbsetupjson.py | 19 +++++++------------
 steps/writelayerinfo.py   | 19 +++++++------------
 3 files changed, 27 insertions(+), 27 deletions(-)