aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Spooren <mail@aparcar.org>2020-07-16 10:34:11 -1000
committerPaul Spooren <mail@aparcar.org>2020-11-26 19:06:13 -1000
commite34f04f4bcaae2abead8e85b42dbcbba3ab2a065 (patch)
tree4baf650688df912bdb7cb266ba2e3ea54cd43649
parent64cbfd1f547cc8c3a1fd427644fd1c4fb476b81c (diff)
downloadupstream-e34f04f4bcaae2abead8e85b42dbcbba3ab2a065.tar.gz
upstream-e34f04f4bcaae2abead8e85b42dbcbba3ab2a065.tar.bz2
upstream-e34f04f4bcaae2abead8e85b42dbcbba3ab2a065.zip
build: use mkhash for IPK metadata checksums
When setting the option IPK_FILES_CHECKSUMS the build system stores checksums of all package file as metadata. In combination with pkg_check this allows to see if a package is broken, e.g. caused by bad flash. To create those checksums the tool `sha256sum` were used while the rest of OpenWrt uses `mkhash`, a small & fast implementation of sha256. As the build system does not check the existence of `sha256sum` and the stderr output is moved to /dev/null, a situation where the option is enabled but no actual checksum are created may occur. Instead of adding `sha256sum` as a requirement, this replaces it with `mkhash sha256` and adapts the `sed` pipe command to fit spacing. CC: Xu Wang <xwang1498@gmx.com> CC: Michal Hrusecky <Michal@Hrusecky.net> Signed-off-by: Paul Spooren <mail@aparcar.org>
-rw-r--r--include/package-ipkg.mk4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 0bca8ae84d..a92d692121 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -218,8 +218,8 @@ $(_endef)
ifneq ($$(CONFIG_IPK_FILES_CHECKSUMS),)
(cd $$(IDIR_$(1)); \
( \
- find . -type f \! -path ./CONTROL/\* -exec sha256sum \{\} \; 2> /dev/null | \
- sed 's|\([[:blank:]]\)\./|\1/|' > $$(IDIR_$(1))/CONTROL/files-sha256sum \
+ find . -type f \! -path ./CONTROL/\* -exec mkhash sha256 -n \{\} \; 2> /dev/null | \
+ sed 's|\([[:blank:]]\)\./| \1/|' > $$(IDIR_$(1))/CONTROL/files-sha256sum \
) || true \
)
endif