u-boot-fw-utils: rework patches to fix broken build
Patches added in 'meta-swupdate' (backported from U-Boot) broke our layer. We also had those patches, so remove them and make sure the rest or our patches are applied after the ones from 'meta-swupdate' by using an anonymous python function instead of appending to the SRC_URI variable. Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
parent
372a063ac4
commit
01ee764fcf
|
|
@ -1,47 +0,0 @@
|
||||||
From: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
|
|
||||||
Date: Fri, 25 Mar 2016 14:52:19 +0100
|
|
||||||
Subject: [PATCH] tools: env: bug: config structs must be defined in tools
|
|
||||||
library
|
|
||||||
|
|
||||||
fw_senten/fw_printenv can be compiled as a tools library,
|
|
||||||
excluding the fw_env_main object.
|
|
||||||
|
|
||||||
Reported-by: Stefano Babic <sbabic@denx.de>
|
|
||||||
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
|
|
||||||
(cherry picked from commit 43cb65b7a00e4759427a6e4b8a02039e43dab5a5)
|
|
||||||
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
|
|
||||||
---
|
|
||||||
tools/env/fw_env.c | 4 ++++
|
|
||||||
tools/env/fw_env_main.c | 4 ----
|
|
||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
|
|
||||||
index ee17a6901609..2533dc4eec2b 100644
|
|
||||||
--- a/tools/env/fw_env.c
|
|
||||||
+++ b/tools/env/fw_env.c
|
|
||||||
@@ -34,6 +34,10 @@
|
|
||||||
|
|
||||||
#include "fw_env.h"
|
|
||||||
|
|
||||||
+struct common_args common_args;
|
|
||||||
+struct printenv_args printenv_args;
|
|
||||||
+struct setenv_args setenv_args;
|
|
||||||
+
|
|
||||||
#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
|
|
||||||
|
|
||||||
#define WHITESPACE(c) ((c == '\t') || (c == ' '))
|
|
||||||
diff --git a/tools/env/fw_env_main.c b/tools/env/fw_env_main.c
|
|
||||||
index 4bd4216625aa..3065de962272 100644
|
|
||||||
--- a/tools/env/fw_env_main.c
|
|
||||||
+++ b/tools/env/fw_env_main.c
|
|
||||||
@@ -49,10 +49,6 @@ static struct option long_options[] = {
|
|
||||||
{NULL, 0, NULL, 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
-struct common_args common_args;
|
|
||||||
-struct printenv_args printenv_args;
|
|
||||||
-struct setenv_args setenv_args;
|
|
||||||
-
|
|
||||||
void usage_printenv(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
From: Anatolij Gustschin <agust@denx.de>
|
|
||||||
Date: Fri, 29 Apr 2016 22:00:11 +0200
|
|
||||||
Subject: [PATCH] tools: env: fix config file loading in env library
|
|
||||||
|
|
||||||
env library is broken as the config file pointer is only initialized
|
|
||||||
in main(). When running in the env library parse_config() fails:
|
|
||||||
|
|
||||||
Cannot parse config file '(null)': Bad address
|
|
||||||
|
|
||||||
Ensure that config file pointer is always initialized.
|
|
||||||
|
|
||||||
Signed-off-by: Anatolij Gustschin <agust@denx.de>
|
|
||||||
Cc: Stefano Babic <sbabic@denx.de>
|
|
||||||
(cherry picked from commit 925c97c248527391de32c2926f7e1911850fd4b0)
|
|
||||||
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
|
|
||||||
---
|
|
||||||
tools/env/fw_env.c | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
|
|
||||||
index 2533dc4eec2b..b2f62827d918 100644
|
|
||||||
--- a/tools/env/fw_env.c
|
|
||||||
+++ b/tools/env/fw_env.c
|
|
||||||
@@ -1326,6 +1326,9 @@ static int parse_config ()
|
|
||||||
struct stat st;
|
|
||||||
|
|
||||||
#if defined(CONFIG_FILE)
|
|
||||||
+ if (!common_args.config_file)
|
|
||||||
+ common_args.config_file = CONFIG_FILE;
|
|
||||||
+
|
|
||||||
/* Fills in DEVNAME(), ENVSIZE(), DEVESIZE(). Or don't. */
|
|
||||||
if (get_config(common_args.config_file)) {
|
|
||||||
fprintf(stderr, "Cannot parse config file '%s': %m\n",
|
|
||||||
|
|
@ -4,13 +4,25 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
|
||||||
|
|
||||||
SRC_URI += " \
|
SRC_URI += " \
|
||||||
file://fw_env.config \
|
file://fw_env.config \
|
||||||
file://0001-tools-env-bug-config-structs-must-be-defined-in-tool.patch \
|
|
||||||
file://0002-tools-env-fix-config-file-loading-in-env-library.patch \
|
|
||||||
file://0003-tools-env-implement-support-for-environment-encrypti.patch \
|
|
||||||
file://0004-Implement-U-Boot-environment-access-functions.patch \
|
|
||||||
file://0005-fw_env-add-support-to-unlock-emmc-boot-partition.patch \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
|
UBOOT_FW_UTILS_PATCHES = " \
|
||||||
|
file://0001-tools-env-implement-support-for-environment-encrypti.patch \
|
||||||
|
file://0002-Implement-U-Boot-environment-access-functions.patch \
|
||||||
|
file://0003-fw_env-add-support-to-unlock-emmc-boot-partition.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
# Patches from 'meta-swupdate' touch the same files than ours, so we need to
|
||||||
|
# force that our patches are applied later. As our layer has more priority than
|
||||||
|
# 'meta-swupdate' we need to do the changes to SRC_URI in an anonymous python
|
||||||
|
# function instead of a normal '_append' to the SRC_URI variable.
|
||||||
|
python() {
|
||||||
|
ufw_patches = d.getVar('UBOOT_FW_UTILS_PATCHES', True)
|
||||||
|
if ufw_patches:
|
||||||
|
src_uri = d.getVar('SRC_URI', True)
|
||||||
|
d.setVar('SRC_URI', src_uri + ufw_patches)
|
||||||
|
}
|
||||||
|
|
||||||
# We do not have a platform defconfig in this version of u-boot, so just use the generic
|
# We do not have a platform defconfig in this version of u-boot, so just use the generic
|
||||||
# sandbox defconfig, which is enough to build the Linux user-space tool (fw_printenv)
|
# sandbox defconfig, which is enough to build the Linux user-space tool (fw_printenv)
|
||||||
UBOOT_CONFIG = "sandbox"
|
UBOOT_CONFIG = "sandbox"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue