PKG_NAME:=uboot-envtools
PKG_DISTNAME:=u-boot
-PKG_VERSION:=2014.10
-PKG_RELEASE:=2
+PKG_VERSION:=2015.10
+PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/u-boot-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=\
http://mirror2.openwrt.org/sources \
ftp://ftp.denx.de/pub/u-boot
-PKG_MD5SUM:=3ddcaee2f05b7c464778112ec83664b5
+PKG_MD5SUM:=7c203b0fc3390a122d8e8b75f147eac5
PKG_BUILD_DEPENDS:=+fstools
define Build/Configure
touch $(PKG_BUILD_DIR)/include/config.mk
touch $(PKG_BUILD_DIR)/include/config.h
+ mkdir $(PKG_BUILD_DIR)/include/generated
+ touch $(PKG_BUILD_DIR)/include/generated/autoconf.h
endef
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
-@@ -245,7 +245,7 @@ int fw_printenv (int argc, char *argv[])
+@@ -246,7 +246,7 @@ int fw_printenv (int argc, char *argv[])
int i, n_flag;
int rc = 0;
if (argc < 3) {
fprintf(stderr,
"## Error: '-a' option requires AES key\n");
-@@ -324,7 +324,7 @@ int fw_printenv (int argc, char *argv[])
+@@ -325,7 +325,7 @@ int fw_printenv (int argc, char *argv[])
int fw_env_close(void)
{
int ret;
ret = env_aes_cbc_crypt(environment.data, 1);
if (ret) {
fprintf(stderr,
-@@ -1222,7 +1222,7 @@ int fw_env_open(void)
+@@ -1223,7 +1223,7 @@ int fw_env_open(void)
crc0 = crc32 (0, (uint8_t *) environment.data, ENV_SIZE);
ret = env_aes_cbc_crypt(environment.data, 0);
if (ret)
return ret;
-@@ -1279,7 +1279,7 @@ int fw_env_open(void)
+@@ -1280,7 +1280,7 @@ int fw_env_open(void)
crc1 = crc32 (0, (uint8_t *) redundant->data, ENV_SIZE);
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
-@@ -30,6 +30,9 @@
+@@ -31,6 +31,9 @@
# include <mtd/mtd-user.h>
#endif
#include "fw_env.h"
#include <aes.h>
-@@ -810,6 +813,11 @@ static int flash_write_buf (int dev, int
+@@ -811,6 +814,11 @@ static int flash_write_buf (int dev, int
off_t top_of_range; /* end of the last block we may use */
loff_t blockstart; /* running start of the current block -
MEMGETBADBLOCK needs 64 bits */
int rc;
/*
-@@ -915,7 +923,30 @@ static int flash_write_buf (int dev, int
+@@ -916,7 +924,30 @@ static int flash_write_buf (int dev, int
continue;
}
erase.start = blockstart;
ioctl(fd, MEMUNLOCK, &erase);
/* These do not need an explicit erase cycle */
-@@ -932,7 +963,8 @@ static int flash_write_buf (int dev, int
+@@ -933,7 +964,8 @@ static int flash_write_buf (int dev, int
fprintf (stderr,
"Seek error on %s: %s\n",
DEVNAME (dev), strerror (errno));
}
#ifdef DEBUG
-@@ -942,10 +974,11 @@ static int flash_write_buf (int dev, int
+@@ -943,10 +975,11 @@ static int flash_write_buf (int dev, int
if (write (fd, data + processed, erasesize) != erasesize) {
fprintf (stderr, "Write error on %s: %s\n",
DEVNAME (dev), strerror (errno));
ioctl(fd, MEMLOCK, &erase);
processed += erasesize;
-@@ -956,6 +989,11 @@ static int flash_write_buf (int dev, int
+@@ -957,6 +990,11 @@ static int flash_write_buf (int dev, int
if (write_total > count)
free (data);
return processed;
}
-@@ -1067,12 +1105,8 @@ static int flash_read (int fd)
+@@ -1068,12 +1106,8 @@ static int flash_read (int fd)
if (S_ISCHR(st.st_mode)) {
rc = ioctl(fd, MEMGETINFO, &mtdinfo);
mtdinfo.type != MTD_NANDFLASH &&
mtdinfo.type != MTD_DATAFLASH &&
mtdinfo.type != MTD_UBIVOLUME) {
-@@ -1080,6 +1114,28 @@ static int flash_read (int fd)
+@@ -1081,6 +1115,28 @@ static int flash_read (int fd)
mtdinfo.type, DEVNAME(dev_current));
return -1;
}