You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
725 B
36 lines
725 B
#!/usr/bin/bash -ef
|
|
|
|
log_error() {
|
|
echo >&2 "Error: $1"
|
|
}
|
|
|
|
log_info() {
|
|
echo >&2 "Info: $1"
|
|
}
|
|
|
|
if [ "$#" -eq 0 ]; then
|
|
log_error "Missing the required path to the directory with trusted GPG keys."
|
|
exit 1
|
|
elif [ "$#" -ge 2 ]; then
|
|
log_error "Expected only one argument, received $#. Possibly unescaped whitespaces? '$*'"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -e "$1" ]; then
|
|
log_error "The $1 directory does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
error_flag=0
|
|
IFS=$'\n'
|
|
# shellcheck disable=SC2044
|
|
for key_file in $(find -L "$1" -type f); do
|
|
log_info "Importing GPG keys from: $key_file"
|
|
rpm --import "$key_file" || {
|
|
error_flag=2
|
|
log_error "Unable to import GPG keys from: $key_file"
|
|
}
|
|
done
|
|
|
|
exit $error_flag
|