[PATCH] build: use mkhash for IPK metadata checksums
Paul Spooren
mail at aparcar.org
Thu Jul 16 16:34:11 EDT 2020
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 at gmx.com>
CC: Michal Hrusecky <Michal at Hrusecky.net>
Signed-off-by: Paul Spooren <mail at aparcar.org>
---
include/package-ipkg.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 622cbf3223..82c8f24c9c 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -220,8 +220,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
--
2.25.1
More information about the openwrt-devel
mailing list