build: image: return sizes if check-size fails
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 29 Jul 2020 19:00:12 +0000 (21:00 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 3 Aug 2020 08:40:32 +0000 (10:40 +0200)
Instead of just printing a warning that an image is too big, also
print both actual size and limit in the string:

WARNING: Image file somename.bin is too big: 2096101 > 1048576

Since the kernel size is checked via the same function (if
KERNEL_SIZE is specified), this will also apply to the kernel
image size check.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
include/image-commands.mk

index 9281b91990e223cfb1d8fe7d9024bccfbf5538c0..8ed705a7f4f29588824fc2b59dcecba9dc7cd77c 100644 (file)
@@ -269,8 +269,10 @@ define Build/xor-image
 endef
 
 define Build/check-size
-       @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(if $(1),$(1),$(IMAGE_SIZE)))))) -ge "$$(stat -c%s $@)" ] || { \
-               echo "WARNING: Image file $@ is too big" >&2; \
+       @imagesize="$$(stat -c%s $@)"; \
+       limitsize="$$(($(subst k,* 1024,$(subst m, * 1024k,$(if $(1),$(1),$(IMAGE_SIZE))))))"; \
+       [ $$limitsize -ge $$imagesize ] || { \
+               echo "WARNING: Image file $@ is too big: $$imagesize > $$limitsize" >&2; \
                rm -f $@; \
        }
 endef