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
9 months ago
|
#!/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
|