From 2277012bc6aab1f473eda8070b48d75487a41bb7 Mon Sep 17 00:00:00 2001 From: Petr Stodulka Date: Thu, 24 Nov 2022 17:57:12 +0100 Subject: [PATCH 36/37] Introduce theimportrpmgpgkeys tool script The script can be used to import gpg keys from a particular file or files inside a directory. Expected to be executed like: importrpmgpgkey --- .../common/tools/importrpmgpgkeys | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 repos/system_upgrade/common/tools/importrpmgpgkeys diff --git a/repos/system_upgrade/common/tools/importrpmgpgkeys b/repos/system_upgrade/common/tools/importrpmgpgkeys new file mode 100755 index 00000000..79e5c580 --- /dev/null +++ b/repos/system_upgrade/common/tools/importrpmgpgkeys @@ -0,0 +1,35 @@ +#!/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 -- 2.38.1