#
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
PKG_NAME:=uboot-envtools
PKG_DISTNAME:=u-boot
-PKG_VERSION:=2012.04.01
+PKG_VERSION:=2013.01.01
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
-PKG_MD5SUM:=192bb231082d9159fb6e16de3039b6b2
-PKG_BUILD_DEPENDS:=zlib
+PKG_MD5SUM:=73939f78606f89a1775c7e9acb2ca617
-include $(INCLUDE_DIR)/package.mk
+PKG_BUILD_DIR:=$(BUILD_DIR)/u-boot-$(PKG_VERSION)
-TAR_OPTIONS+= --strip-components=3 -C $(PKG_BUILD_DIR) $(PKG_DISTNAME)-$(PKG_VERSION)/tools/env
+include $(INCLUDE_DIR)/package.mk
define Package/uboot-envtools
SECTION:=utils
This package includes tools to read and modify U-Boot bootloader environment.
endef
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
- tar xvjf $(DL_DIR)/$(PKG_SOURCE) --strip-components=2 -C $(PKG_BUILD_DIR) $(PKG_DISTNAME)-$(PKG_VERSION)/lib/crc32.c
- $(call Build/Prepare/Default)
+define Build/Configure
+endef
+
+define Build/Compile
+ touch $(PKG_BUILD_DIR)/include/config.h
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ HOSTCC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gcc" \
+ HOSTSTRIP="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)strip" \
+ env
endef
define Package/uboot-envtools/conffiles
define Package/uboot-envtools/install
$(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/fw_printenv $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/env/fw_printenv $(1)/usr/sbin
ln -s fw_printenv $(1)/usr/sbin/fw_setenv
$(INSTALL_DIR) $(1)/lib
$(INSTALL_DATA) ./files/uboot-envtools.sh $(1)/lib
+++ /dev/null
---- a/crc32.c
-+++ b/crc32.c
-@@ -8,21 +8,16 @@
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
--#ifndef USE_HOSTCC
--#include <common.h>
--#endif
--#include <compiler.h>
--#include <u-boot/crc.h>
-+#include <stdint.h>
-+#include <asm/byteorder.h>
-+
-+#include "zlib.h"
-
--#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
--#include <watchdog.h>
--#endif
--#include "u-boot/zlib.h"
-
- #define local static
- #define ZEXPORT /* empty */
-
--#define tole(x) cpu_to_le32(x)
-+#define tole(x) __constant_cpu_to_le32(x)
-
- #ifdef DYNAMIC_CRC_TABLE
-
-@@ -151,7 +146,7 @@ tole(0xb40bbe37L), tole(0xc30c8ea1L), to
-
- #if 0
- /* =========================================================================
-- * This function can be used by asm versions of crc32()
-+ * This function can be used by asm versions of uboot_crc32()
- */
- const uint32_t * ZEXPORT get_crc_table()
- {
-@@ -183,7 +178,7 @@ uint32_t ZEXPORT crc32_no_comp(uint32_t
- if (crc_table_empty)
- make_crc_table();
- #endif
-- crc = cpu_to_le32(crc);
-+ crc = __cpu_to_le32(crc);
- /* Align it */
- if (((long)b) & 3 && len) {
- uint8_t *p = (uint8_t *)b;
-@@ -212,11 +207,11 @@ uint32_t ZEXPORT crc32_no_comp(uint32_t
- } while (--len);
- }
-
-- return le32_to_cpu(crc);
-+ return __le32_to_cpu(crc);
- }
- #undef DO_CRC
-
--uint32_t ZEXPORT crc32 (uint32_t crc, const Bytef *p, uInt len)
-+uint32_t ZEXPORT uboot_crc32 (uint32_t crc, const Bytef *p, uInt len)
- {
- return crc32_no_comp(crc ^ 0xffffffffL, p, len) ^ 0xffffffffL;
- }
-@@ -239,12 +234,12 @@ uint32_t ZEXPORT crc32_wd (uint32_t crc,
- chunk = end - curr;
- if (chunk > chunk_sz)
- chunk = chunk_sz;
-- crc = crc32 (crc, curr, chunk);
-+ crc = uboot_crc32 (crc, curr, chunk);
- curr += chunk;
- WATCHDOG_RESET ();
- }
- #else
-- crc = crc32 (crc, buf, len);
-+ crc = uboot_crc32 (crc, buf, len);
- #endif
-
- return crc;
---- a/fw_env.c
-+++ b/fw_env.c
-@@ -34,6 +34,7 @@
- #include <sys/ioctl.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <zlib.h>
-
- #ifdef MTD_OLD
- # include <stdint.h>
-@@ -212,13 +213,14 @@ static char default_environment[] = {
- static int flash_io (int mode);
- static char *envmatch (char * s1, char * s2);
- static int parse_config (void);
-+uint32_t uboot_crc32 (uint32_t crc, const Bytef *p, uInt len);
-
- #if defined(CONFIG_FILE)
- static int get_config (char *);
- #endif
--static inline ulong getenvsize (void)
-+static inline uint32_t getenvsize (void)
- {
-- ulong rc = CONFIG_ENV_SIZE - sizeof (long);
-+ uint32_t rc = CONFIG_ENV_SIZE - sizeof (uint32_t);
-
- if (HaveRedundEnv)
- rc -= sizeof (char);
-@@ -348,7 +350,7 @@ int fw_env_close(void)
- /*
- * Update CRC
- */
-- *environment.crc = crc32(0, (uint8_t *) environment.data, ENV_SIZE);
-+ *environment.crc = uboot_crc32(0, (uint8_t *) environment.data, ENV_SIZE);
-
- /* write environment back to flash */
- if (flash_io(O_RDWR)) {
-@@ -1116,7 +1118,7 @@ int fw_env_open(void)
- if (flash_io (O_RDONLY))
- return -1;
-
-- crc0 = crc32 (0, (uint8_t *) environment.data, ENV_SIZE);
-+ crc0 = uboot_crc32 (0, (uint8_t *) environment.data, ENV_SIZE);
- crc0_ok = (crc0 == *environment.crc);
- if (!HaveRedundEnv) {
- if (!crc0_ok) {
-@@ -1160,7 +1162,7 @@ int fw_env_open(void)
- return -1;
- }
-
-- crc1 = crc32 (0, (uint8_t *) redundant->data, ENV_SIZE);
-+ crc1 = uboot_crc32 (0, (uint8_t *) redundant->data, ENV_SIZE);
- crc1_ok = (crc1 == redundant->crc);
- flag1 = redundant->flags;
-
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -21,34 +21,17 @@
- # MA 02111-1307 USA
- #
-
--include $(TOPDIR)/config.mk
--
--HOSTSRCS := $(SRCTREE)/lib/crc32.c fw_env.c fw_env_main.c
-+SRCS := crc32.c fw_env.c fw_env_main.c
- HEADERS := fw_env.h
-
--# Compile for a hosted environment on the target
--HOSTCPPFLAGS = -idirafter $(SRCTREE)/include \
-- -idirafter $(OBJTREE)/include2 \
-- -idirafter $(OBJTREE)/include \
-- -DUSE_HOSTCC
--
--ifeq ($(MTD_VERSION),old)
--HOSTCPPFLAGS += -DMTD_OLD
--endif
--
--all: $(obj)fw_printenv
--
--# Some files complain if compiled with -pedantic, use HOSTCFLAGS_NOPED
--$(obj)fw_printenv: $(HOSTSRCS) $(HEADERS)
-- $(HOSTCC) $(HOSTCFLAGS_NOPED) $(HOSTLDFLAGS) -o $@ $(HOSTSRCS)
-+CPPFLAGS := -Wall $(CFLAGS)
-
--clean:
-- rm -f $(obj)fw_printenv
-+all: fw_printenv
-
--#########################################################################
-+fw_printenv: $(SRCS) $(HEADERS)
-+ $(CC) $(CPPFLAGS) $(SRCS) -o fw_printenv
-
--include $(TOPDIR)/rules.mk
--
--sinclude $(obj).depend
-+clean:
-+ rm -f fw_printenv
-
- #########################################################################