core/legal-info: use hash file from version sub-dir

When we have multiple versions for a package, and the licensing terms
depend on the version actually selected (e.g. like Qt5), storing the
hashes for those license files in the .hash file is broken: the infra
will ensure that all hashes for a file do match, which would not be the
case here.

We fix that by first looking for a hash file in the version sub-dir
first, and if that does not exist, then we use the main hash file.

Drop the useless intermediate variable 'ret'.

Update the documentation accordingly.

Reported-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Joshua Henderson <joshua.henderson@microchip.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2017-07-16 19:22:39 +02:00 committed by Thomas Petazzoni
parent c582086424
commit 63eeb9a383
2 changed files with 9 additions and 4 deletions

View File

@ -482,7 +482,9 @@ this in a comment line above the hashes.
.Note .Note
The hashes for license files are used to detect a license change when a The hashes for license files are used to detect a license change when a
package version is bumped. package version is bumped. For a package with multiple versions (like Qt5),
create the hash file in a subdirectory +<packageversion>+ of that package
(see also xref:patch-apply-order[]).
.Note .Note
The number of spaces does not matter, so one can use spaces (or tabs) to The number of spaces does not matter, so one can use spaces (or tabs) to

View File

@ -86,9 +86,12 @@ endef
define legal-license-file # pkgname, pkgname-pkgver, pkgdir, filename, file-fullpath, {HOST|TARGET} define legal-license-file # pkgname, pkgname-pkgver, pkgdir, filename, file-fullpath, {HOST|TARGET}
mkdir -p $(LICENSE_FILES_DIR_$(6))/$(2)/$(dir $(4)) && \ mkdir -p $(LICENSE_FILES_DIR_$(6))/$(2)/$(dir $(4)) && \
{ \ { \
if [ -f $(3)/$($(PKG)_VERSION)/$(1).hash ]; then \
support/download/check-hash $(3)/$($(PKG)_VERSION)/$(1).hash $(5) $(4); \
else \
support/download/check-hash $(3)/$(1).hash $(5) $(4); \ support/download/check-hash $(3)/$(1).hash $(5) $(4); \
ret=$${?}; \ fi; \
case $${ret} in (0|3) ;; (*) exit 1;; esac; \ case $${?} in (0|3) ;; (*) exit 1;; esac; \
} && \ } && \
cp $(5) $(LICENSE_FILES_DIR_$(6))/$(2)/$(4) cp $(5) $(LICENSE_FILES_DIR_$(6))/$(2)/$(4)
endef endef