From 2deff11c6d4cbfd77c1ec38709ac8fcd7533c7a1 Mon Sep 17 00:00:00 2001 From: Sreejith Ravi Date: Mon, 20 Jul 2026 17:28:20 +0100 Subject: [PATCH 1/2] RDKE-1123: Added recipe version creation --- bitbake/lib/bb/cooker.py | 41 +++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 2adf4d297df..b1a93ac8131 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -549,26 +549,33 @@ def showVersions(self): logger.plain("%-35s %25s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version", "Required Version") logger.plain("%-35s %25s %25s %25s\n", "===========", "==============", "=================", "================") - - for p in sorted(self.recipecaches[''].pkg_pn): - preferred = preferred_versions[p] - latest = latest_versions[p] - requiredstr = "" - preferredstr = "" - if required[p]: - if preferred[0] is not None: - requiredstr = preferred[0][0] + ":" + preferred[0][1] + '-' + preferred[0][2] + all_recipes = set(self.recipecaches[''].pkg_pn.keys()) + output_file = f"{self.data.getVar('TOPDIR')}/recipe_versions.txt" + with open(output_file, "w") as f: + for p in sorted(self.recipecaches[''].pkg_pn): + preferred = preferred_versions[p] + latest = latest_versions[p] + requiredstr = "" + preferredstr = "" + if required[p]: + if preferred[0] is not None: + requiredstr = preferred[0][0] + ":" + preferred[0][1] + '-' + preferred[0][2] + else: + bb.fatal("REQUIRED_VERSION of package %s not available" % p) else: - bb.fatal("REQUIRED_VERSION of package %s not available" % p) - else: - preferredstr = preferred[0][0] + ":" + preferred[0][1] + '-' + preferred[0][2] + preferredstr = preferred[0][0] + ":" + preferred[0][1] + '-' + preferred[0][2] - lateststr = latest[0][0] + ":" + latest[0][1] + "-" + latest[0][2] + lateststr = latest[0][0] + ":" + latest[0][1] + "-" + latest[0][2] - if preferred == latest: - preferredstr = "" - - logger.plain("%-35s %25s %25s %25s", p, lateststr, preferredstr, requiredstr) + if preferred == latest: + preferredstr = "" + if "-native" not in p and "-cross" not in p and "-sdk" not in p and "nativesdk" not in p: + if p.startswith("lib32-"): + base_recipe = p[6:] + if base_recipe in all_recipes: + continue + f.write(f"{p}|{lateststr}|{preferredstr}|{requiredstr}\n") + logger.plain("%-35s %25s %25s %25s", p, lateststr, preferredstr, requiredstr) def showEnvironment(self, buildfile=None, pkgs_to_build=None): """ From 28d2f2516f00158d3f3a5cfbd2db6edf0602847c Mon Sep 17 00:00:00 2001 From: Sreejith Ravi Date: Mon, 3 Aug 2026 12:32:37 +0100 Subject: [PATCH 2/2] RDKE-1123 : Updated with review comment --- bitbake/lib/bb/cooker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index b1a93ac8131..a39f55f6cbd 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -550,7 +550,7 @@ def showVersions(self): logger.plain("%-35s %25s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version", "Required Version") logger.plain("%-35s %25s %25s %25s\n", "===========", "==============", "=================", "================") all_recipes = set(self.recipecaches[''].pkg_pn.keys()) - output_file = f"{self.data.getVar('TOPDIR')}/recipe_versions.txt" + output_file = os.path.join(self.data.getVar('TOPDIR'), "recipe_versions.txt") with open(output_file, "w") as f: for p in sorted(self.recipecaches[''].pkg_pn): preferred = preferred_versions[p]