[pacman-dev] [PATCH 6/8] pacman-key: allow verification of multiple sig files

Allan McRae allan at archlinux.org
Thu Apr 12 23:25:12 EDT 2012


On 13/04/12 00:54, Dave Reisner wrote:
> Loop through arguments passed to verify_sig and treat each as a
> signature to be verified against a source file. Output each file as its
> checked to avoid ambiguity.
> 
> Signed-off-by: Dave Reisner <dreisner at archlinux.org>
> ---
>  doc/pacman-key.8.txt     |    2 +-
>  scripts/pacman-key.sh.in |   15 ++++++++++-----
>  2 files changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/doc/pacman-key.8.txt b/doc/pacman-key.8.txt
> index 96ac31c..4a2122f 100644
> --- a/doc/pacman-key.8.txt
> +++ b/doc/pacman-key.8.txt
> @@ -96,7 +96,7 @@ Operations
>  	Displays the program version.
>  
>  *-v, \--verify*::
> -	Verify the given signature file.
> +	Verify the given targets as signature files.

Not sure I like this wording...  How about sticking with the wording in
--help  "Verify the file(s) specified by the signature(s)".


>  
>  Options
>  -------
> diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
> index b2c3da9..2083a60 100644
> --- a/scripts/pacman-key.sh.in
> +++ b/scripts/pacman-key.sh.in
> @@ -66,7 +66,7 @@ usage() {
>  	printf -- "$(gettext "  -l, --list-keys           List the specified or all keys")\n"
>  	printf -- "$(gettext "  -r, --recv-keys           Fetch the specified keyids")\n"
>  	printf -- "$(gettext "  -u, --updatedb            Update the trustdb of pacman")\n"
> -	printf -- "$(gettext "  -v, --verify              Verify the file specified by the signature")\n"
> +	printf -- "$(gettext "  -v, --verify              Verify the file(s) specified by the signature(s)")\n"
>  	printf -- "$(gettext "  --edit-key                Present a menu for key management task on keyids")\n"
>  	printf -- "$(gettext "  --import                  Imports pubring.gpg from dir(s)")\n"
>  	printf -- "$(gettext "  --import-trustdb          Imports ownertrust values from trustdb.gpg in dir(s)")\n"
> @@ -455,10 +455,15 @@ refresh_keys() {
>  }
>  
>  verify_sig() {
> -	if ! "${GPG_PACMAN[@]}" --status-fd 1 --verify "$1" | grep -qE 'TRUST_(FULLY|ULTIMATE)'; then
> -		error "$(gettext "The signature identified by %s could not be verified.")" "$1"
> -		exit 1
> -	fi
> +	local ret=0
> +	for sig; do
> +		msg "Checking %s ..." "$sig"
> +		if ! "${GPG_PACMAN[@]}" --status-fd 1 --verify "$sig" | grep -qE 'TRUST_(FULLY|ULTIMATE)'; then
> +			error "$(gettext "The signature identified by %s could not be verified.")" "$sig"
> +			ret=1
> +		fi
> +	done
> +	exit $ret
>  }
>  
>  updatedb() {



More information about the pacman-dev mailing list