[AUH] PATCH 0/6] Make upgrade-helper compatible with scarthgap and master

<[email protected]>
Newsgroups org.yoctoproject.lists.yocto-patches
Message-ID <[email protected]>
From: Daniel Turull <[email protected]>

This allows to be able to automatically generate patches for updating patched or
minor versions, which can help on the security work fixing vulnerabilities.

It adds also the option to extract the changelog with different strategies

It can also prebuild the recipe to be able to compare before and after the update,
so it could be connected with ABI changes with meta-binaryaudit [1],
so if there are incompatible changes the upgrade fails.

Example with OE-core scarthgap, there are 156 potential updates

vte: no suitable version available, skipping
 ########### The list of recipes to be upgraded #############
 , libubootenv, 0.3.5, 0.3.7, Stefano Babic <[email protected]>, 1e3511ed77f794ee5decc0974d54c8e5af26f64c
 , bind, 9.18.44, 9.18.48, Unassigned <[email protected]>, N/A
 , dhcpcd, 10.0.6, 10.0.10, Unassigned <[email protected]>, N/A
 , libpcap, 1.10.4, 1.10.6, Anuj Mittal <[email protected]>, N/A
 , ppp, 2.5.0, 2.5.2, Hongxu Jia <[email protected]>, N/A
 , socat, 1.8.0.0, 1.8.0.3, Hongxu Jia <[email protected]>, N/A
 , base-passwd, 3.6.3, 3.6.8, Anuj Mittal <[email protected]>, N/A
 , ifupdown, 0.8.41, 0.8.45, Anuj Mittal <[email protected]>, N/A
 , libxcrypt-compat, 4.4.36, 4.4.38, Khem Raj <[email protected]>, N/A
 , libxcrypt, 4.4.36, 4.4.38, Khem Raj <[email protected]>, N/A
 , ovmf, edk2-stable202402, edk2-stable202602, Unassigned <[email protected]>, b7a715f7c03c45c6b4575bf88596bfd79658b8ce
 , util-linux-libuuid, 2.39.3, 2.39.4, Chen Qi <[email protected]>, N/A
 , util-linux, 2.39.3, 2.39.4, Chen Qi <[email protected]>, N/A
...
 , numactl, 2.0.18, 2.0.19, Richard Purdie <[email protected]>, 3bc85e37d5a30da6790cb7e8bb488bb8f679170f
 , taglib, 2.0.1, 2.0.2, Anuj Mittal <[email protected]>, N/A
 , utfcpp, 4.0.5, 4.0.9, Anuj Mittal <[email protected]>, 63d64de49fd6b829f7c8694df5ab2ee625cb7134
 , xxhash, 0.8.2, 0.8.3, Alexander Kanavin <[email protected]>, e626a72bc2321cd320e953a0ccf1584cad60f363

[...]
 ############################################################
 Building gcc runtimes ...
  building gcc runtime for qemux86-64
  building gcc runtime for qemuarm_musl
 ATTEMPT PACKAGE GROUP 1/156
[...]

Tested with on openembedded-core with latest scarthgap version (2026-04-07)
../auto-upgrade-helper/upgrade-helper.py all --layer-dir ../openembedded-core --changelog  --stable --prebuild

    TOTAL: attempted=135 succeeded=81(60.00%) failed=54(40.00%)

Examples of the patches in my contrib branch [2]

[1] https://github.com/Nordix/meta-binaryaudit
[2] https://git.openembedded.org/openembedded-core-contrib/log/?h=dturull/scarthgap-auh

Daniel Turull (6):
  upgrade-helper.py: Add compatibility with Yocto scarthgap
  upgrade-helper.py: allow to set the git directory from layer-dir
  upgrade-helper.py: add changelog flag
  upgrade-helper.py: Add minor option for minor version upgrades
  upgrade-helper.py: Add prebuild option
  upgrade-helper.py: Add resume option to skip already attempted recipes

 modules/changelog.py     | 256 +++++++++++++++++++++++++++++++++++++++
 modules/steps.py         |  22 +++-
 modules/utils/bitbake.py |   8 +-
 modules/utils/version.py | 175 ++++++++++++++++++++++++++
 upgrade-helper.py        | 143 +++++++++++++++++++++-
 5 files changed, 600 insertions(+), 4 deletions(-)
 create mode 100644 modules/changelog.py
 create mode 100644 modules/utils/version.py

--
2.34.1

Daniel Turull (6):
  upgrade-helper.py: Add compatibility with Yocto scarthgap
  upgrade-helper.py: allow to set the git directory from layer-dir
  upgrade-helper.py: add changelog flag
  upgrade-helper.py: Add minor option for minor version upgrades
  upgrade-helper.py: Add prebuild option
  upgrade-helper.py: Add resume option to skip already attempted recipes

 modules/changelog.py     | 256 +++++++++++++++++++++++++++++++++++++++
 modules/steps.py         |  22 +++-
 modules/utils/bitbake.py |   8 +-
 modules/utils/version.py | 175 ++++++++++++++++++++++++++
 upgrade-helper.py        | 143 +++++++++++++++++++++-
 5 files changed, 600 insertions(+), 4 deletions(-)
 create mode 100644 modules/changelog.py
 create mode 100644 modules/utils/version.py
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.