- Add support for GPG subkeys
- Debrand for AlmaLinux
This commit is contained in:
parent
350282d528
commit
53476615ce
@ -1,116 +0,0 @@
|
||||
From 16b6963ef5e37805d2587684f90d2c6d5dd4ffdc Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Filak <jfilak@redhat.com>
|
||||
Date: Thu, 6 Dec 2018 17:57:59 +0100
|
||||
Subject: [PATCH] cli list: show a hint about creating a case in RHTS
|
||||
|
||||
Adds "Run 'abrt-cli report ...' for creating a case in Red Hat Customer Portal" to
|
||||
abrt-cli list output.
|
||||
|
||||
Resolves: #1649753
|
||||
|
||||
(cherry-picked from 7966e5737e8d3af43b1ecdd6a823234b8d25931d)
|
||||
|
||||
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
||||
---
|
||||
configure.ac | 2 ++
|
||||
src/cli/Makefile.am | 3 ++-
|
||||
src/cli/list.c | 49 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 53 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 76e0f274b..5d70bb9a8 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -246,6 +246,7 @@ DEFAULT_PLUGINS_CONF_DIR='${datadir}/${PACKAGE_NAME}/conf.d/plugins'
|
||||
EVENTS_DIR='${datadir}/libreport/events'
|
||||
EVENTS_CONF_DIR='${sysconfdir}/libreport/events.d'
|
||||
JOURNAL_CATALOG_DIR='$(prefix)/lib/systemd/catalog'
|
||||
+WORKFLOWS_DIR='${datadir}/libreport/workflows'
|
||||
ENABLE_SOCKET_OR_DBUS='-DENABLE_DBUS=1'
|
||||
DEFAULT_DUMP_LOCATION_MODE=0751
|
||||
DEFAULT_DUMP_DIR_MODE=$($PKG_CONFIG --variable=dd_mode libreport)
|
||||
@@ -389,6 +390,7 @@ AC_SUBST(PLUGINS_CONF_DIR)
|
||||
AC_SUBST(DEFAULT_PLUGINS_CONF_DIR)
|
||||
AC_SUBST(EVENTS_CONF_DIR)
|
||||
AC_SUBST(JOURNAL_CATALOG_DIR)
|
||||
+AC_SUBST(WORKFLOWS_DIR)
|
||||
AC_SUBST(EVENTS_DIR)
|
||||
AC_SUBST(DEFAULT_DUMP_LOCATION)
|
||||
AC_SUBST(DEFAULT_DUMP_LOCATION_MODE)
|
||||
diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am
|
||||
index 92dc20ab4..a7c76efa3 100644
|
||||
--- a/src/cli/Makefile.am
|
||||
+++ b/src/cli/Makefile.am
|
||||
@@ -17,7 +17,8 @@ abrt_cli_CFLAGS = \
|
||||
-I$(srcdir)/../include \
|
||||
-I$(srcdir)/../lib \
|
||||
$(LIBREPORT_CFLAGS) \
|
||||
- $(POLKIT_AGENT_CFLAGS)
|
||||
+ $(POLKIT_AGENT_CFLAGS) \
|
||||
+ -DWORKFLOWS_DIR=\"${WORKFLOWS_DIR}\"
|
||||
|
||||
if SUGGEST_AUTOREPORTING
|
||||
abrt_cli_CFLAGS += -DSUGGEST_AUTOREPORTING=1
|
||||
diff --git a/src/cli/list.c b/src/cli/list.c
|
||||
index d069695c6..2c140cb38 100644
|
||||
--- a/src/cli/list.c
|
||||
+++ b/src/cli/list.c
|
||||
@@ -77,6 +77,55 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz
|
||||
/*names_to_skip:*/ NULL,
|
||||
/*max_text_size:*/ text_size,
|
||||
MAKEDESC_SHOW_ONLY_LIST | MAKEDESC_SHOW_URLS);
|
||||
+
|
||||
+ /*
|
||||
+ * If the problem is reportable and has not yet been reported into RHTS
|
||||
+ * and there is at least one applicable Workflow which contains
|
||||
+ * 'report_RHTSupport' event, then append a short message informing
|
||||
+ * user that he can create a new case in Red Hat Customer Portal.
|
||||
+ */
|
||||
+ const char *const not_reportable = problem_data_get_content_or_NULL(problem_data, FILENAME_NOT_REPORTABLE);
|
||||
+ const char *const reported_to = not_reportable ? NULL : problem_data_get_content_or_NULL(problem_data, FILENAME_REPORTED_TO);
|
||||
+ report_result_t *const report = !reported_to ? NULL : find_in_reported_to_data(reported_to, "RHTSupport");
|
||||
+
|
||||
+ if (!not_reportable && !report)
|
||||
+ {
|
||||
+ /* The lines below should be replaced by something simpler, I'd
|
||||
+ * like to see:
|
||||
+ * GHashTable *possible_worfklows = load_applicable_workflows_for_dump();
|
||||
+ *
|
||||
+ * However, this feature (rhbz#1055565) is intended for RHEL only
|
||||
+ * and I'm not sure whether it's worth to file another bug against
|
||||
+ * libreport and try to improve libreport public API.
|
||||
+ */
|
||||
+ const char *const dump_dir_name = problem_data_get_content_or_NULL(problem_data, CD_DUMPDIR);
|
||||
+ GList *const wf_names = list_possible_events_glist(dump_dir_name, "workflow");
|
||||
+ GHashTable *const possible_workflows = load_workflow_config_data_from_list(wf_names, WORKFLOWS_DIR);
|
||||
+ g_list_free_full(wf_names, free);
|
||||
+
|
||||
+ int event_found = 0;
|
||||
+
|
||||
+ GHashTableIter iter;
|
||||
+ gpointer key = NULL;
|
||||
+ gpointer value = NULL;
|
||||
+
|
||||
+ g_hash_table_iter_init(&iter, possible_workflows);
|
||||
+ while (!event_found && g_hash_table_iter_next(&iter, &key, &value))
|
||||
+ {
|
||||
+ GList *const event_names = wf_get_event_names((workflow_t *)value);
|
||||
+ event_found = !!g_list_find_custom(event_names, "report_RHTSupport", (GCompareFunc)g_strcmp0);
|
||||
+ g_list_free_full(event_names, free);
|
||||
+ }
|
||||
+
|
||||
+ g_hash_table_destroy(possible_workflows);
|
||||
+
|
||||
+ if (event_found)
|
||||
+ {
|
||||
+ char *tmp = xasprintf("%sRun 'abrt-cli report %s' for creating a case in Red Hat Customer Portal\n", desc, dump_dir_name);
|
||||
+ free(desc);
|
||||
+ desc = tmp;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
fputs(desc, stdout);
|
||||
free(desc);
|
||||
--
|
||||
2.17.2
|
||||
|
@ -1,28 +0,0 @@
|
||||
From c0aa44a93bfdc701839d2c70568224521a6d5c5b Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Filak <jfilak@redhat.com>
|
||||
Date: Thu, 6 Dec 2018 18:00:45 +0100
|
||||
Subject: [PATCH] cli: mark the suggestion text for translation
|
||||
|
||||
(cherry-picked from 187530c4df6971927d1e099584be5b418ab2725b)
|
||||
|
||||
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
||||
---
|
||||
src/cli/list.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/cli/list.c b/src/cli/list.c
|
||||
index 2c140cb38..f16ce8c0d 100644
|
||||
--- a/src/cli/list.c
|
||||
+++ b/src/cli/list.c
|
||||
@@ -121,7 +121,7 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz
|
||||
|
||||
if (event_found)
|
||||
{
|
||||
- char *tmp = xasprintf("%sRun 'abrt-cli report %s' for creating a case in Red Hat Customer Portal\n", desc, dump_dir_name);
|
||||
+ char *tmp = xasprintf(_("%sRun 'abrt-cli report %s' for creating a case in Red Hat Customer Portal\n"), desc, dump_dir_name);
|
||||
free(desc);
|
||||
desc = tmp;
|
||||
}
|
||||
--
|
||||
2.17.2
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 58dcdd2f2780263e79a82ecebb27b000b0583979 Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Filak <jfilak@redhat.com>
|
||||
Date: Thu, 6 Dec 2018 18:01:13 +0100
|
||||
Subject: [PATCH] cli: get list of possible workflows for problem_data_t
|
||||
|
||||
File system access is not possible, so we have to rely on the data
|
||||
transfered via D-Bus.
|
||||
|
||||
(cherry-picked from f2055f8c6469b590172d94e9ea530243af89f028)
|
||||
|
||||
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
||||
---
|
||||
src/cli/list.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/cli/list.c b/src/cli/list.c
|
||||
index f16ce8c0d..e688d2f49 100644
|
||||
--- a/src/cli/list.c
|
||||
+++ b/src/cli/list.c
|
||||
@@ -99,7 +99,7 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz
|
||||
* libreport and try to improve libreport public API.
|
||||
*/
|
||||
const char *const dump_dir_name = problem_data_get_content_or_NULL(problem_data, CD_DUMPDIR);
|
||||
- GList *const wf_names = list_possible_events_glist(dump_dir_name, "workflow");
|
||||
+ GList *const wf_names = list_possible_events_problem_data_glist(problem_data, dump_dir_name, "workflow");
|
||||
GHashTable *const possible_workflows = load_workflow_config_data_from_list(wf_names, WORKFLOWS_DIR);
|
||||
g_list_free_full(wf_names, free);
|
||||
|
||||
--
|
||||
2.17.2
|
||||
|
88
SOURCES/9100-add_gpg_subkeys_support.patch
Normal file
88
SOURCES/9100-add_gpg_subkeys_support.patch
Normal file
@ -0,0 +1,88 @@
|
||||
From 0f61c017f2d0c8a11b12abec774aa94d45ec8116 Mon Sep 17 00:00:00 2001
|
||||
From: Daniil Leonov <dleonov@cloudlinux.com>
|
||||
Date: Tue, 9 Feb 2021 15:17:59 +0300
|
||||
Subject: [PATCH] Add GPG subkeys support.
|
||||
|
||||
---
|
||||
src/daemon/rpm.c | 46 ++++++++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 38 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/daemon/rpm.c b/src/daemon/rpm.c
|
||||
index af9a7be..c28c047 100644
|
||||
--- a/src/daemon/rpm.c
|
||||
+++ b/src/daemon/rpm.c
|
||||
@@ -24,6 +24,19 @@
|
||||
#include <rpm/rpmcli.h>
|
||||
#include <rpm/rpmdb.h>
|
||||
#include <rpm/rpmpgp.h>
|
||||
+#include <rpm/rpmkeyring.h>
|
||||
+
|
||||
+struct rpmPubkey_s {
|
||||
+ uint8_t *pkt;
|
||||
+ size_t pktlen;
|
||||
+ pgpKeyID_t keyid;
|
||||
+ pgpDigParams pgpkey;
|
||||
+ int nrefs;
|
||||
+ pthread_rwlock_t lock;
|
||||
+};
|
||||
+
|
||||
+typedef struct rpmPubkey_s * rpmPubkey;
|
||||
+
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -93,8 +106,13 @@ void rpm_destroy()
|
||||
void rpm_load_gpgkey(const char* filename)
|
||||
{
|
||||
#ifdef HAVE_LIBRPM
|
||||
+ rpmPubkey pubkey = NULL;
|
||||
+ rpmPubkey *subkeys = NULL;
|
||||
+ char *fingerprint = NULL;
|
||||
+ int subkeysCount = 0;
|
||||
uint8_t *pkt = NULL;
|
||||
- size_t pklen;
|
||||
+ size_t pklen = 0;
|
||||
+
|
||||
if (pgpReadPkts(filename, &pkt, &pklen) != PGPARMOR_PUBKEY)
|
||||
{
|
||||
free(pkt);
|
||||
@@ -102,17 +120,29 @@ void rpm_load_gpgkey(const char* filename)
|
||||
return;
|
||||
}
|
||||
|
||||
- uint8_t keyID[8];
|
||||
-#if 0
|
||||
- if (pgpPubkeyFingerprint(pkt, pklen, keyID) == 0)
|
||||
-#else
|
||||
- if (pgpPubkeyKeyID(pkt, pklen, keyID) == 0)
|
||||
-#endif
|
||||
+ pubkey = rpmPubkeyNew(pkt, pklen);
|
||||
+ if (pubkey != NULL)
|
||||
{
|
||||
- char *fingerprint = pgpHexStr(keyID, sizeof(keyID));
|
||||
+ fingerprint = pgpHexStr(pubkey->keyid, sizeof(pubkey->keyid));
|
||||
if (fingerprint != NULL)
|
||||
list_fingerprints = g_list_append(list_fingerprints, fingerprint);
|
||||
+
|
||||
+ subkeys = rpmGetSubkeys(pubkey, &subkeysCount);
|
||||
+ for (int i = 0; i < subkeysCount; i++)
|
||||
+ {
|
||||
+ rpmPubkey subkey = subkeys[i];
|
||||
+ if (subkey != NULL)
|
||||
+ {
|
||||
+ fingerprint = pgpHexStr(subkey->keyid, sizeof(subkey->keyid));
|
||||
+ if (fingerprint != NULL)
|
||||
+ list_fingerprints = g_list_append(list_fingerprints, fingerprint);
|
||||
+ }
|
||||
+ rpmPubkeyFree(subkey);
|
||||
+ }
|
||||
+ free(subkeys);
|
||||
}
|
||||
+
|
||||
+ rpmPubkeyFree(pubkey);
|
||||
free(pkt);
|
||||
#else
|
||||
return;
|
||||
--
|
||||
2.25.1
|
||||
|
@ -55,7 +55,7 @@
|
||||
Summary: Automatic bug detection and reporting tool
|
||||
Name: abrt
|
||||
Version: 2.10.9
|
||||
Release: 24%{?dist}
|
||||
Release: 24%{?dist}.alma
|
||||
License: GPLv2+
|
||||
URL: https://abrt.readthedocs.org/
|
||||
Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
@ -88,9 +88,9 @@ Patch0009: 0009-lib-Correct-the-syntax-for-gdb-backtrace-command.patch
|
||||
Patch0024: 0024-dbus-Add-configuration-for-Python3.patch
|
||||
Patch0025: 0025-daemon-Fix-double-closed-fd-race-condition.patch
|
||||
#git format-patch 1725bd258 -N --start-number 26 --topo-order
|
||||
Patch0026: 0026-cli-list-show-a-hint-about-creating-a-case-in-RHTS.patch
|
||||
Patch0027: 0027-cli-mark-the-suggestion-text-for-translation.patch
|
||||
Patch0028: 0028-cli-get-list-of-possible-workflows-for-problem_data_.patch
|
||||
# Patch0026: 0026-cli-list-show-a-hint-about-creating-a-case-in-RHTS.patch
|
||||
# Patch0027: 0027-cli-mark-the-suggestion-text-for-translation.patch
|
||||
# Patch0028: 0028-cli-get-list-of-possible-workflows-for-problem_data_.patch
|
||||
#Patch0029: 0029-spec-Add-explicit-package-version-requirement-of-abr.patch
|
||||
#git format-patch 2.10.9-10.el8 -N --start-number 30 --topo-order
|
||||
#Patch030: 0030-testsuite-dbus-element-handling-Use-external-script.patch
|
||||
@ -166,6 +166,10 @@ Patch0092: 0092-abrt-dump-oops-Fix-vmcore-call-trace-parsing.patch
|
||||
# autogen.sh is need to regenerate all the Makefile files
|
||||
Patch1000: 1000-Add-autogen.sh.patch
|
||||
|
||||
# AlmaLinux: add support for GPG subkeys
|
||||
Patch9100: 9100-add_gpg_subkeys_support.patch
|
||||
|
||||
|
||||
BuildRequires: %{dbus_devel}
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: glib2-devel >= 2.43
|
||||
@ -227,9 +231,9 @@ Requires: python3-dbus
|
||||
Requires: dmidecode
|
||||
%endif
|
||||
Requires: libreport-plugin-ureport
|
||||
%if 0%{?rhel}
|
||||
Requires: libreport-plugin-rhtsupport
|
||||
%endif
|
||||
# %if 0%{?rhel}
|
||||
# Requires: libreport-plugin-rhtsupport
|
||||
# %endif
|
||||
%if 0%{?fedora}
|
||||
Requires: libreport-plugin-systemd-journal
|
||||
%endif
|
||||
@ -538,10 +542,11 @@ Requires: python2-abrt-addon
|
||||
Requires: python3-abrt-addon
|
||||
%endif # with python3
|
||||
Requires: abrt-addon-xorg
|
||||
%if 0%{?rhel}
|
||||
Requires: libreport-rhel >= %{libreport_ver}
|
||||
Requires: libreport-plugin-rhtsupport >= %{libreport_ver}
|
||||
%else
|
||||
# %if 0%{?rhel}
|
||||
# Requires: libreport-rhel >= %{libreport_ver}
|
||||
# Requires: libreport-plugin-rhtsupport >= %{libreport_ver}
|
||||
# %else
|
||||
%if 0%{!?rhel}
|
||||
Requires: abrt-retrace-client
|
||||
%if %{with bodhi}
|
||||
Requires: abrt-plugin-bodhi
|
||||
@ -582,10 +587,11 @@ Requires: abrt-addon-xorg
|
||||
Requires: gdb-headless
|
||||
Requires: abrt-gui
|
||||
Requires: gnome-abrt
|
||||
%if 0%{?rhel}
|
||||
Requires: libreport-rhel >= %{libreport_ver}
|
||||
Requires: libreport-plugin-rhtsupport >= %{libreport_ver}
|
||||
%else
|
||||
# %if 0%{?rhel}
|
||||
# Requires: libreport-rhel >= %{libreport_ver}
|
||||
# Requires: libreport-plugin-rhtsupport >= %{libreport_ver}
|
||||
# %else
|
||||
%if 0%{!?rhel}
|
||||
Requires: abrt-retrace-client
|
||||
%if %{with bodhi}
|
||||
Requires: abrt-plugin-bodhi
|
||||
@ -735,7 +741,6 @@ CFLAGS="%{optflags} -Werror" %configure \
|
||||
%endif
|
||||
%if 0%{?rhel}
|
||||
--enable-suggest-autoreporting \
|
||||
--enable-authenticated-autoreporting \
|
||||
%endif
|
||||
%ifnarch %{arm}
|
||||
--enable-native-unwinder \
|
||||
@ -1380,6 +1385,10 @@ killall abrt-dbus >/dev/null 2>&1 || :
|
||||
%config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh
|
||||
|
||||
%changelog
|
||||
* Wed Mar 29 2023 Eduard Abdullin <eabdullin@almalinux.org> - 2.10.9-24.alma
|
||||
- Add support for GPG subkeys
|
||||
- Debrand for AlmaLinux
|
||||
|
||||
* Thu Feb 16 2023 Matěj Grabovský <mgrabovs@redhat.com> - 2.10.9-24
|
||||
- Revert part of patch for rhbz#2137499
|
||||
- Resolves: rhbz#2137499
|
||||
|
Loading…
Reference in New Issue
Block a user