diff options
author | Bastian Krause <bst@pengutronix.de> | 2022-06-15 15:58:39 +0200 |
---|---|---|
committer | Bastian Krause <bst@pengutronix.de> | 2022-06-15 16:07:32 +0200 |
commit | edf7f74835e653367da797f58228cc2a3033d479 (patch) | |
tree | b08f3fd53bef46d93d9f0b968ac579c4a220699d | |
parent | be82e54f396d50f97607b678e8ff3d3cda24d098 (diff) | |
download | genimage-edf7f74835e653367da797f58228cc2a3033d479.tar.gz genimage-edf7f74835e653367da797f58228cc2a3033d479.tar.xz |
genimage: set image environment inside image_generate()
The image environment is specific to the image being generated.
image_generate() calls itself recursively to resolve dependencies.
Because setenv_image() is called before image_generate(), the set image
environment is wrong as soon as image_generate() calls itself.
Fix that by setting the image environment inside image_generate() after
the point it might call itself for dependency resolution. This way the
image environment is always correct.
Signed-off-by: Bastian Krause <bst@pengutronix.de>
-rw-r--r-- | genimage.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -301,6 +301,10 @@ static int image_generate(struct image *image) } } + ret = setenv_image(image); + if (ret) + return ret; + if (image->exec_pre) { ret = systemp(image, "%s", image->exec_pre); if (ret) @@ -853,10 +857,6 @@ int main(int argc, char *argv[]) goto cleanup; list_for_each_entry(image, &images, list) { - ret = setenv_image(image); - if (ret) - goto cleanup; - ret = image_generate(image); if (ret) { image_error(image, "failed to generate %s\n", image->file); |