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>
conf.c: store repo settings in dedicated struct

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
conf.c: use masks for siglevel inheritance

This will allow pacman to parse its config file in a single pass and
removes the need for the *_SET siglevels in alpm that were only required
for pacman's siglevel inheritance.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
conf.c: parse config in a single pass

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove final callback call

Storing repo information removes the need for the final callback.  This
allows the call signature to be re-purposed for indicating read errors.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: move Include parsing to conf.c

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove unnecessary helper function

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove empty section name restriction

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove useless key check

key points to a statically allocated string, it can't be NULL.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: move error output into conf.c

Move the remaining output into conf.c by notifying the callback of read
errors.

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