mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
build: Add repo-only maintainer script append-signature.sh.
-- Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
2c97fa84c1
commit
362afb4f60
108
build-aux/append-signature.sh
Executable file
108
build-aux/append-signature.sh
Executable file
@ -0,0 +1,108 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Append a signature to an existing detached signature.
|
||||||
|
# Copyright (C) 2016 g10 Code GmbH
|
||||||
|
#
|
||||||
|
# This file is free software; as a special exception the author gives
|
||||||
|
# unlimited permission to copy and/or distribute it, with or without
|
||||||
|
# modifications, as long as this notice is preserved.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
PGM="$(basename $0)"
|
||||||
|
GPGV=gpgv
|
||||||
|
|
||||||
|
# Prints usage information.
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $PGM TARBALL NEWSIGNATURE
|
||||||
|
Append a signature to an existing detached signature.
|
||||||
|
Options:
|
||||||
|
--verbose Print some extra information.
|
||||||
|
--help Print this help.
|
||||||
|
EOF
|
||||||
|
exit $1
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Parse options
|
||||||
|
#
|
||||||
|
verbose=""
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
# Set up `optarg'.
|
||||||
|
--*=*)
|
||||||
|
optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
optarg=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
--help|-h)
|
||||||
|
usage 0
|
||||||
|
;;
|
||||||
|
--verbose|-v)
|
||||||
|
verbose="-v"
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
usage 1 1>&2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $# -ne 2 ]; then
|
||||||
|
usage 1 1>&2
|
||||||
|
fi
|
||||||
|
tarball="$1"
|
||||||
|
tarballsig="$1".sig
|
||||||
|
newsig="$2"
|
||||||
|
|
||||||
|
[ -n "$verbose" ] && echo "tarball: $tarball"
|
||||||
|
[ -n "$verbose" ] && echo "sig ...: $tarballsig"
|
||||||
|
[ -n "$verbose" ] && echo "newsig : $newsig"
|
||||||
|
|
||||||
|
if ! $GPGV --version >/dev/null 2>/dev/null ; then
|
||||||
|
echo "${PGM}: Command \"gpgv\" is not installed" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
distsigkey="/usr/local/share/gnupg/distsigkey.gpg"
|
||||||
|
if [ ! -f "$distsigkey" ]; then
|
||||||
|
distsigkey="/usr/share/gnupg/distsigkey.gpg"
|
||||||
|
fi
|
||||||
|
if [ ! -f "$distsigkey" ]; then
|
||||||
|
echo "${PGM}: File \"$distsigkey\" is not installed" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! $GPGV $verbose --keyring "$distsigkey" \
|
||||||
|
-- "$tarballsig" "$tarball" 2>/dev/null ; then
|
||||||
|
echo "${PGM}: Existing signature '$tarballsig' does not verify" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! $GPGV $verbose --keyring "$distsigkey" \
|
||||||
|
-- "$newsig" "$tarball" 2>/dev/null; then
|
||||||
|
echo "${PGM}: New signature '$newsig' does not verify" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat "$newsig" >> "$tarballsig"
|
||||||
|
|
||||||
|
if ! $GPGV $verbose --keyring "$distsigkey" \
|
||||||
|
-- "$tarballsig" "$tarball"; then
|
||||||
|
echo "${PGM}: Update signature '$tarballsig' does not verify" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user