[pacman-dev] [PATCH 2/7] pacman-key: remove the --adv option

Dan McGee dpmcgee at gmail.com
Fri Jul 8 09:55:55 EDT 2011


On Fri, Jul 8, 2011 at 6:59 AM, Allan McRae <allan at archlinux.org> wrote:
> The conversion to using parse_options causes this option to break.
> It is preferable to remove the option rather than fix it as it is
> simply a wrapper for "gpg --homedir @sysconfdir@/pacman.d/gnupg".
> Any user using more advanced keyring management than provided by
> pacman-key can manage to point gpg at the right place themselves...
>
> How to manually edit the keyring with gpg will instead be documented
> in the man page in a later commit.

I won't lie here, I'm not a fan of this but maybe because I've become
accustomed to the option being available. It was way easier than
typing out the long-form gpg command line. "pacman-key --adv --verify
/tmp/cryptsetup-1.3.1-1-x86_64.pkg.tar.xz.sig" is something I just
pulled out of my command history.

What if we just enforced instead that the entire arg string was quoted:
    pacman-key --adv "--verify /tmp/cryptsetup-1.3.1-1-x86_64.pkg.tar.xz.sig"
Or perhaps the "don't parse anymore" option:
    pacman-key --adv -- --verify /tmp/cryptsetup-1.3.1-1-x86_64.pkg.tar.xz.sig

-Dan

> Signed-off-by: Allan McRae <allan at archlinux.org>
> ---
>  scripts/pacman-key.sh.in |   11 +----------
>  1 files changed, 1 insertions(+), 10 deletions(-)
>
> diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
> index 8e797f8..e49811c 100644
> --- a/scripts/pacman-key.sh.in
> +++ b/scripts/pacman-key.sh.in
> @@ -28,7 +28,6 @@ myver="@PACKAGE_VERSION@"
>
>  # Options
>  ADD=0
> -ADVANCED=0
>  DELETE=0
>  EXPORT=0
>  FINGER=0
> @@ -60,7 +59,6 @@ usage() {
>        echo "$(gettext "  -t, --trust <keyid(s)>    Set the trust level of the given keyids")"
>        echo "$(gettext "  -u, --updatedb            Update the trustdb of pacman")"
>        echo "$(gettext "  -V, --version             Show program version")"
> -       echo "$(gettext "  --adv <params>            Use pacman's keyring with advanced gpg commands")"
>        echo "$(gettext "  --config <file>           Use an alternate config file")"
>        printf "$(gettext "                                    (instead of '%s')")\n" "@sysconfdir@/pacman.conf"
>        echo "$(gettext "  --gpgdir <dir>            Set an alternate directory for gnupg")"
> @@ -228,7 +226,6 @@ fi
>  while true; do
>        case "$1" in
>                -a|--add)         ADD=1; [[ -n $2 && ${2:0:1} != "-" ]] && shift && KEYFILES=($1) ;;
> -               --adv)            ADVANCED=1; shift; ARGUMENTS=($1) ;;
>                --config)         shift; CONFIG=$1 ;;
>                -d|--del)         DELETE=1; shift; KEYIDS=($1) ;;
>                -e|--export)      EXPORT=1; shift; KEYIDS=($1) ;;
> @@ -255,7 +252,7 @@ if ! type -p gpg >/dev/null; then
>        exit 1
>  fi
>
> -if (( (ADD || ADVANCED || DELETE || RECEIVE || RELOAD || TRUST || UPDATEDB) && EUID != 0 )); then
> +if (( (ADD || DELETE || RECEIVE || RELOAD || TRUST || UPDATEDB) && EUID != 0 )); then
>        error "$(gettext "%s needs to be run as root for this operation.")" "pacman-key"
>        exit 1
>  fi
> @@ -288,12 +285,6 @@ GPG_PACMAN="gpg --homedir ${PACMAN_KEYRING_DIR} --no-permission-warning"
>  (( RELOAD )) && reload_keyring
>  (( UPDATEDB )) && ${GPG_PACMAN} --batch --check-trustdb
>
> -if (( ADVANCED )); then
> -       msg "$(gettext "Executing: %s %s")" "${GPG_PACMAN}" "${ARGUMENTS[@]}"
> -       ${GPG_PACMAN} "${ARGUMENTS[@]}" || ret=$?
> -       exit $ret
> -fi
> -
>  if (( RECEIVE )); then
>        if [[ -z ${KEYIDS[@]} ]]; then
>                error "$(gettext "You need to specify the keyserver and at least one key identifier")"
> --
> 1.7.6
>
>
>


More information about the pacman-dev mailing list