aboutsummaryrefslogtreecommitdiffstats
path: root/include/download.mk
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-12-16 13:34:37 +0100
committerFelix Fietkau <nbd@nbd.name>2016-12-17 10:36:45 +0100
commitd49059693b752f6bca398073c1f0d0908e3d9b80 (patch)
tree85280f23f45832f5b7db32a3d7e011610a920f14 /include/download.mk
parent7a315b0b5d6aa91695853a8647383876e4b49a7a (diff)
downloadupstream-d49059693b752f6bca398073c1f0d0908e3d9b80.tar.gz
upstream-d49059693b752f6bca398073c1f0d0908e3d9b80.tar.bz2
upstream-d49059693b752f6bca398073c1f0d0908e3d9b80.zip
build: add FIXUP option for make check
This will attempt to automatically fix common mistakes like using MD5 instead of SHA256, using the MD5SUM variable instead of HASH, or even a missing mirror file hash. Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'include/download.mk')
-rw-r--r--include/download.mk19
1 files changed, 18 insertions, 1 deletions
diff --git a/include/download.mk b/include/download.mk
index a9e8a0e2ff..63ded7ebcd 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -47,9 +47,22 @@ endef
ifdef CHECK
check_escape=$(subst ','\'',$(1))
#')
-check_warn = $(info $(shell printf "$(_R)WARNING: %s$(_N)" '$(call check_escape,$(call C_$(1),$(2),$(3),$(4)))'))
+
+check_warn_nofix = $(info $(shell printf "$(_R)WARNING: %s$(_N)" '$(call check_escape,$(call C_$(1),$(2),$(3),$(4)))'))
+ifndef FIXUP
+ check_warn = $(check_warn_nofix)
+else
+ check_warn = $(if $(filter-out undefined,$(origin F_$(1))),$(filter ,$(shell $(call F_$(1),$(2),$(3),$(4)) >&2)),$(check_warn_nofix))
+endif
+
gen_sha256sum = $(shell openssl dgst -sha256 $(DL_DIR)/$(1) | awk '{print $$2}')
+ifdef FIXUP
+F_hash_deprecated = $(SCRIPT_DIR)/fixup-makefile.pl $(CURDIR)/Makefile fix-hash $(3) $(call gen_sha256sum,$(1)) $(2)
+F_hash_mismatch = $(F_hash_deprecated)
+F_hash_missing = $(SCRIPT_DIR)/fixup-makefile.pl $(CURDIR)/Makefile add-hash $(3) $(call gen_sha256sum,$(1))
+endif
+
C_download_missing = $(1) is missing, please run make download before re-running this check
C_hash_mismatch = $(3) does not match $(1) hash $(call gen_sha256sum,$(1))
C_hash_deprecated = $(3) uses deprecated hash, set to $(call gen_sha256sum,$(1))
@@ -69,6 +82,10 @@ check_hash = \
$(call check_warn,download_missing,$(1),$(2),$(3)) \
)
+ifdef FIXUP
+F_md5_deprecated = $(SCRIPT_DIR)/fixup-makefile.pl $(CURDIR)/Makefile rename-var $(2) $(3)
+endif
+
C_md5_deprecated = Use of $(2) is deprecated, switch to $(3)
# Skip MD5SUM check in feeds until OpenWrt is updated