[PATCH] Check SHA256 sum of git-$VER.tar.gz after downloading
John Keeping
john at keeping.me.uk
Sat Mar 7 18:02:59 CET 2015
On Sat, Mar 07, 2015 at 04:59:26PM +0100, Lukas Fleischer wrote:
> On Sat, 07 Mar 2015 at 15:46:41, John Keeping wrote:
> > This requires that we save the downloaded file explicitly rather than
> > piping it straight to tar, but that is advisable anyway since it allows
> > us to check the exit status of curl and make sure that we have
> > downloaded the file successfully.
> >
> > Also add a test to make sure we don't forget to update the file when
> > updating our Git version in the future.
> >
> > Signed-off-by: John Keeping <john at keeping.me.uk>
> > ---
> > Makefile | 8 ++++++--
> > git.sha256sum | 1 +
> > tests/t0001-validate-git-versions.sh | 11 +++++++++++
> > 3 files changed, 18 insertions(+), 2 deletions(-)
> > create mode 100644 git.sha256sum
> > [...]
>
> I like the idea, however, sha256sum is not available on all platforms.
> This breaks `make get-git` under OpenBSD, for example (OpenBSD has a
> utility called sha256 with a different command line interface). Maybe we
> can make the check optional, though?
I'm not sure what benefit it has if it's optional. Will anyone check?
Maybe we could do something like:
if type sha256sum >/dev/null 2>&1
then
sha256sum --check git.sha256sum $(GIT_FILE)
else
echo >&2 'WARNING: sha256sum not found so we cannot verify'
echo >&2 'WARNING: the integrity of the Git archive!'
fi
> On a related note, can we download a signature and use `gpg --verify`
> instead (should probably be optional as well, to avoid a dependency on
> GnuPG)?
I thought about that, but we'd have to embed a key with CGit for it to
work reliably and how do we choose what key to use (given that
individual Git archives are not signed - the list of SHA256 checksums
is)?
More information about the CGit
mailing list