BugLink: https://bugs.launchpad.net/bugs/1853843
When detecting module signatures, the current approach causes
this warning for modules lacking a signature:
/bin/bash: line 5: warning: command substitution: ignored null byte in input
My original approach used read, which works well, but for unknown
reasons causes an error from bash when by itself as the first
line in the if clause. Putting it in a no-op while loop prevents
the error, but it has the advantage of working without flooding
the build logs with warnings.
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
-name '*.ko' | while read path_module ; do \
module="/lib/modules/$${path_module#*/lib/modules/}"; \
if [[ -f "$(dbgpkgdir)/usr/lib/debug/$$module" ]] ; then \
- signature=$$(tail -c 28 "$$path_module"); \
+ while IFS= read -r -d '' signature < <(tail -c 28 "$$path_module"); do \
+ break; \
+ done; \
$(CROSS_COMPILE)objcopy \
--add-gnu-debuglink=$(dbgpkgdir)/usr/lib/debug/$$module \
$$path_module; \
if grep -q CONFIG_MODULE_SIG=y $(builddir)/build-$*/.config && \
- [ "$$signature" = "~Module signature appended~" ]; then \
+ [ "$$signature" = $$'~Module signature appended~\n' ]; then \
$(builddir)/build-$*/scripts/sign-file $(MODHASHALGO) \
$(MODSECKEY) \
$(MODPUBKEY) \