RE: [AUH][PATCH v2 6/9] upgrade-helper.py: Add minor option for minor version upgrades
Daniel Turull <[email protected]>
| Newsgroups | org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <PA3PR07MB107211FACF80A58913CC8032F8A362@PA3PR07MB10721.eurprd07.prod.outlook.com> |
Hi Alex, The workflow is: when running AUH against a stable branch (e.g. scarthgap), you typically don't want to pull in major version bumps. --stable restricts upgrades to patch-only (1.2.3 → 1.2.4), and --minor relaxes that to same-major (1.2.3 → 1.3.0). In practice, the right policy depends on the component. From our test runs on scarthgap with --prebuild and ABI checking (meta-binaryaudit [1]), even patch-level upgrades can break ABI. For example, libnotify 0.8.3 → 0.8.8 is a patch bump, but abidiff reports INCOMPATIBLE_CHANGE: 2 removed functions, 4 added (a breaking ABI change hidden behind a patch version bump) On the other hand, many minor-level upgrades like curl, libxml2, and e2fsprogs succeed without any ABI issues. So ideally you'd use --minor for some recipes and --stable for others. Right now the CLI flags apply globally, which means you either run --stable for all, or list specific recipes with --minor. That works but isn't ideal. I agree that putting this information in the recipe is the better long-term approach. Something like: AUH_UPGRADE_POLICY = "patch" # or "minor" or "none" defaulting to "patch" for conservative behavior. That way maintainers can set "minor" on recipes where it's safe, without needing to modify AUH's command line. That said, adding recipe variables to already-released branches (scarthgap) means backporting metadata changes. The CLI flags work today without touching any recipes, which is why I started there. Would you prefer I rework this as a recipe variable for the next version, or keep the CLI flags as a first step? I mean only one option (--stable) that can read AUH_UPGRADE_POLICY if present otherwise default to patch? [1] https://github.com/Nordix/meta-binaryaudit (https://github.com/Nordix/meta-binaryaudit) Daniel > -----Original Message----- > From: Alexander Kanavin <[email protected]> > Sent: Monday, 27 April 2026 12:22 > To: Daniel Turull <[email protected]> > Cc: [email protected]; [email protected]; > [email protected]; [email protected] > Subject: Re: [AUH][PATCH v2 6/9] upgrade-helper.py: Add minor option for > minor version upgrades > > On Fri, 24 Apr 2026 at 13:46, <[email protected]> wrote: > > help="extract changelog between old and new versions, > highlighting CVEs") > > parser.add_argument("--stable", action="store_true", default=False, > > help="only upgrade to the next patch version > > within the stable branch (e.g. 1.2.3 -> 1.2.4)") > > + parser.add_argument("--minor", action="store_true", default=False, > > + help="allow upgrades within the same major > > + version (e.g. 3.5.2 -> 3.6.0, 3.99.0)") > > I'm somewhat confused. When and how one would be using either of these > options? What's the workflow for them? > > I still think it's better to place stable maintenance information directly into > recipes. > > Alex