Репозитории ALT
S: | 0.8.61-alt1 |
5.1: | 0.7.35-alt1 |
4.1: | 0.5.1-alt1.M41.1 |
4.0: | 0.4.10-alt1 |
3.0: | 0.3.8-alt4 |
+updates: | 0.3.8-alt5 |
Группа :: Система/Настройка/Пакеты
Пакет: alt-gpgkeys
Главная Изменения Спек Патчи Исходники Загрузить Gear Bugs and FR Repocop
#!/bin/sh -efu
. shell-error
keyfile="$1"; shift
uid_pattern='^uid[[:space:]]+.*[[:space:]]+<[^@]+(@| at )altlinux(\.| dot )(com|net|org|ru)>$'
tempdir=
cleanup_handler()
{
trap - EXIT
[ -z "$tempdir" ] || rm -rf "$tempdir"
exit "$@"
}
exit_handler()
{
cleanup_handler $?
}
signal_handler()
{
cleanup_handler 143
}
trap exit_handler EXIT
trap signal_handler HUP PIPE INT QUIT TERM
tempdir="$(mktemp -td alt-gpgkeys.XXXXXX)"
export LANG=C
export GNUPGHOME="$tempdir"
gpg --import "$keyfile" 2>/dev/null ||
fatal "$keyfile: Invalid gpg key file"
n="$(gpg --list-keys 2>/dev/null |grep -c '^pub[[:space:]]\+')" ||
fatal "$keyfile: No public keys found"
[ "$n" = 1 ] ||
fatal "$keyfile: Too many ($n) keys found"
gpg --list-keys 2>/dev/null |egrep -qs "$uid_pattern" ||
fatal "$keyfile: No valid altlinux uid was found"
gpg --list-keys 2>/dev/null |grep '^uid[[:space:]]\+' |egrep -vqs "$uid_pattern" &&
fatal "$keyfile: Non altlinux uid detected"
gpg --list-keys 2>/dev/null |grep -qs '^sub[[:space:]]\+' &&
fatal "$keyfile: Subkey detected"
exit 0