From a25eb24eed30b3b07dcf7268e550b8711e843abb Mon Sep 17 00:00:00 2001 From: Christian Lindeberg Date: Tue, 2 Sep 2025 16:06:47 +0200 Subject: recipetool/create_go: Tidy up a bit There is no need for a temporary Go module cache after moving generation of module dependency include files to go-mod-update-modules.bbclass. (From OE-Core rev: 376ce22b3ba5286eda54d9f9bb1c4cd7f54ff9e7) Signed-off-by: Christian Lindeberg Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create_go.py | 70 ++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 36 deletions(-) (limited to 'scripts/lib/recipetool/create_go.py') diff --git a/scripts/lib/recipetool/create_go.py b/scripts/lib/recipetool/create_go.py index 4b1fa39d13..1b2e5a03d5 100644 --- a/scripts/lib/recipetool/create_go.py +++ b/scripts/lib/recipetool/create_go.py @@ -32,7 +32,6 @@ def tinfoil_init(instance): tinfoil = instance - class GoRecipeHandler(RecipeHandler): """Class to handle the go recipe creation""" @@ -85,41 +84,40 @@ class GoRecipeHandler(RecipeHandler): classes.append("go-mod-update-modules") extravalues["run_tasks"] = "update_modules" - with tempfile.TemporaryDirectory(prefix="go-mod-") as tmp_mod_dir: - env = dict(os.environ) - env["PATH"] += f":{go_bindir}" - env['GOMODCACHE'] = tmp_mod_dir - - stdout = subprocess.check_output(["go", "mod", "edit", "-json"], cwd=srctree, env=env, text=True) - go_mod = json.loads(stdout) - go_import = re.sub(r'/v([0-9]+)$', '', go_mod['Module']['Path']) - - localfilesdir = tempfile.mkdtemp(prefix='recipetool-go-') - extravalues.setdefault('extrafiles', {}) - - # Write the stub ${BPN}-licenses.inc and ${BPN}-go-mods.inc files - basename = "{pn}-licenses.inc" - filename = os.path.join(localfilesdir, basename) - with open(filename, "w") as f: - f.write("# FROM RECIPETOOL\n") - extravalues['extrafiles'][f"../{basename}"] = filename - - basename = "{pn}-go-mods.inc" - filename = os.path.join(localfilesdir, basename) - with open(filename, "w") as f: - f.write("# FROM RECIPETOOL\n") - extravalues['extrafiles'][f"../{basename}"] = filename - - # Do generic license handling - d = bb.data.createCopy(tinfoil.config_data) - handle_license_vars(srctree, lines_before, handled, extravalues, d) - self.__rewrite_lic_vars(lines_before) - - self.__rewrite_src_uri(lines_before) - - lines_before.append('require ${BPN}-licenses.inc') - lines_before.append('require ${BPN}-go-mods.inc') - lines_before.append(f'GO_IMPORT = "{go_import}"') + env = dict(os.environ) + env["PATH"] += f":{go_bindir}" + + stdout = subprocess.check_output(("go", "mod", "edit", "-json"), + cwd=srctree, env=env, text=True) + go_mod = json.loads(stdout) + go_import = re.sub(r'/v([0-9]+)$', '', go_mod['Module']['Path']) + + localfilesdir = tempfile.mkdtemp(prefix='recipetool-go-') + extravalues.setdefault('extrafiles', {}) + + # Write the stub ${BPN}-licenses.inc and ${BPN}-go-mods.inc files + basename = "{pn}-licenses.inc" + filename = os.path.join(localfilesdir, basename) + with open(filename, "w") as f: + f.write("# FROM RECIPETOOL\n") + extravalues['extrafiles'][f"../{basename}"] = filename + + basename = "{pn}-go-mods.inc" + filename = os.path.join(localfilesdir, basename) + with open(filename, "w") as f: + f.write("# FROM RECIPETOOL\n") + extravalues['extrafiles'][f"../{basename}"] = filename + + # Do generic license handling + d = bb.data.createCopy(tinfoil.config_data) + handle_license_vars(srctree, lines_before, handled, extravalues, d) + self.__rewrite_lic_vars(lines_before) + + self.__rewrite_src_uri(lines_before) + + lines_before.append('require ${BPN}-licenses.inc') + lines_before.append('require ${BPN}-go-mods.inc') + lines_before.append(f'GO_IMPORT = "{go_import}"') def __update_lines_before(self, updated, newlines, lines_before): if updated: -- cgit v1.2.3-54-g00ecf