Running make on a fresh checkout of this repository will fail if your global Git configuration has signature verification enabled for git log. It prints a confusing error message like the following from my PC:
$ make
sed 's#^RUNTIME=.*$#RUNTIME='"'/usr/local/share/nvimpager/runtime'"'#;s#version=.*$#version=v0.9-7-g458ca0d#' < nvimpager > nvimpager.configured
chmod +x nvimpager.configured
echo "---" > metadata.yaml
echo "footer: Version v0.9-7-g458ca0d" >> metadata.yaml
echo "date: gpg: Signature made Sat 10 Apr 2021 06:15:09 AM CDT gpg: using RSA key 4AEE18F83AFDEB23 gpg: Good signature from "GitHub (web-flow commit signing) <noreply@github.com>" [full] 2021-04-10" >> metadata.yaml
/bin/sh: 1: Syntax error: "(" unexpected
make: *** [makefile:31: metadata.yaml] Error 2
The problem seems to be either the embedded quotes or embedded parentheses in substring "GitHub (web-flow commit signing) <noreply@github.com>", and the unescaped string at makefile:31:
echo "date: $(DATE)" >> $@
Change
This change simply suppresses signature verification with git log --no-show-signature when building the $(DATE) string.
$ cat metadata.yaml
---
footer: Version v0.9-7-g458ca0d
date: 2021-04-10
...
Notes
It may be better (safer) to escape all of the strings constructed via $(shell ...) function, as there are probably other configurations that can produce similar errors.
Problem
Running
make
on a fresh checkout of this repository will fail if your global Git configuration has signature verification enabled forgit log
. It prints a confusing error message like the following from my PC:The problem seems to be either the embedded quotes or embedded parentheses in substring
"GitHub (web-flow commit signing) <noreply@github.com>"
, and the unescaped string atmakefile:31
:Change
This change simply suppresses signature verification with
git log --no-show-signature
when building the$(DATE)
string.Verification
Now
make
runs to completion:With
metadata.yaml
containing the following:Notes
It may be better (safer) to escape all of the strings constructed via
$(shell ...)
function, as there are probably other configurations that can produce similar errors.