core/pkg-infra: set no-check-hash only for main download
authorYann E. MORIN <yann.morin.1998@free.fr>
Wed, 25 Apr 2018 19:41:52 +0000 (21:41 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 1 May 2018 20:59:48 +0000 (22:59 +0200)
Currently, when the main download if from an SCM, we exclude all
downloads from being hash-checked, on the assumption that we don't
have hashes for downloads from an SCM.

However, the exclusion is computed on the DOWNLOAD macro, which is
called for each download of a package, thus effectively disabling
hash checks for extra downloads, even though those are only ever
download with wget.

What we really wanted to do, in fact, was to exclude just the main
download.

We fix that by appending the main source file to the global list of
excluded files, from within the generic-package infra itself.

Reported-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/pkg-download.mk
package/pkg-generic.mk

index 2c4ad3ba2cda13ba78ef714edab28e88aace7a9f..2d9b0d4a417966e6ec332500493f028bd4d8d86b 100644 (file)
@@ -92,8 +92,6 @@ endif
 
 define DOWNLOAD
        $(Q)mkdir -p $($(PKG)_DL_DIR)
-       $(Q)$(if $(filter bzr cvs hg svn,$($(PKG)_SITE_METHOD)),
-               BR_NO_CHECK_HASH_FOR=$(notdir $(call qstrip,$(1)))) \
        $(EXTRA_ENV) $(FLOCK) $(DL_WRAPPER) \
                -c '$($(PKG)_DL_VERSION)' \
                -d '$($(PKG)_DL_DIR)' \
index 87c856407d0838567b685579457dd44b3e04608d..28e6c41a7fba82332bd815f49774b11dcd26fdf2 100644 (file)
@@ -483,6 +483,10 @@ ifndef $(2)_PATCH
  endif
 endif
 
+ifneq ($$(filter bzr cvs hg svn,$$($(2)_SITE)),)
+BR_NO_CHECK_HASH_FOR += $$($(2)_SOURCE)
+endif
+
 $(2)_ALL_DOWNLOADS = \
        $$(foreach p,$$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\
                $$(if $$(findstring ://,$$(p)),$$(p),\