58 lines
1.5 KiB
Diff
58 lines
1.5 KiB
Diff
|
From 2277012bc6aab1f473eda8070b48d75487a41bb7 Mon Sep 17 00:00:00 2001
|
||
|
From: Petr Stodulka <pstodulk@redhat.com>
|
||
|
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 <absolute-path>
|
||
|
---
|
||
|
.../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
|
||
|
|