Selaa lähdekoodia

u-boot-fw-utils: fix build with 2017.05

Drop the bbappend and the patches it uses since they all have been accepted
upstream. This fixes building with current oe-core master that recently
switched to 2017.05.

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Andrea Galbusera 8 vuotta sitten
vanhempi
commit
36075a1136

+ 0 - 95
recipes-bsp/u-boot/u-boot-fw-utils-2017.01/0001-Rename-aes.h-to-uboot_aes.h.patch

@@ -1,95 +0,0 @@
-From c35adbbf2ae6e8668951e2b5fbb9b2c7c0b158c1 Mon Sep 17 00:00:00 2001
-From: Stefano Babic <sbabic@denx.de>
-Date: Sun, 8 Jan 2017 17:39:16 +0100
-Subject: [PATCH v1 1/4] Rename aes.h to uboot_aes.h
-
-aes.h is a too generic name if this file can
-be exported and used by a program.
-Rename it to avoid any conflicts with
-other files (for example, from openSSL).
-
-Signed-off-by: Stefano Babic <sbabic@denx.de>
-
----
-
- arch/arm/mach-tegra/tegra20/crypto.c | 2 +-
- cmd/aes.c                            | 2 +-
- common/env_common.c                  | 2 +-
- include/{aes.h => uboot_aes.h}       | 0
- lib/aes.c                            | 2 +-
- tools/env/fw_env.h                   | 2 +-
- 6 files changed, 5 insertions(+), 5 deletions(-)
- rename include/{aes.h => uboot_aes.h} (100%)
-
-diff --git a/arch/arm/mach-tegra/tegra20/crypto.c b/arch/arm/mach-tegra/tegra20/crypto.c
-index 1b82fbb..eae7921 100644
---- a/arch/arm/mach-tegra/tegra20/crypto.c
-+++ b/arch/arm/mach-tegra/tegra20/crypto.c
-@@ -8,7 +8,7 @@
- #include <common.h>
- #include <linux/errno.h>
- #include "crypto.h"
--#include "aes.h"
-+#include "uboot_aes.h"
- 
- static u8 zero_key[16];
- 
-diff --git a/cmd/aes.c b/cmd/aes.c
-index 76da3ef..ee1ae13 100644
---- a/cmd/aes.c
-+++ b/cmd/aes.c
-@@ -9,7 +9,7 @@
- #include <common.h>
- #include <command.h>
- #include <environment.h>
--#include <aes.h>
-+#include <uboot_aes.h>
- #include <malloc.h>
- #include <asm/byteorder.h>
- #include <linux/compiler.h>
-diff --git a/common/env_common.c b/common/env_common.c
-index 7fb62e8..6845f8d 100644
---- a/common/env_common.c
-+++ b/common/env_common.c
-@@ -140,7 +140,7 @@ int set_default_vars(int nvars, char * const vars[])
- }
- 
- #ifdef CONFIG_ENV_AES
--#include <aes.h>
-+#include <uboot_aes.h>
- /**
-  * env_aes_cbc_get_key() - Get AES-128-CBC key for the environment
-  *
-diff --git a/include/aes.h b/include/uboot_aes.h
-similarity index 100%
-rename from include/aes.h
-rename to include/uboot_aes.h
-diff --git a/lib/aes.c b/lib/aes.c
-index 9d7a0a1..d6144e6 100644
---- a/lib/aes.c
-+++ b/lib/aes.c
-@@ -27,7 +27,7 @@
- #else
- #include <string.h>
- #endif
--#include "aes.h"
-+#include "uboot_aes.h"
- 
- /* forward s-box */
- static const u8 sbox[256] = {
-diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
-index 05588ab..0d7130a 100644
---- a/tools/env/fw_env.h
-+++ b/tools/env/fw_env.h
-@@ -5,7 +5,7 @@
-  * SPDX-License-Identifier:	GPL-2.0+
-  */
- 
--#include <aes.h>
-+#include <uboot_aes.h>
- #include <stdint.h>
- 
- /* Pull in the current config to define the default environment */
--- 
-2.7.4
-

+ 0 - 184
recipes-bsp/u-boot/u-boot-fw-utils-2017.01/0002-env-split-fw_env.h-in-public-and-private-parts.patch

@@ -1,184 +0,0 @@
-From 4c3ec6eb73e178a0c5fa58489fae92578cfe1ac3 Mon Sep 17 00:00:00 2001
-From: Stefano Babic <sbabic@denx.de>
-Date: Sun, 8 Jan 2017 17:50:10 +0100
-Subject: [PATCH v1 2/4] env: split fw_env.h in public and private parts
-
-Move U-Boot private data into a separate file. This
-lets export fw_env.h to be used by external programs
-that want to change the environment using the library
-built in tools/env.
-
-Signed-off-by: Stefano Babic <sbabic@denx.de>
----
-
- common/env_flags.c         |  1 +
- tools/env/fw_env.c         |  1 +
- tools/env/fw_env.h         | 51 +-----------------------------------------
- tools/env/fw_env_main.c    |  1 +
- tools/env/fw_env_private.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 59 insertions(+), 50 deletions(-)
- create mode 100644 tools/env/fw_env_private.h
-
-diff --git a/common/env_flags.c b/common/env_flags.c
-index 921d377..3c50620 100644
---- a/common/env_flags.c
-+++ b/common/env_flags.c
-@@ -11,6 +11,7 @@
- #ifdef USE_HOSTCC /* Eliminate "ANSI does not permit..." warnings */
- #include <stdint.h>
- #include <stdio.h>
-+#include "fw_env_private.h"
- #include "fw_env.h"
- #include <env_attr.h>
- #include <env_flags.h>
-diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
-index 862a0b1..fc3f4ce 100644
---- a/tools/env/fw_env.c
-+++ b/tools/env/fw_env.c
-@@ -34,6 +34,7 @@
- # include <mtd/mtd-user.h>
- #endif
- 
-+#include "fw_env_private.h"
- #include "fw_env.h"
- 
- struct env_opts default_opts = {
-diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
-index 0d7130a..3e5539d 100644
---- a/tools/env/fw_env.h
-+++ b/tools/env/fw_env.h
-@@ -5,57 +5,8 @@
-  * SPDX-License-Identifier:	GPL-2.0+
-  */
- 
--#include <uboot_aes.h>
- #include <stdint.h>
--
--/* Pull in the current config to define the default environment */
--#include <linux/kconfig.h>
--
--#ifndef __ASSEMBLY__
--#define __ASSEMBLY__ /* get only #defines from config.h */
--#include <config.h>
--#undef	__ASSEMBLY__
--#else
--#include <config.h>
--#endif
--
--/*
-- * To build the utility with the static configuration
-- * comment out the next line.
-- * See included "fw_env.config" sample file
-- * for notes on configuration.
-- */
--#define CONFIG_FILE     "/etc/fw_env.config"
--
--#ifndef CONFIG_FILE
--#define HAVE_REDUND /* For systems with 2 env sectors */
--#define DEVICE1_NAME      "/dev/mtd1"
--#define DEVICE2_NAME      "/dev/mtd2"
--#define DEVICE1_OFFSET    0x0000
--#define ENV1_SIZE         0x4000
--#define DEVICE1_ESIZE     0x4000
--#define DEVICE1_ENVSECTORS     2
--#define DEVICE2_OFFSET    0x0000
--#define ENV2_SIZE         0x4000
--#define DEVICE2_ESIZE     0x4000
--#define DEVICE2_ENVSECTORS     2
--#endif
--
--#ifndef CONFIG_BAUDRATE
--#define CONFIG_BAUDRATE		115200
--#endif
--
--#ifndef CONFIG_BOOTDELAY
--#define CONFIG_BOOTDELAY	5	/* autoboot after 5 seconds	*/
--#endif
--
--#ifndef CONFIG_BOOTCOMMAND
--#define CONFIG_BOOTCOMMAND							\
--	"bootp; "								\
--	"setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} "	\
--	"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; "	\
--	"bootm"
--#endif
-+#include <uboot_aes.h>
- 
- struct env_opts {
- #ifdef CONFIG_FILE
-diff --git a/tools/env/fw_env_main.c b/tools/env/fw_env_main.c
-index 443de36..b8bff26 100644
---- a/tools/env/fw_env_main.c
-+++ b/tools/env/fw_env_main.c
-@@ -34,6 +34,7 @@
- #include <stdlib.h>
- #include <sys/file.h>
- #include <unistd.h>
-+#include "fw_env_private.h"
- #include "fw_env.h"
- 
- #define CMD_PRINTENV	"fw_printenv"
-diff --git a/tools/env/fw_env_private.h b/tools/env/fw_env_private.h
-new file mode 100644
-index 0000000..0c27da0
---- /dev/null
-+++ b/tools/env/fw_env_private.h
-@@ -0,0 +1,55 @@
-+/*
-+ * (C) Copyright 2002-2008
-+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-+ *
-+ * SPDX-License-Identifier:	GPL-2.0+
-+ */
-+
-+/* Pull in the current config to define the default environment */
-+#include <linux/kconfig.h>
-+
-+#ifndef __ASSEMBLY__
-+#define __ASSEMBLY__ /* get only #defines from config.h */
-+#include <config.h>
-+#undef	__ASSEMBLY__
-+#else
-+#include <config.h>
-+#endif
-+
-+/*
-+ * To build the utility with the static configuration
-+ * comment out the next line.
-+ * See included "fw_env.config" sample file
-+ * for notes on configuration.
-+ */
-+#define CONFIG_FILE     "/etc/fw_env.config"
-+
-+#ifndef CONFIG_FILE
-+#define HAVE_REDUND /* For systems with 2 env sectors */
-+#define DEVICE1_NAME      "/dev/mtd1"
-+#define DEVICE2_NAME      "/dev/mtd2"
-+#define DEVICE1_OFFSET    0x0000
-+#define ENV1_SIZE         0x4000
-+#define DEVICE1_ESIZE     0x4000
-+#define DEVICE1_ENVSECTORS     2
-+#define DEVICE2_OFFSET    0x0000
-+#define ENV2_SIZE         0x4000
-+#define DEVICE2_ESIZE     0x4000
-+#define DEVICE2_ENVSECTORS     2
-+#endif
-+
-+#ifndef CONFIG_BAUDRATE
-+#define CONFIG_BAUDRATE		115200
-+#endif
-+
-+#ifndef CONFIG_BOOTDELAY
-+#define CONFIG_BOOTDELAY	5	/* autoboot after 5 seconds	*/
-+#endif
-+
-+#ifndef CONFIG_BOOTCOMMAND
-+#define CONFIG_BOOTCOMMAND						\
-+	"bootp; "							\
-+	"setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} "\
-+	"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; "\
-+	"bootm"
-+#endif
--- 
-2.7.4
-

+ 0 - 52
recipes-bsp/u-boot/u-boot-fw-utils-2017.01/0003-env-add-a-version-number-to-check-API.patch

@@ -1,52 +0,0 @@
-From fd8d8242b0ca277c29ffb901e526ed5b40d4e4d3 Mon Sep 17 00:00:00 2001
-From: Stefano Babic <sbabic@denx.de>
-Date: Sun, 19 Mar 2017 13:00:47 +0100
-Subject: [PATCH v1 3/4] env: add a version number to check API
-
-Changes in the environment library are difficult to tracked by programs
-using the library. Add simply an API version number that must be
-increased each time when the API is changed.
-
-This can be detected and a program can work with different versions of
-the library.
-
-Signed-off-by: Stefano Babic <sbabic@denx.de>
----
-
- tools/env/fw_env.h | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
-index 3e5539d..cf346b3 100644
---- a/tools/env/fw_env.h
-+++ b/tools/env/fw_env.h
-@@ -8,6 +8,13 @@
- #include <stdint.h>
- #include <uboot_aes.h>
- 
-+/*
-+ * Programs using the library must check which API is available,
-+ * that varies depending on the U-Boot version.
-+ * This can be changed in future
-+ */
-+#define FW_ENV_API_VERSION	1
-+
- struct env_opts {
- #ifdef CONFIG_FILE
- 	char *config_file;
-@@ -140,4 +147,12 @@ int fw_env_write(char *name, char *value);
-  */
- int fw_env_close(struct env_opts *opts);
- 
-+/**
-+ * fw_env_version - return the current version of the library
-+ *
-+ * Return:
-+ *  version string of the library
-+ */
-+char *fw_env_version(void);
-+
- unsigned long crc32(unsigned long, const unsigned char *, unsigned);
--- 
-2.7.4
-

+ 0 - 267
recipes-bsp/u-boot/u-boot-fw-utils-2017.01/0004-env-fix-memory-leak-in-fw_env-routines.patch

@@ -1,267 +0,0 @@
-From 5ba7e08c4188064286533e896189f75c3d60af57 Mon Sep 17 00:00:00 2001
-From: Stefano Babic <sbabic@denx.de>
-Date: Wed, 5 Apr 2017 17:23:44 +0200
-Subject: [PATCH v1 4/4] env: fix memory leak in fw_env routines
-
-fw_env_open allocates buffers to store the environment, but these
-buffers are never freed. This becomes quite nasty using the fw_ tools as
-library, because each access to the environment (even just reading a
-variable) generates a memory leak equal to the size of the environment.
-
-Fix this renaming fw_env_close() as fw_env_flush(), because the function
-really flushes the environment from RAM to storage, and add a
-fw_env_close function to free the allocated resources.
-
-Signed-off-by: Stefano Babic <sbabic@denx.de>
----
-
- tools/env/fw_env.c | 72 ++++++++++++++++++++++++++++++++++++++++++------------
- tools/env/fw_env.h | 17 ++++++++++---
- 2 files changed, 70 insertions(+), 19 deletions(-)
-
-diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
-index fc3f4ce..299e0c9 100644
---- a/tools/env/fw_env.c
-+++ b/tools/env/fw_env.c
-@@ -278,6 +278,7 @@ int fw_printenv(int argc, char *argv[], int value_only, struct env_opts *opts)
- 
- 			printf ("%s\n", env);
- 		}
-+		fw_env_close(opts);
- 		return 0;
- 	}
- 
-@@ -300,10 +301,12 @@ int fw_printenv(int argc, char *argv[], int value_only, struct env_opts *opts)
- 		printf("%s=%s\n", name, val);
- 	}
- 
-+	fw_env_close(opts);
-+
- 	return rc;
- }
- 
--int fw_env_close(struct env_opts *opts)
-+int fw_env_flush(struct env_opts *opts)
- {
- 	int ret;
- 
-@@ -472,6 +475,7 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts)
- 	char *name, **valv;
- 	char *value = NULL;
- 	int valc;
-+	int ret;
- 
- 	if (!opts)
- 		opts = &default_opts;
-@@ -491,8 +495,10 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts)
- 	valv = argv + 1;
- 	valc = argc - 1;
- 
--	if (env_flags_validate_env_set_params(name, valv, valc) < 0)
-+	if (env_flags_validate_env_set_params(name, valv, valc) < 0) {
-+		fw_env_close(opts);
- 		return -1;
-+	}
- 
- 	len = 0;
- 	for (i = 0; i < valc; ++i) {
-@@ -518,7 +524,10 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts)
- 
- 	free(value);
- 
--	return fw_env_close(opts);
-+	ret = fw_env_flush(opts);
-+	fw_env_close(opts);
-+
-+	return ret;
- }
- 
- /*
-@@ -639,7 +648,9 @@ int fw_parse_script(char *fname, struct env_opts *opts)
- 	if (strcmp(fname, "-") != 0)
- 		fclose(fp);
- 
--	ret |= fw_env_close(opts);
-+	ret |= fw_env_flush(opts);
-+
-+	fw_env_close(opts);
- 
- 	return ret;
- }
-@@ -1105,11 +1116,11 @@ int fw_env_open(struct env_opts *opts)
- {
- 	int crc0, crc0_ok;
- 	unsigned char flag0;
--	void *addr0;
-+	void *addr0 = NULL;
- 
- 	int crc1, crc1_ok;
- 	unsigned char flag1;
--	void *addr1;
-+	void *addr1 = NULL;
- 
- 	int ret;
- 
-@@ -1120,14 +1131,15 @@ int fw_env_open(struct env_opts *opts)
- 		opts = &default_opts;
- 
- 	if (parse_config(opts))		/* should fill envdevices */
--		return -1;
-+		return -EINVAL;
- 
- 	addr0 = calloc(1, CUR_ENVSIZE);
- 	if (addr0 == NULL) {
- 		fprintf(stderr,
- 			"Not enough memory for environment (%ld bytes)\n",
- 			CUR_ENVSIZE);
--		return -1;
-+		ret = -ENOMEM;
-+		goto open_cleanup;
- 	}
- 
- 	/* read environment from FLASH to local buffer */
-@@ -1146,8 +1158,10 @@ int fw_env_open(struct env_opts *opts)
- 	}
- 
- 	dev_current = 0;
--	if (flash_io (O_RDONLY))
--		return -1;
-+	if (flash_io(O_RDONLY)) {
-+		ret = -EIO;
-+		goto open_cleanup;
-+	}
- 
- 	crc0 = crc32 (0, (uint8_t *) environment.data, ENV_SIZE);
- 
-@@ -1155,7 +1169,7 @@ int fw_env_open(struct env_opts *opts)
- 		ret = env_aes_cbc_crypt(environment.data, 0,
- 					opts->aes_key);
- 		if (ret)
--			return ret;
-+			goto open_cleanup;
- 	}
- 
- 	crc0_ok = (crc0 == *environment.crc);
-@@ -1174,7 +1188,8 @@ int fw_env_open(struct env_opts *opts)
- 			fprintf(stderr,
- 				"Not enough memory for environment (%ld bytes)\n",
- 				CUR_ENVSIZE);
--			return -1;
-+			ret = -ENOMEM;
-+			goto open_cleanup;
- 		}
- 		redundant = addr1;
- 
-@@ -1183,8 +1198,10 @@ int fw_env_open(struct env_opts *opts)
- 		 * other pointers in environment still point inside addr0
- 		 */
- 		environment.image = addr1;
--		if (flash_io (O_RDONLY))
--			return -1;
-+		if (flash_io(O_RDONLY)) {
-+			ret = -EIO;
-+			goto open_cleanup;
-+		}
- 
- 		/* Check flag scheme compatibility */
- 		if (DEVTYPE(dev_current) == MTD_NORFLASH &&
-@@ -1204,7 +1221,8 @@ int fw_env_open(struct env_opts *opts)
- 			environment.flag_scheme = FLAG_INCREMENTAL;
- 		} else {
- 			fprintf (stderr, "Incompatible flash types!\n");
--			return -1;
-+			ret = -EINVAL;
-+			goto open_cleanup;
- 		}
- 
- 		crc1 = crc32 (0, (uint8_t *) redundant->data, ENV_SIZE);
-@@ -1213,7 +1231,7 @@ int fw_env_open(struct env_opts *opts)
- 			ret = env_aes_cbc_crypt(redundant->data, 0,
- 						opts->aes_key);
- 			if (ret)
--				return ret;
-+				goto open_cleanup;
- 		}
- 
- 		crc1_ok = (crc1 == redundant->crc);
-@@ -1285,6 +1303,28 @@ int fw_env_open(struct env_opts *opts)
- #endif
- 	}
- 	return 0;
-+
-+open_cleanup:
-+	if (addr0)
-+		free(addr0);
-+
-+	if (addr1)
-+		free(addr0);
-+
-+	return ret;
-+}
-+
-+/*
-+ * Simply free allocated buffer with environment
-+ */
-+int fw_env_close(struct env_opts *opts)
-+{
-+	if (environment.image)
-+		free(environment.image);
-+
-+	environment.image = NULL;
-+
-+	return 0;
- }
- 
- static int check_device_config(int dev)
-diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
-index cf346b3..04bb646 100644
---- a/tools/env/fw_env.h
-+++ b/tools/env/fw_env.h
-@@ -53,7 +53,7 @@ int fw_printenv(int argc, char *argv[], int value_only, struct env_opts *opts);
-  * @opts: how to retrieve environment from flash, defaults are used if NULL
-  *
-  * Description:
-- *  Uses fw_env_open, fw_env_write, fw_env_close
-+ *  Uses fw_env_open, fw_env_write, fw_env_flush
-  *
-  * Return:
-  *  0 on success, -1 on failure (modifies errno)
-@@ -70,7 +70,7 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts);
-  * @opts: encryption key, configuration file, defaults are used if NULL
-  *
-  * Description:
-- *  Uses fw_env_open, fw_env_write, fw_env_close
-+ *  Uses fw_env_open, fw_env_write, fw_env_flush
-  *
-  * Return:
-  *  0 success, -1 on failure (modifies errno)
-@@ -138,7 +138,17 @@ char *fw_getenv(char *name);
- int fw_env_write(char *name, char *value);
- 
- /**
-- * fw_env_close - write the environment from RAM cache back to flash
-+ * fw_env_flush - write the environment from RAM cache back to flash
-+ *
-+ * @opts: encryption key, configuration file, defaults are used if NULL
-+ *
-+ * Return:
-+ *  0 on success, -1 on failure (modifies errno)
-+ */
-+int fw_env_flush(struct env_opts *opts);
-+
-+/**
-+ * fw_env_close - free allocated structure and close env
-  *
-  * @opts: encryption key, configuration file, defaults are used if NULL
-  *
-@@ -147,6 +157,7 @@ int fw_env_write(char *name, char *value);
-  */
- int fw_env_close(struct env_opts *opts);
- 
-+
- /**
-  * fw_env_version - return the current version of the library
-  *
--- 
-2.7.4
-

+ 0 - 8
recipes-bsp/u-boot/u-boot-fw-utils_2017.01.bbappend

@@ -1,8 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
-
-SRC_URI += "\
-            file://0001-Rename-aes.h-to-uboot_aes.h.patch \
-            file://0002-env-split-fw_env.h-in-public-and-private-parts.patch \
-            file://0003-env-add-a-version-number-to-check-API.patch \
-            file://0004-env-fix-memory-leak-in-fw_env-routines.patch \
-        "