Skip to content

qcom-capsule: upgrade and use qcom-capsule-tool unified CLI#2288

Merged
ricardosalveti merged 2 commits into
qualcomm-linux:masterfrom
igoropaniuk:feat/cbsp-boot-utilities-upgrade
May 29, 2026
Merged

qcom-capsule: upgrade and use qcom-capsule-tool unified CLI#2288
ricardosalveti merged 2 commits into
qualcomm-linux:masterfrom
igoropaniuk:feat/cbsp-boot-utilities-upgrade

Conversation

@igoropaniuk
Copy link
Copy Markdown
Contributor

Bump SRCREV to a19e5b6 to pick up the upstream restructure of
uefi_capsule_generation into a proper Python package
(pyproject.toml + src/qcom_capsule_tool layout) with a unified
qcom-capsule-tool CLI dispatcher.

Replace direct python3 invocations of the individual
uefi_capsule_generation scripts with the new qcom-capsule-tool
CLI dispatcher introduced upstream in cbsp-boot-utilities, which
installs as a proper Python package with a single entry point in
PATH.

Mapping of replaced calls:

  BinToHex.py             -> qcom-capsule-tool bin-to-hex
  xblconfig_parser.py     -> qcom-capsule-tool parse-config
  set_dtb_property.py     -> qcom-capsule-tool set-dtb-property
  SYSFW_VERSION_program.py-> qcom-capsule-tool sysfw-version-create
  FVCreation.py           -> qcom-capsule-tool fv-create
  UpdateJsonParameters.py -> qcom-capsule-tool update-json

@igoropaniuk igoropaniuk changed the title Feat/cbsp boot utilities upgrade qcom-capsule: upgrade and use qcom-capsule-tool unified CLI May 25, 2026
Bump SRCREV to a19e5b6 to pick up the upstream restructure of
uefi_capsule_generation into a proper Python package
(pyproject.toml + src/qcom_capsule_tool layout) with a unified
qcom-capsule-tool CLI dispatcher.

Switch from hand-copying individual .py files to ${datadir} to
installing the package via python_poetry_core, so the tool is
available as a single qcom-capsule-tool binary in PATH and its
internal imports resolve correctly.

Drop the local FVCreation PATH-fallback patch, which is now
upstream (commit 352ec67, "uefi_capsule: fall back to PATH when
locating GenFfs/GenFv").

Refresh DEPENDS: add python3-requests-native, which the upgraded
tool now imports. dtc-native and edk2-basetools-native are
retained because the tool's "create" pipeline shells out to dtc
and GenerateCapsule.py at runtime, and consumers of the tool
rely on those staging relationships as well.

FvUpdate.xml ships alongside pyproject.toml and is not picked up
by the Python install, so stage it explicitly to ${datadir} for
the consumer bbclass to fall back to.

Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
Replace direct python3 invocations of the individual
uefi_capsule_generation scripts with the new qcom-capsule-tool
CLI dispatcher introduced upstream in cbsp-boot-utilities, which
installs as a proper Python package with a single entry point in
PATH.

Mapping of replaced calls:

  BinToHex.py             -> qcom-capsule-tool bin-to-hex
  xblconfig_parser.py     -> qcom-capsule-tool parse-config
  set_dtb_property.py     -> qcom-capsule-tool set-dtb-property
  SYSFW_VERSION_program.py-> qcom-capsule-tool sysfw-version-create
  FVCreation.py           -> qcom-capsule-tool fv-create
  UpdateJsonParameters.py -> qcom-capsule-tool update-json

The GenerateCapsule.py call from edk2-basetools is unchanged
since it is not part of cbsp-boot-utilities.

Rename CBSP_SCRIPTS to CBSP_DATA: with the upgraded recipe that
path holds only FvUpdate.xml, while the executable lives in
${STAGING_BINDIR_NATIVE}.

Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
@igoropaniuk igoropaniuk force-pushed the feat/cbsp-boot-utilities-upgrade branch from 081eccf to 1821438 Compare May 25, 2026 17:31
@github-actions
Copy link
Copy Markdown

Test run workflow

Test jobs for commit 1821438

qcom-distro
Pass: 274 | Fail: 2 | Total: 296
nodistro
Pass: 9 | Fail: 0 | Total: 9
qcom-distro_linux-qcom-6.18
Pass: 6 | Fail: 1 | Total: 7

@test-reporting-app
Copy link
Copy Markdown

test-reporting-app Bot commented May 25, 2026

Test Results

  103 files  ± 0    632 suites  ±0   5h 3m 41s ⏱️ + 5m 31s
  125 tests  -  3    121 ✅ +19   0 💤 ± 0  4 ❌  - 22 
6 022 runs  +14  5 977 ✅ +54  41 💤  - 10  4 ❌  - 30 

For more details on these failures, see this check.

Results for commit 1821438. ± Comparison against base commit 5716703.

This pull request removes 3 tests.
5_WiFi_Firmware_Driver ‑ WiFi_OnOff
lava ‑ auto-login-action
lava ‑ minimal-boot

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown

Test run workflow

Test jobs for commit 1821438

qcom-distro_linux-qcom-6.18
Pass: 218 | Fail: 3 | Total: 239
qcom-distro
Pass: 274 | Fail: 2 | Total: 296
nodistro
Pass: 9 | Fail: 0 | Total: 9

@github-actions
Copy link
Copy Markdown

Test run workflow

Test jobs for commit 1821438

qcom-distro_linux-qcom-6.18
Pass: 224 | Fail: 4 | Total: 249
qcom-distro
Pass: 274 | Fail: 2 | Total: 296
nodistro
Pass: 9 | Fail: 0 | Total: 9

@ricardosalveti ricardosalveti merged commit bc294aa into qualcomm-linux:master May 29, 2026
253 of 254 checks passed
@quic-yocto-ci
Copy link
Copy Markdown
Contributor

Successfully created backport PR for wrynose:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants