makepkg: allow less than the full fingerprint in validpgpkeys

I found this feature confusing, and the documentation wasn't any help.
It was pointed out to me on IRC that validpgpkeys expects full
fingerprints, and won't accept shorter forms. This makes the
documentation insufficient, and the variable name itself misleading.

This patch bolsters the documentation to explain more about what the
contents should be, and implements suffix matching to allow matching on
shorters fingerprint suffices. Now, when makepkg tells you that a key
ID isn't valid, it's sufficient to manually check the key ID against
the known good ID, and add it as is to validpgpkeys.

Signed-off-by: Allan McRae <allan@archlinux.org>
avoid line wrapping if not in a tty or COLUMNS=0

Scripts that parse pacman's output (like pacsearch) generally do not
want wrapped lines.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
table_display: only check width when non-zero

A width of 0 indicates that either pacman is not attached
to a tty or the user does not want line wrapping.  Either
way pacman should not fall back to the basic display.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
deps.c: split _alpm_depcmp into _alpm_depcmp_provides

This allows to reuse the provision checker for a simple list of
provisions without a package.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
libalpm: export alpm_splitdep as alpm_dep_from_depstring and alpm_dep_free

Signed-off-by: Florian Pritz <bluewind@xinu.at>
Add --assume-installed option

This allows to ignore specific dependencies.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
remove retry check from signature validation

The retry path was removed by
4ccf16dff589ce9f369d377bb5d3f490bd27c624

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
check_keyring: skip keys known to be missing

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
_alpm_key_in_keychain: cache known keys

Implements FS#38042

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
makepkg: do not strip bzr+ from bzr+ssh urls

bzr does not recognize bare ssh:// urls.

Fixes FS#41811

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
makepkg: only strip vcs prefixes from front of url

Referenced by FS#41811

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>