abrt package is retired on branch c10s for CS-2551
This commit is contained in:
parent
188a9f5738
commit
0f2d044615
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
/abrt-2.10.5.tar.gz
|
||||
/abrt-2.10.9.tar.gz
|
@ -1,155 +0,0 @@
|
||||
From b9005f1a69ad989a50ffa68a41c959551f0cb158 Mon Sep 17 00:00:00 2001
|
||||
From: Matej Habrnal <mhabrnal@redhat.com>
|
||||
Date: Wed, 23 May 2018 11:15:38 +0200
|
||||
Subject: [PATCH 1/1] Remove dependency on deprecated nss-pem
|
||||
|
||||
This commit removes dependency on nss-pem which is deprecated and
|
||||
reimplements TLS client to use libnssckbi.so instead [1].
|
||||
|
||||
Resolves #1578427
|
||||
|
||||
[1] https://docs-old.fedoraproject.org/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Init
|
||||
|
||||
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
|
||||
---
|
||||
abrt.spec.in | 2 +-
|
||||
src/plugins/abrt-retrace-client.c | 5 ++-
|
||||
src/plugins/https-utils.c | 53 ++++++-------------------------
|
||||
src/plugins/https-utils.h | 4 +--
|
||||
4 files changed, 15 insertions(+), 49 deletions(-)
|
||||
|
||||
diff --git a/abrt.spec.in b/abrt.spec.in
|
||||
index f423562c..eb6fdaf9 100644
|
||||
--- a/abrt.spec.in
|
||||
+++ b/abrt.spec.in
|
||||
@@ -255,7 +255,7 @@ Summary: %{name}'s retrace client
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: xz
|
||||
Requires: tar
|
||||
-Requires: nss-pem
|
||||
+Requires: p11-kit-trust
|
||||
|
||||
%description retrace-client
|
||||
This package contains the client application for Retrace server
|
||||
diff --git a/src/plugins/abrt-retrace-client.c b/src/plugins/abrt-retrace-client.c
|
||||
index ae5ef83b..d50d45fb 100644
|
||||
--- a/src/plugins/abrt-retrace-client.c
|
||||
+++ b/src/plugins/abrt-retrace-client.c
|
||||
@@ -1281,8 +1281,7 @@ int main(int argc, char **argv)
|
||||
|
||||
/* Initialize NSS */
|
||||
SECMODModule *mod;
|
||||
- PK11GenericObject *cert;
|
||||
- nss_init(&mod, &cert);
|
||||
+ nss_init(&mod);
|
||||
|
||||
/* Run the desired operation. */
|
||||
int result = 0;
|
||||
@@ -1334,7 +1333,7 @@ int main(int argc, char **argv)
|
||||
error_msg_and_die(_("Unknown operation: %s."), operation);
|
||||
|
||||
/* Shutdown NSS. */
|
||||
- nss_close(mod, cert);
|
||||
+ nss_close(mod);
|
||||
|
||||
return result;
|
||||
}
|
||||
diff --git a/src/plugins/https-utils.c b/src/plugins/https-utils.c
|
||||
index 7a22729b..7a9479ca 100644
|
||||
--- a/src/plugins/https-utils.c
|
||||
+++ b/src/plugins/https-utils.c
|
||||
@@ -142,37 +142,6 @@ static const char *ssl_get_configdir()
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-static PK11GenericObject *nss_load_cacert(const char *filename)
|
||||
-{
|
||||
- PK11SlotInfo *slot = PK11_FindSlotByName("PEM Token #0");
|
||||
- if (!slot)
|
||||
- error_msg_and_die(_("Failed to get slot 'PEM Token #0': %d."), PORT_GetError());
|
||||
-
|
||||
- CK_ATTRIBUTE template[4];
|
||||
- CK_OBJECT_CLASS class = CKO_CERTIFICATE;
|
||||
-
|
||||
-#define PK11_SETATTRS(x,id,v,l) \
|
||||
- do { \
|
||||
- (x)->type = (id); \
|
||||
- (x)->pValue=(v); \
|
||||
- (x)->ulValueLen = (l); \
|
||||
- } while (0)
|
||||
-
|
||||
- PK11_SETATTRS(&template[0], CKA_CLASS, &class, sizeof(class));
|
||||
- CK_BBOOL cktrue = CK_TRUE;
|
||||
- PK11_SETATTRS(&template[1], CKA_TOKEN, &cktrue, sizeof(CK_BBOOL));
|
||||
- PK11_SETATTRS(&template[2], CKA_LABEL, (unsigned char*)filename, strlen(filename)+1);
|
||||
- PK11_SETATTRS(&template[3], CKA_TRUST, &cktrue, sizeof(CK_BBOOL));
|
||||
- PK11GenericObject *cert = PK11_CreateGenericObject(slot, template, 4, PR_FALSE);
|
||||
- PK11_FreeSlot(slot);
|
||||
- return cert;
|
||||
-}
|
||||
-
|
||||
-static char *ssl_get_password(PK11SlotInfo *slot, PRBool retry, void *arg)
|
||||
-{
|
||||
- return NULL;
|
||||
-}
|
||||
-
|
||||
void ssl_connect(struct https_cfg *cfg, PRFileDesc **tcp_sock, PRFileDesc **ssl_sock)
|
||||
{
|
||||
PRAddrInfo *addrinfo = PR_GetAddrInfoByName(cfg->url, PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
|
||||
@@ -411,7 +380,7 @@ char *http_join_chunked(char *body, int bodylen)
|
||||
return strbuf_free_nobuf(result);
|
||||
}
|
||||
|
||||
-void nss_init(SECMODModule **mod, PK11GenericObject **cert)
|
||||
+void nss_init(SECMODModule **mod)
|
||||
{
|
||||
SECStatus sec_status;
|
||||
const char *configdir = ssl_get_configdir();
|
||||
@@ -422,21 +391,19 @@ void nss_init(SECMODModule **mod, PK11GenericObject **cert)
|
||||
if (SECSuccess != sec_status)
|
||||
error_msg_and_die(_("Failed to initialize NSS."));
|
||||
|
||||
- char *user_module = xstrdup("library=libnsspem.so name=PEM");
|
||||
- *mod = SECMOD_LoadUserModule(user_module, NULL, PR_FALSE);
|
||||
- free(user_module);
|
||||
- if (!*mod || !(*mod)->loaded)
|
||||
- error_msg_and_die(_("Failed to initialize security module."));
|
||||
-
|
||||
- *cert = nss_load_cacert("/etc/pki/tls/certs/ca-bundle.crt");
|
||||
- PK11_SetPasswordFunc(ssl_get_password);
|
||||
- NSS_SetDomesticPolicy();
|
||||
+ // Initialize the trusted certificate store.
|
||||
+ char module_name[] = "library=libnssckbi.so name=\"Root Certs\"";
|
||||
+ *mod = SECMOD_LoadUserModule(module_name, NULL, PR_FALSE);
|
||||
+ if (*mod == NULL || !(*mod)->loaded)
|
||||
+ {
|
||||
+ const PRErrorCode err = PR_GetError();
|
||||
+ error_msg_and_die("error: NSPR error code %d: %s\n", err, PR_ErrorToName(err));
|
||||
+ }
|
||||
}
|
||||
|
||||
-void nss_close(SECMODModule *mod, PK11GenericObject *cert)
|
||||
+void nss_close(SECMODModule *mod)
|
||||
{
|
||||
SSL_ClearSessionCache();
|
||||
- PK11_DestroyGenericObject(cert);
|
||||
SECMOD_UnloadUserModule(mod);
|
||||
SECMOD_DestroyModule(mod);
|
||||
SECStatus sec_status = NSS_Shutdown();
|
||||
diff --git a/src/plugins/https-utils.h b/src/plugins/https-utils.h
|
||||
index 8ff9aede..f0b167d3 100644
|
||||
--- a/src/plugins/https-utils.h
|
||||
+++ b/src/plugins/https-utils.h
|
||||
@@ -61,7 +61,7 @@ int http_get_response_code(const char *message);
|
||||
void http_print_headers(FILE *file, const char *message);
|
||||
char *tcp_read_response(PRFileDesc *tcp_sock);
|
||||
char *http_join_chunked(char *body, int bodylen);
|
||||
-void nss_init(SECMODModule **mod, PK11GenericObject **cert);
|
||||
-void nss_close(SECMODModule *mod, PK11GenericObject *cert);
|
||||
+void nss_init(SECMODModule **mod);
|
||||
+void nss_close(SECMODModule *mod);
|
||||
|
||||
#endif
|
||||
--
|
||||
2.17.0
|
||||
|
@ -1,133 +0,0 @@
|
||||
From a8a22295837aaadf39bfede6c92e9f9047bcaa34 Mon Sep 17 00:00:00 2001
|
||||
From: Matej Habrnal <mhabrnal@redhat.com>
|
||||
Date: Wed, 6 Jun 2018 14:04:09 +0200
|
||||
Subject: [PATCH] ccpp: add %h and %e parameter into abrt-hook-ccpp
|
||||
|
||||
Without this commit core_pattern's parameter %h and %e was not
|
||||
translated at all.
|
||||
|
||||
If there is a white space in executable filename, %e replaced only by
|
||||
the first part of executable name (till the space). Hence we decided
|
||||
to get executable name from /proc/PID/exe symlink exist.
|
||||
|
||||
Example:
|
||||
If 'core_pattern = core.%h.%p.%t.%e' the result was
|
||||
core.%h.26284.1469805542.sleep not
|
||||
core.myshostmane.26284.1469805542.sleep with spaces
|
||||
|
||||
Related to #1587891
|
||||
|
||||
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
|
||||
---
|
||||
src/hooks/abrt-hook-ccpp.c | 36 ++++++++++++++++++++++++------------
|
||||
src/hooks/abrt-install-ccpp-hook.in | 2 +-
|
||||
2 files changed, 25 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
|
||||
index 1c4e45e..40117fc 100644
|
||||
--- a/src/hooks/abrt-hook-ccpp.c
|
||||
+++ b/src/hooks/abrt-hook-ccpp.c
|
||||
@@ -65,13 +65,13 @@ static struct dump_dir *dd;
|
||||
* %t - UNIX time of dump
|
||||
* %P - global pid
|
||||
* %I - crash thread tid
|
||||
- * %e - executable filename (can contain white spaces)
|
||||
+ * %h - hostname
|
||||
+ * %e - executable filename (can contain white spaces, must be placed at the end)
|
||||
* %% - output one "%"
|
||||
*/
|
||||
/* Hook must be installed with exactly the same sequence of %c specifiers.
|
||||
- * Last one, %h, may be omitted (we can find it out).
|
||||
*/
|
||||
-static const char percent_specifiers[] = "%scpugtePi";
|
||||
+static const char percent_specifiers[] = "%scpugtPIhe";
|
||||
static char *core_basename = (char*) "core";
|
||||
|
||||
static DIR *open_cwd(pid_t pid)
|
||||
@@ -146,7 +146,8 @@ static int setfscreatecon_raw(security_context_t context)
|
||||
}
|
||||
#endif
|
||||
|
||||
-static int open_user_core(uid_t uid, uid_t fsuid, gid_t fsgid, pid_t pid, char **percent_values)
|
||||
+static int open_user_core(uid_t uid, uid_t fsuid, gid_t fsgid, pid_t pid,
|
||||
+ char **percent_values, const char *executable_filename)
|
||||
{
|
||||
proc_cwd = open_cwd(pid);
|
||||
if (proc_cwd == NULL)
|
||||
@@ -196,7 +197,13 @@ static int open_user_core(uid_t uid, uid_t fsuid, gid_t fsgid, pid_t pid, char *
|
||||
{
|
||||
const char *val = "%";
|
||||
if (specifier_num > 0) /* not %% */
|
||||
+ {
|
||||
val = percent_values[specifier_num - 1];
|
||||
+ /* if %e (executable filename), use executable from
|
||||
+ * /proc/PID/exe symlink if exists */
|
||||
+ if (percent_specifiers[specifier_num] == 'e' && executable_filename)
|
||||
+ val = executable_filename;
|
||||
+ }
|
||||
//log_warning("c:'%c'", c);
|
||||
//log_warning("val:'%s'", val);
|
||||
|
||||
@@ -917,9 +924,9 @@ int main(int argc, char** argv)
|
||||
|
||||
if (argc < 8)
|
||||
{
|
||||
- /* percent specifier: %s %c %p %u %g %t %P %T */
|
||||
- /* argv: [0] [1] [2] [3] [4] [5] [6] [7] [8] */
|
||||
- error_msg_and_die("Usage: %s SIGNO CORE_SIZE_LIMIT PID UID GID TIME GLOBAL_PID GLOBAL_TID", argv[0]);
|
||||
+ /* percent specifier: %s %c %p %u %g %t %P %I %h %e */
|
||||
+ /* argv: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] */
|
||||
+ error_msg_and_die("Usage: %s SIGNO CORE_SIZE_LIMIT PID UID GID TIME GLOBAL_PID GLOBAL_TID HOSTNAME BINARY_NAME", argv[0]);
|
||||
}
|
||||
|
||||
/* Not needed on 2.6.30.
|
||||
@@ -1016,13 +1023,21 @@ int main(int argc, char** argv)
|
||||
|
||||
snprintf(path, sizeof(path), "%s/last-ccpp", g_settings_dump_location);
|
||||
|
||||
+ char *executable = get_executable_at(pid_proc_fd);
|
||||
+ const char *last_slash = NULL;
|
||||
+ if (executable)
|
||||
+ {
|
||||
+ last_slash = strrchr(executable, '/');
|
||||
+ /* if the last_slash was found, skip it */
|
||||
+ if (last_slash) ++last_slash;
|
||||
+ }
|
||||
+
|
||||
/* Open a fd to compat coredump, if requested and is possible */
|
||||
int user_core_fd = -1;
|
||||
if (setting_MakeCompatCore && ulimit_c != 0)
|
||||
/* note: checks "user_pwd == NULL" inside; updates core_basename */
|
||||
- user_core_fd = open_user_core(uid, fsuid, fsgid, pid, &argv[1]);
|
||||
+ user_core_fd = open_user_core(uid, fsuid, fsgid, pid, &argv[1], (const char *)last_slash);
|
||||
|
||||
- char *executable = get_executable_at(pid_proc_fd);
|
||||
if (executable == NULL)
|
||||
{
|
||||
/* readlink on /proc/$PID/exe failed, don't create abrt dump dir */
|
||||
@@ -1031,9 +1046,6 @@ int main(int argc, char** argv)
|
||||
return create_user_core(user_core_fd, pid, ulimit_c);
|
||||
}
|
||||
|
||||
- const char *last_slash = strrchr(executable, '/');
|
||||
- /* if the last_slash was found, skip it */
|
||||
- if (last_slash) ++last_slash;
|
||||
|
||||
/* ignoring crashes */
|
||||
if (executable && is_path_ignored(setting_ignored_paths, executable))
|
||||
diff --git a/src/hooks/abrt-install-ccpp-hook.in b/src/hooks/abrt-install-ccpp-hook.in
|
||||
index 660c209..f8c0c61 100755
|
||||
--- a/src/hooks/abrt-install-ccpp-hook.in
|
||||
+++ b/src/hooks/abrt-install-ccpp-hook.in
|
||||
@@ -11,7 +11,7 @@ SAVED_PATTERN_DIR="@VAR_RUN@/abrt"
|
||||
SAVED_PATTERN_FILE="@VAR_RUN@/abrt/saved_core_pattern"
|
||||
HOOK_BIN="@libexecdir@/abrt-hook-ccpp"
|
||||
# Must match percent_specifiers[] order in abrt-hook-ccpp.c:
|
||||
-PATTERN="|$HOOK_BIN %s %c %p %u %g %t %P %I"
|
||||
+PATTERN="|$HOOK_BIN %s %c %p %u %g %t %P %I %h %e"
|
||||
|
||||
# core_pipe_limit specifies how many dump_helpers can run at the same time
|
||||
# 0 - means unlimited, but it's not guaranteed that /proc/<pid> of crashing
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 7e9e07dc9ce67777a201beddc8cef32f08293a2b Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Tue, 24 Jul 2018 10:17:05 +0200
|
||||
Subject: [PATCH] lib: Correct the syntax for gdb backtrace command
|
||||
|
||||
abrt-action-generate-backtrace generates backtraces with error message:
|
||||
A syntax error in expression, near `full'.
|
||||
|
||||
According to the GDB documentation the correct syntax for backtrace
|
||||
command is:
|
||||
backtrace [n]
|
||||
backtrace full [n]
|
||||
|
||||
- sourceware.org/gdb/onlinedocs/gdb/Backtrace.html
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
src/lib/hooklib.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
|
||||
index 135c7cde..b66fc119 100644
|
||||
--- a/src/lib/hooklib.c
|
||||
+++ b/src/lib/hooklib.c
|
||||
@@ -353,11 +353,11 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
|
||||
/* Limit bt depth. With no limit, gdb sometimes OOMs the machine */
|
||||
unsigned bt_depth = 1024;
|
||||
const char *thread_apply_all = "thread apply all -ascending";
|
||||
- const char *full = " full";
|
||||
+ const char *full = "full ";
|
||||
char *bt = NULL;
|
||||
while (1)
|
||||
{
|
||||
- args[bt_cmd_index] = xasprintf("%s backtrace %u%s", thread_apply_all, bt_depth, full);
|
||||
+ args[bt_cmd_index] = xasprintf("%s backtrace %s%u", thread_apply_all, full, bt_depth);
|
||||
bt = exec_vp(args, /*redirect_stderr:*/ 1, timeout_sec, NULL);
|
||||
free(args[bt_cmd_index]);
|
||||
if ((bt && strnlen(bt, 256*1024) < 256*1024) || bt_depth <= 32)
|
||||
--
|
||||
2.17.2
|
||||
|
@ -1,60 +0,0 @@
|
||||
From d5c53fefd25ef90ece1d3481c9af1552d458eb97 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Tue, 25 Sep 2018 13:28:24 +0200
|
||||
Subject: [PATCH] dbus: Add configuration for Python3
|
||||
|
||||
abrt-dbus misses a configuration file for Python3 and it instead includes Python2 configuration.
|
||||
|
||||
Related: #1652676
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
doc/dbus-configuration/Makefile.am | 11 ++++++++++-
|
||||
.../com.redhat.problems.configuration.python3.xml.in | 11 +++++++++++
|
||||
3 files changed, 26 insertions(+), 1 deletion(-)
|
||||
create mode 100644 doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in
|
||||
|
||||
diff --git a/doc/dbus-configuration/Makefile.am b/doc/dbus-configuration/Makefile.am
|
||||
index 889713943..a02706de9 100644
|
||||
--- a/doc/dbus-configuration/Makefile.am
|
||||
+++ b/doc/dbus-configuration/Makefile.am
|
||||
@@ -9,9 +9,18 @@ dist_dbusabrtinterfaces_DATA = \
|
||||
com.redhat.problems.configuration.abrt.xml \
|
||||
com.redhat.problems.configuration.ccpp.xml \
|
||||
com.redhat.problems.configuration.oops.xml \
|
||||
- com.redhat.problems.configuration.python.xml \
|
||||
com.redhat.problems.configuration.xorg.xml
|
||||
|
||||
+if BUILD_PYTHON2
|
||||
+dist_dbusabrtinterfaces_DATA += \
|
||||
+ com.redhat.problems.configuration.python.xml
|
||||
+endif
|
||||
+
|
||||
+if BUILD_PYTHON3
|
||||
+dist_dbusabrtinterfaces_DATA += \
|
||||
+ com.redhat.problems.configuration.python3.xml
|
||||
+endif
|
||||
+
|
||||
if BUILD_ADDON_VMCORE
|
||||
dist_dbusabrtinterfaces_DATA += \
|
||||
com.redhat.problems.configuration.vmcore.xml
|
||||
diff --git a/doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in b/doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in
|
||||
new file mode 100644
|
||||
index 000000000..68b6760b2
|
||||
--- /dev/null
|
||||
+++ b/doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in
|
||||
@@ -0,0 +1,11 @@
|
||||
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
+
|
||||
+<node name="/com/redhat/problems/configuration/python3">
|
||||
+ <annotation name="com.redhat.problems.ConfFile" value="/etc/abrt/plugins/python3.conf" />
|
||||
+ <annotation name="com.redhat.problems.DefaultConfFile" value="/usr/share/abrt/conf.d/plugins/python3.conf" />
|
||||
+
|
||||
+ <interface name="com.redhat.problems.configuration.python3">
|
||||
+ <property name="RequireAbsolutePath" type="b" access="readwrite" />
|
||||
+ </interface>
|
||||
+</node>
|
||||
--
|
||||
2.17.2
|
||||
|
@ -1,62 +0,0 @@
|
||||
From b2ec373cfec2dd6a39acfd91ea1a67618ee209ac Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Tue, 20 Nov 2018 19:03:55 +0100
|
||||
Subject: [PATCH] daemon: Fix double closed fd race condition
|
||||
|
||||
When a communication channel is set up between abrtd and abrt-server it uses
|
||||
abrt_gio_channel_unix_new(). In that function there is a call g_io_channel_set_close_on_unref() [1].
|
||||
This function sets whether to close a file/socket/whatever associated with the channel when channel
|
||||
recieves a final unref and is to be destroyed.
|
||||
|
||||
Calling a close() on fd associated with the channel before/after g_io_channel_unref()
|
||||
created a double close() race condition when ABRT was processing a lot of crashes at the same time.
|
||||
|
||||
Thank you benzea for the patch.
|
||||
|
||||
Related BZ#1650622
|
||||
|
||||
1 - https://developer.gnome.org/glib/stable/glib-IO-Channels.html#g-io-channel-get-close-on-unref
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
src/daemon/abrt-server.c | 1 -
|
||||
src/daemon/abrtd.c | 4 +---
|
||||
2 files changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/daemon/abrt-server.c b/src/daemon/abrt-server.c
|
||||
index 692ccee38..90068069d 100644
|
||||
--- a/src/daemon/abrt-server.c
|
||||
+++ b/src/daemon/abrt-server.c
|
||||
@@ -364,7 +364,6 @@ static int run_post_create(const char *dirname, struct response *resp)
|
||||
g_main_loop_unref(context.main_loop);
|
||||
g_io_channel_unref(channel_signal);
|
||||
close(g_signal_pipe[1]);
|
||||
- close(g_signal_pipe[0]);
|
||||
|
||||
log_notice("Waiting finished");
|
||||
|
||||
diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c
|
||||
index 32753966b..fefb2e9c9 100644
|
||||
--- a/src/daemon/abrtd.c
|
||||
+++ b/src/daemon/abrtd.c
|
||||
@@ -114,7 +114,6 @@ static void stop_abrt_server(struct abrt_server_proc *proc)
|
||||
|
||||
static void dispose_abrt_server(struct abrt_server_proc *proc)
|
||||
{
|
||||
- close(proc->fdout);
|
||||
free(proc->dirname);
|
||||
|
||||
if (proc->watch_id > 0)
|
||||
@@ -231,8 +230,7 @@ static gboolean abrt_server_output_cb(GIOChannel *channel, GIOCondition conditio
|
||||
GList *item = g_list_find_custom(s_processes, &fdout, (GCompareFunc)abrt_server_compare_fdout);
|
||||
if (item == NULL)
|
||||
{
|
||||
- log_warning("Closing a pipe fd (%d) without a process assigned", fdout);
|
||||
- close(fdout);
|
||||
+ log_warning("Removing an input channel fd (%d) without a process assigned", fdout);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
--
|
||||
2.17.2
|
||||
|
@ -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
|
||||
|
@ -1,57 +0,0 @@
|
||||
From f6e07167e8769219471b10a3c20fa64ada8ce61f Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Fri, 12 Jul 2019 17:46:48 +0200
|
||||
Subject: [PATCH] a-a-list-dsos: Fix decoding of strings from rpm
|
||||
|
||||
rpm used to return bytes but that was changed to return strings in recent release.
|
||||
|
||||
Related: rhbz#1693751
|
||||
Resolves: rhbz#1694970
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
abrt.spec.in | 1 +
|
||||
src/plugins/abrt-action-list-dsos | 13 ++++++-------
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/abrt.spec.in b/abrt.spec.in
|
||||
index 03f1a67d..b9c9d5f1 100644
|
||||
--- a/abrt.spec.in
|
||||
+++ b/abrt.spec.in
|
||||
@@ -233,6 +233,7 @@ Requires: python2-libreport
|
||||
%if %{with python3}
|
||||
Requires: python3-libreport
|
||||
%endif # with python3
|
||||
+Requires: rpm >= 4.14.2-11
|
||||
|
||||
%description addon-ccpp
|
||||
This package contains %{name}'s C/C++ analyzer plugin.
|
||||
diff --git a/src/plugins/abrt-action-list-dsos b/src/plugins/abrt-action-list-dsos
|
||||
index adb228a4..8bf5415e 100644
|
||||
--- a/src/plugins/abrt-action-list-dsos
|
||||
+++ b/src/plugins/abrt-action-list-dsos
|
||||
@@ -84,15 +84,14 @@ if __name__ == "__main__":
|
||||
outname = None
|
||||
|
||||
vendor = h[rpm.RPMTAG_VENDOR]
|
||||
- if vendor != None:
|
||||
- vendor = vendor.decode('utf-8')
|
||||
+ rpmtag_nevra = h[rpm.RPMTAG_NEVRA]
|
||||
|
||||
outfile.write("%s %s (%s) %s\n" %
|
||||
- (path,
|
||||
- h[rpm.RPMTAG_NEVRA].decode('utf-8'),
|
||||
- vendor,
|
||||
- h[rpm.RPMTAG_INSTALLTIME])
|
||||
- )
|
||||
+ (path,
|
||||
+ rpmtag_nevra,
|
||||
+ vendor,
|
||||
+ h[rpm.RPMTAG_INSTALLTIME])
|
||||
+ )
|
||||
|
||||
except Exception as ex:
|
||||
error_msg_and_die("Can't get the DSO list: %s" % ex)
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,118 +0,0 @@
|
||||
From caf03304c98dc84086b2f4f60be4b41fc76f31e6 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Wed, 4 Mar 2020 16:41:28 +0100
|
||||
Subject: [PATCH] a-a-save-package-data: Use regexps to match interpreters
|
||||
|
||||
Instead of adding more and more interpreters to the list which
|
||||
gets outdated after a while, we can utilize regular expressions.
|
||||
|
||||
User will still have an option to set Interpreters in config file to
|
||||
match any other interpreters.
|
||||
|
||||
The regexes should cover interpreters:
|
||||
|
||||
Python:
|
||||
* python
|
||||
* python2
|
||||
* python2.7
|
||||
* python3
|
||||
* python3.8
|
||||
* platform-python
|
||||
* platform-python3
|
||||
* platform-python3.8
|
||||
|
||||
Perl:
|
||||
* perl
|
||||
* perl5.30.1
|
||||
|
||||
PHP:
|
||||
* php
|
||||
* php-cgi
|
||||
|
||||
R
|
||||
retrace.fedoraproject.org/faf/reports/2832480
|
||||
tcl
|
||||
retrace.fedoraproject.org/faf/reports/2555398
|
||||
|
||||
The regexes should cover interpreters:
|
||||
R:
|
||||
* R
|
||||
|
||||
tcl:
|
||||
* tclsh
|
||||
* tclsh8.6
|
||||
|
||||
Tests require will-crash and perl-interpreter installed.
|
||||
|
||||
Resolves: rhbz#1798494
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
src/daemon/abrt-action-save-package-data.c | 39 ++++++++-
|
||||
1 files change, 38 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/daemon/abrt-action-save-package-data.c b/src/daemon/abrt-action-save-package-data.c
|
||||
index 21b4c97d..6ced7971 100644
|
||||
--- a/src/daemon/abrt-action-save-package-data.c
|
||||
+++ b/src/daemon/abrt-action-save-package-data.c
|
||||
@@ -17,11 +17,47 @@
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
#include <fnmatch.h>
|
||||
+#include <glib.h>
|
||||
#include "libabrt.h"
|
||||
#include "rpm.h"
|
||||
|
||||
#define GPG_CONF "gpg_keys.conf"
|
||||
|
||||
+/**
|
||||
+ "python3.4, python3.5, python3.6, python3.7, perl, perl5.16.2"
|
||||
+ * The regexes should cover interpreters with basename:
|
||||
+ * Python:
|
||||
+ * python
|
||||
+ * python2
|
||||
+ * python3
|
||||
+ * python2.7
|
||||
+ * python3.8
|
||||
+ * platform-python
|
||||
+ * platform-python3
|
||||
+ * platform-python3.8
|
||||
+ *
|
||||
+ * Perl:
|
||||
+ * perl
|
||||
+ * perl5.30.1
|
||||
+ *
|
||||
+ * PHP:
|
||||
+ * php
|
||||
+ * php-cgi
|
||||
+ *
|
||||
+ * R:
|
||||
+ * R
|
||||
+ *
|
||||
+ * tcl:
|
||||
+ * tclsh
|
||||
+ * tclsh8.6
|
||||
+ **/
|
||||
+#define DEFAULT_INTERPRETERS_REGEX \
|
||||
+ "^(perl ([[:digit:]][.][[:digit:]]+[.][[:digit:]])? |" \
|
||||
+ "php (-cgi)? |" \
|
||||
+ "(platform-)? python ([[:digit:]]([.][[:digit:]])?)? |" \
|
||||
+ "R |" \
|
||||
+ "tclsh ([[:digit:]][.][[:digit:]])?)$"
|
||||
+
|
||||
static bool settings_bOpenGPGCheck = false;
|
||||
static GList *settings_setOpenGPGPublicKeys = NULL;
|
||||
static GList *settings_setBlackListedPkgs = NULL;
|
||||
@@ -304,7 +340,8 @@ static int SavePackageDescriptionToDebugDump(const char *dump_dir_name, const ch
|
||||
/* if basename is known interpreter, we want to blame the running script
|
||||
* not the interpreter
|
||||
*/
|
||||
- if (g_list_find_custom(settings_Interpreters, basename, (GCompareFunc)g_strcmp0))
|
||||
+ if (g_regex_match_simple(DEFAULT_INTERPRETERS_REGEX, basename, G_REGEX_EXTENDED, /*MatchFlags*/0) ||
|
||||
+ g_list_find_custom(settings_Interpreters, basename, (GCompareFunc)g_strcmp0))
|
||||
{
|
||||
struct pkg_envra *script_pkg = get_script_name(cmdline, &executable, chroot);
|
||||
/* executable may have changed, check it again */
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 11869ec9290a32c028d9d2741a7466206b635f59 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Daryll Obina <jake.obina@gmail.com>
|
||||
Date: Mon, 25 Jun 2018 11:52:11 +0800
|
||||
Subject: [PATCH] harvest_vmcore: Fix missing argument error during
|
||||
delete_and_close()
|
||||
|
||||
delete_and_close() requires a directory name argument and it is being called
|
||||
without one. This argument is really not necessary though since the directory
|
||||
name is already saved in the directory object (can be queried via the directory
|
||||
object's name attribute), and it is the saved directory that is always deleted
|
||||
regardless of the argument passed in.
|
||||
|
||||
Signed-off-by: Jake Daryll Obina <jake.obina@gmail.com>
|
||||
---
|
||||
src/hooks/abrt_harvest_vmcore.py.in | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in
|
||||
index 7d4bba52..66c3ad37 100644
|
||||
--- a/src/hooks/abrt_harvest_vmcore.py.in
|
||||
+++ b/src/hooks/abrt_harvest_vmcore.py.in
|
||||
@@ -128,13 +128,15 @@ def create_abrtd_info(dest, uuid):
|
||||
return dd
|
||||
|
||||
|
||||
-def delete_and_close(dd, dd_dirname):
|
||||
+def delete_and_close(dd):
|
||||
"""
|
||||
Deletes the given dump directory and closes it.
|
||||
|
||||
dd - dump directory object
|
||||
- dd_dirname - full path to dump directory
|
||||
"""
|
||||
+ # Save the directory name as the directory object could be destroyed during
|
||||
+ # delete().
|
||||
+ dd_dirname = dd.name
|
||||
if not dd.delete() == 0:
|
||||
sys.stderr.write("Unable to delete '%s'\n" % (dd_dirname))
|
||||
return
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 445e68861693be83023e93de072cf04caf833e57 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Wed, 12 Dec 2018 16:07:33 +0100
|
||||
Subject: [PATCH] cli: Add a shebang
|
||||
|
||||
Fixes a ShellCheck warning SC2148.
|
||||
|
||||
error: Tips depend on target shell and yours is unknown. Add a shebang.
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
src/cli/abrt-console-notification.sh | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
|
||||
index f1a79ffb..cd69eb38 100755
|
||||
--- a/src/cli/abrt-console-notification.sh
|
||||
+++ b/src/cli/abrt-console-notification.sh
|
||||
@@ -1,3 +1,4 @@
|
||||
+#!/bin/sh
|
||||
# If shell is not connect to a terminal, return immediately, because this script
|
||||
# should print out ABRT's status and it is senseless to continue without
|
||||
# terminal.
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,47 +0,0 @@
|
||||
From 9edffdf1a4be9a2983cb69f1ebff81c805cde72f Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Wed, 12 Dec 2018 16:09:59 +0100
|
||||
Subject: [PATCH] shellcheck: Use $(...) instead of legacy backticked
|
||||
|
||||
Fixes ShellCheck warning SC2006.
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
src/cli/abrt-console-notification.sh | 4 ++--
|
||||
src/plugins/abrt-action-analyze-ccpp-local.in | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
|
||||
index cd69eb38..c245677b 100755
|
||||
--- a/src/cli/abrt-console-notification.sh
|
||||
+++ b/src/cli/abrt-console-notification.sh
|
||||
@@ -26,11 +26,11 @@ if [ ! -f "$LPATHDIR" ]; then
|
||||
mkdir -p "$LPATHDIR" >"$ABRT_DEBUG_LOG" 2>&1 || return 0
|
||||
fi
|
||||
|
||||
-TMPPATH=`mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG"`
|
||||
+TMPPATH=$(mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG")
|
||||
|
||||
SINCE=0
|
||||
if [ -f "$SINCEFILE" ]; then
|
||||
- SINCE=`cat $SINCEFILE 2>"$ABRT_DEBUG_LOG"`
|
||||
+ SINCE=$(cat "$SINCEFILE" 2>"$ABRT_DEBUG_LOG")
|
||||
fi
|
||||
|
||||
# always update the lastnotification
|
||||
diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
index 6691c59b..92593437 100644
|
||||
--- a/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
+++ b/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
@@ -15,7 +15,7 @@ if $INSTALL_DI; then
|
||||
# debuginfo install fail even for root.
|
||||
# Therefore, if we are root, we don't use the wrapper.
|
||||
EXECUTABLE=@LIBEXEC_DIR@/abrt-action-install-debuginfo-to-abrt-cache
|
||||
- if [ x"`id -u`" = x"0" ]; then
|
||||
+ if [ x"$(id -u)" = x"0" ]; then
|
||||
EXECUTABLE=abrt-action-install-debuginfo
|
||||
fi
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,35 +0,0 @@
|
||||
From dad230792b046c711f4e491cfdbabda58862ee78 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Wed, 12 Dec 2018 16:12:23 +0100
|
||||
Subject: [PATCH] shellcheck: Suppress shellcheck warning SC1090
|
||||
|
||||
ShellCheck is not able to include sourced files from paths that are determined at runtime.
|
||||
The file will not be read, potentially resulting in warnings about unassigned variables and similar.
|
||||
|
||||
If you don't care that ShellCheck is unable to account for the file, specify
|
||||
"# shellcheck source=/dev/null".
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
src/plugins/abrt-action-analyze-ccpp-local.in | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
index 92593437..9144c0e6 100644
|
||||
--- a/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
+++ b/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
@@ -26,8 +26,9 @@ if $INSTALL_DI; then
|
||||
EXTRA_ARGS=
|
||||
for osrel in "${DUMP_DIR:-.}/os_info_in_rootdir" "${DUMP_DIR:-.}/os_info"
|
||||
do
|
||||
- if [ -e $osrel ]; then
|
||||
- . $osrel
|
||||
+ if [ -e "$osrel" ]; then
|
||||
+ # shellcheck source=/dev/null
|
||||
+ . "$osrel"
|
||||
if [ -n "$VERSION_ID" ]; then
|
||||
EXTRA_ARGS="--releasever=$VERSION_ID"
|
||||
break
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 58d1e4fa0a0f6fc2fc3ee773665de70a073ae759 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kutlak <mkutlak@redhat.com>
|
||||
Date: Wed, 12 Dec 2018 16:16:55 +0100
|
||||
Subject: [PATCH] shellcheck: Check exit code directly with if mycmd
|
||||
|
||||
Running a command and then checking its exit status $? against 0 is redundant.
|
||||
|
||||
Fixes ShellCheck warning SC2181.
|
||||
|
||||
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
|
||||
---
|
||||
src/plugins/abrt-action-analyze-ccpp-local.in | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
index 9144c0e6..d2453c19 100644
|
||||
--- a/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
+++ b/src/plugins/abrt-action-analyze-ccpp-local.in
|
||||
@@ -36,9 +36,7 @@ if $INSTALL_DI; then
|
||||
fi
|
||||
done
|
||||
|
||||
- ${EXECUTABLE} ${EXTRA_ARGS} --size_mb=4096
|
||||
-fi
|
||||
-
|
||||
-if [ $? = 0 ]; then
|
||||
- abrt-action-generate-backtrace && abrt-action-analyze-backtrace
|
||||
+ if ${EXECUTABLE} "${EXTRA_ARGS}" --size_mb=4096; then
|
||||
+ abrt-action-generate-backtrace && abrt-action-analyze-backtrace
|
||||
+ fi
|
||||
fi
|
||||
--
|
||||
2.26.2
|
||||
|
3
README.md
Normal file
3
README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Package Not Available
|
||||
This package is not available on CentOS Stream 10.
|
||||
It may be available on another branch.
|
1
dead.package
Normal file
1
dead.package
Normal file
@ -0,0 +1 @@
|
||||
abrt package is retired on branch c10s for CS-2551
|
Loading…
Reference in New Issue
Block a user