Compare commits

...
Sign in to create a new pull request.

14 commits

Author SHA1 Message Date
Matej Habrnal
0b651cb081 abrt 2.2.2-2
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-02-16 14:13:16 +01:00
Jakub Filak
0911f226a4 New upstream release 2.2.2 2014-07-15 17:25:33 +02:00
Jakub Filak
950b5d9e9e Fix desktop centric polkit policy file
Resolves: #1094135
2014-05-06 17:26:31 +02:00
Jakub Filak
f2780b4fec New upstream release 2.2.1 2014-04-22 14:06:03 +02:00
Jakub Filak
69b759dac2 New upstream release 2.2.0 2014-03-07 11:15:52 +01:00
Jakub Filak
295a368bda Binary python modules in sitearch, upload-watch consuming too much of CPU
Resolves: #1060020
2014-02-10 15:46:35 +01:00
Jakub Filak
d4a40a0b17 New upstream release 2.1.12
Resolves: #1050167
2014-01-31 10:40:47 +01:00
Jakub Filak
b102f12724 New upstream release 2.1.11
Resolves: #1044350, #1045834, #1046140
2014-01-08 09:31:41 +01:00
Jakub Filak
87bb2b4a98 New upstream release 2.1.10
Resolves: #1025161, #1035359
2013-12-11 18:46:14 +01:00
Denys Vlasenko
25461f422e specfile: remove no longer needed copying from old dump directory to new one.
Related to rhbz#971869.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Acked-by: Jakub Filak <jfilak@redhat.com>
2013-11-06 13:55:12 +01:00
Jakub Filak
a717b3490e New upstream release 2.1.9
Resolves: #1017869, #1018307
2013-10-27 19:00:15 +01:00
Jakub Filak
7983e7b9c4 New upstream release 2.1.8
And also remove unused patches

Resolves: #998428
2013-10-11 11:05:44 +02:00
Jakub Filak
d218f9dae9 remove rhel GPG keys patch which is no more necessary
https://github.com/abrt/abrt/issues/686
2013-09-13 15:55:04 +02:00
Jakub Filak
cf7e0b92d0 New upstream release 2.1.7
Resolves: #1004268
2013-09-12 11:51:53 +02:00
42 changed files with 2248 additions and 67442 deletions

9
.gitignore vendored
View file

@ -28,3 +28,12 @@ abrt-1.1.13.tar.gz
/abrt-2.1.4.tar.gz
/abrt-2.1.5.tar.gz
/abrt-2.1.6.tar.gz
/abrt-2.1.7.tar.gz
/abrt-2.1.8.tar.gz
/abrt-2.1.9.tar.gz
/abrt-2.1.10.tar.gz
/abrt-2.1.11.tar.gz
/abrt-2.1.12.tar.gz
/abrt-2.2.0.tar.gz
/abrt-2.2.1.tar.gz
/abrt-2.2.2.tar.gz

View file

@ -0,0 +1,40 @@
From d402628b64b0102803481f53e9e88d63ded56c08 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 9 Jul 2014 17:55:36 +0200
Subject: [PATCH] python: support exceptions without traceback
e.g. SyntaxError (python-2.7.5-13.fc20, python-2.7.7-2.fc21)
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt_exception_handler.py.in | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/hooks/abrt_exception_handler.py.in b/src/hooks/abrt_exception_handler.py.in
index cb32e14..fa4f34f 100644
--- a/src/hooks/abrt_exception_handler.py.in
+++ b/src/hooks/abrt_exception_handler.py.in
@@ -55,12 +55,14 @@ def write_dump(tb_text, tb):
executable = sys.argv[0]
dso_list = None
- try:
- import rpm
- dso_list = get_dso_list(tb)
- except ImportError as imperr:
- syslog("RPM module not available, cannot query RPM db for package "\
- "names")
+ # Trace back is None in case of SyntaxError exception.
+ if tb:
+ try:
+ import rpm
+ dso_list = get_dso_list(tb)
+ except ImportError as imperr:
+ syslog("RPM module not available, cannot query RPM db for package "\
+ "names")
# Open ABRT daemon's socket and write data to it
try:
--
1.9.3

View file

@ -0,0 +1,28 @@
From fb44241a05dd55bbb07041f0f07671c68b1e88df Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Fri, 18 Jul 2014 13:50:42 +0200
Subject: [PATCH] xml: fix a typo in analyze_CCpp
Resolves rhbz#1120767
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/plugins/analyze_CCpp.xml.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/analyze_CCpp.xml.in b/src/plugins/analyze_CCpp.xml.in
index bdd81eb..c3da3a3 100644
--- a/src/plugins/analyze_CCpp.xml.in
+++ b/src/plugins/analyze_CCpp.xml.in
@@ -2,7 +2,7 @@
<event>
<name>Analyze C/C++ Crash</name>
<_description>Send core dump to remote retrace server for analysis or perform local analysis if the remote analysis fails</_description>
- <_long-description>Uploads coredump to a server, which generates backtrace and returns it. If user doens't want to upload his coredump to anywhere the event performs local analysis. Local analysis is run event if remote analysis fails.
+ <_long-description>Uploads coredump to a server, which generates backtrace and returns it. If user doesn't want to upload his coredump to anywhere the event performs local analysis. Local analysis is run event if remote analysis fails.
Pros: no need for debuginfo downloads. Retrace server's database of debuginfos is more complete. Retrace server may generate better backtraces.
Cons: coredump you upload contains all the data from the crashed program, including your private data, if any.
</_long-description>
--
1.9.3

View file

@ -0,0 +1,185 @@
From 251153d32f9007af4960463121110b3b0b88fc8d Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 22 Jul 2014 16:13:25 +0200
Subject: [PATCH] gettext: fix the initialization in python scripts
ABRT scripts cannot import and use _ symbol from reportclient because
reporclient's _ is bound to 'libreport' package.
Related to rhbz#1087880
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
po/POTFILES.in | 2 ++
src/daemon/abrt-handle-upload.in | 26 ++++++++++++++++++++++++--
src/plugins/abrt-action-analyze-vmcore.in | 25 ++++++++++++++++++++++++-
src/plugins/abrt-action-install-debuginfo.in | 2 +-
src/plugins/abrt-action-ureport | 25 +++++++++++++++++++++++--
5 files changed, 74 insertions(+), 6 deletions(-)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ff9b97a..e3f917b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -14,6 +14,7 @@ src/daemon/abrtd.c
src/daemon/abrt-handle-event.c
src/daemon/abrt-upload-watch.c
src/daemon/abrt-auto-reporting.c
+src/daemon/abrt-handle-upload.in
src/lib/abrt_conf.c
src/lib/hooklib.c
src/lib/problem_api.c
@@ -32,6 +33,7 @@ src/plugins/abrt-action-generate-core-backtrace.c
src/plugins/abrt-action-install-debuginfo.in
src/plugins/abrt-action-perform-ccpp-analysis.in
src/plugins/abrt-action-trim-files.c
+src/plugins/abrt-action-ureport
src/plugins/abrt-gdb-exploitable
src/plugins/abrt-watch-log.c
src/plugins/abrt-dump-oops.c
diff --git a/src/daemon/abrt-handle-upload.in b/src/daemon/abrt-handle-upload.in
index 084170e..dbc4534 100755
--- a/src/daemon/abrt-handle-upload.in
+++ b/src/daemon/abrt-handle-upload.in
@@ -11,7 +11,29 @@ import tempfile
import shutil
import datetime
-from reportclient import _, set_verbosity, error_msg_and_die, error_msg, log
+from reportclient import set_verbosity, error_msg_and_die, error_msg, log
+
+GETTEXT_PROGNAME = "abrt"
+import locale
+import gettext
+
+_ = lambda x: gettext.lgettext(x)
+
+def init_gettext():
+ try:
+ locale.setlocale(locale.LC_ALL, "")
+ except locale.Error:
+ os.environ['LC_ALL'] = 'C'
+ locale.setlocale(locale.LC_ALL, "")
+ # Defeat "AttributeError: 'module' object has no attribute 'nl_langinfo'"
+ try:
+ gettext.bind_textdomain_codeset(GETTEXT_PROGNAME, locale.nl_langinfo(locale.CODESET))
+ except AttributeError:
+ pass
+ gettext.bindtextdomain(GETTEXT_PROGNAME, '/usr/share/locale')
+ gettext.textdomain(GETTEXT_PROGNAME)
+
+
import problem
def write_str_to(filename, s):
@@ -32,7 +54,7 @@ if __name__ == "__main__":
sys.exit(die_exitcode)
# localization
- #init_gettext() - done by reportclient module init
+ init_gettext()
verbose = 0
ABRT_VERBOSE = os.getenv("ABRT_VERBOSE")
diff --git a/src/plugins/abrt-action-analyze-vmcore.in b/src/plugins/abrt-action-analyze-vmcore.in
index 11ad846..c08af80 100644
--- a/src/plugins/abrt-action-analyze-vmcore.in
+++ b/src/plugins/abrt-action-analyze-vmcore.in
@@ -8,7 +8,28 @@ import sys
import getopt
from subprocess import Popen, PIPE
-from reportclient import _, verbose, set_verbosity, error_msg_and_die, error_msg
+from reportclient import verbose, set_verbosity, error_msg_and_die, error_msg
+
+GETTEXT_PROGNAME = "abrt"
+import locale
+import gettext
+
+_ = lambda x: gettext.lgettext(x)
+
+def init_gettext():
+ try:
+ locale.setlocale(locale.LC_ALL, "")
+ except locale.Error:
+ os.environ['LC_ALL'] = 'C'
+ locale.setlocale(locale.LC_ALL, "")
+ # Defeat "AttributeError: 'module' object has no attribute 'nl_langinfo'"
+ try:
+ gettext.bind_textdomain_codeset(GETTEXT_PROGNAME, locale.nl_langinfo(locale.CODESET))
+ except AttributeError:
+ pass
+ gettext.bindtextdomain(GETTEXT_PROGNAME, '/usr/share/locale')
+ gettext.textdomain(GETTEXT_PROGNAME)
+
PROGNAME = "abrt-action-analyze-vmcore"
@@ -26,6 +47,8 @@ if __name__ == "__main__":
tmpdir = ""
vmcore = ""
+ init_gettext()
+
help_text = _("Usage: {0} [-v[v]] [--core=VMCORE]").format(PROGNAME)
try:
opts, args = getopt.getopt(sys.argv[1:], "hvd", ["help", "core="])
diff --git a/src/plugins/abrt-action-install-debuginfo.in b/src/plugins/abrt-action-install-debuginfo.in
index 5fd3110..f46d1b2 100644
--- a/src/plugins/abrt-action-install-debuginfo.in
+++ b/src/plugins/abrt-action-install-debuginfo.in
@@ -11,7 +11,7 @@ import errno
import getopt
import reportclient
from subprocess import Popen, PIPE
-from reportclient import _, verbose, log, log1, log2, set_verbosity, error_msg_and_die, error_msg
+from reportclient import verbose, log, log1, log2, set_verbosity, error_msg_and_die, error_msg
import time
from reportclient.debuginfo import DebugInfoDownload, filter_installed_debuginfos, build_ids_to_path, clean_up
import problem
diff --git a/src/plugins/abrt-action-ureport b/src/plugins/abrt-action-ureport
index 0f6de03..1abe7b3 100755
--- a/src/plugins/abrt-action-ureport
+++ b/src/plugins/abrt-action-ureport
@@ -10,7 +10,28 @@ import os
import getopt
from report import dd_opendir, DD_FAIL_QUIETLY_ENOENT, run_event_state
-from reportclient import _, set_verbosity, error_msg_and_die, error_msg, log1, log
+from reportclient import set_verbosity, error_msg_and_die, error_msg, log1, log
+
+GETTEXT_PROGNAME = "abrt"
+import locale
+import gettext
+
+_ = lambda x: gettext.lgettext(x)
+
+def init_gettext():
+ try:
+ locale.setlocale(locale.LC_ALL, "")
+ except locale.Error:
+ os.environ['LC_ALL'] = 'C'
+ locale.setlocale(locale.LC_ALL, "")
+ # Defeat "AttributeError: 'module' object has no attribute 'nl_langinfo'"
+ try:
+ gettext.bind_textdomain_codeset(GETTEXT_PROGNAME, locale.nl_langinfo(locale.CODESET))
+ except AttributeError:
+ pass
+ gettext.bindtextdomain(GETTEXT_PROGNAME, '/usr/share/locale')
+ gettext.textdomain(GETTEXT_PROGNAME)
+
def spawn_and_wait(prog):
try:
@@ -45,7 +66,7 @@ def run_event(event_name, dump_dir_name):
if __name__ == "__main__":
# localization
- #init_gettext() - done by reportclient module init
+ init_gettext()
verbose = 0
ABRT_VERBOSE = os.getenv("ABRT_VERBOSE")
--
1.9.3

View file

@ -0,0 +1,35 @@
From 093ac1dc74fd848fb45959f4b03bca01a054e7c0 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 12 Aug 2014 14:13:25 +0200
Subject: [PATCH] Revert "Support handling crashes in lxc containers"
This reverts commit 4ab9fbe1a6b7889a0cd59b1406e8789d52171fd2.
Michal Toman <mtoman@redhat.com> (2014-07-16):
While this adds support for containers that have ABRT installed inside
(unfortunately I am not aware of any at this moment), it completely
breaks the behavior for standard chroots that people are actually using
(especially koji + mock).
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt-install-ccpp-hook.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hooks/abrt-install-ccpp-hook.in b/src/hooks/abrt-install-ccpp-hook.in
index 3939b15..aa01231 100755
--- a/src/hooks/abrt-install-ccpp-hook.in
+++ b/src/hooks/abrt-install-ccpp-hook.in
@@ -9,7 +9,7 @@ verbose=false
PATTERN_FILE="/proc/sys/kernel/core_pattern"
SAVED_PATTERN_DIR="@VAR_RUN@/abrt"
SAVED_PATTERN_FILE="@VAR_RUN@/abrt/saved_core_pattern"
-HOOK_BIN="/usr/sbin/chroot /proc/%P/root @libexecdir@/abrt-hook-ccpp"
+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 %e"
# Same, but with bogus "executable name" parameter
--
1.9.3

View file

@ -0,0 +1,34 @@
From 9ada4ca561c6f81600f6002d7c672ce9959bd78f Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Fri, 1 Aug 2014 16:13:35 +0200
Subject: [PATCH] koops: fix a use-after-free bug uncoverd by coverity
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/plugins/abrt-action-analyze-oops.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/plugins/abrt-action-analyze-oops.c b/src/plugins/abrt-action-analyze-oops.c
index 1e94e43..f74ebcb 100644
--- a/src/plugins/abrt-action-analyze-oops.c
+++ b/src/plugins/abrt-action-analyze-oops.c
@@ -62,7 +62,6 @@ int main(int argc, char **argv)
char *oops = dd_load_text(dd, FILENAME_BACKTRACE);
char hash_str[SHA1_RESULT_LEN*2 + 1];
int bad = koops_hash_str(hash_str, oops);
- free(oops);
if (bad)
{
error_msg("Can't find a meaningful backtrace for hashing in '%s'", dump_dir_name);
@@ -96,6 +95,8 @@ int main(int argc, char **argv)
}
}
+ free(oops);
+
if (!bad)
{
dd_save_text(dd, FILENAME_UUID, hash_str);
--
1.9.3

View file

@ -0,0 +1,42 @@
From 9f9c0e5ad48f8ff3dd719f76903b38fe3f86c689 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 26 Aug 2014 20:37:34 +0200
Subject: [PATCH] a-a-s-p-d: add firefox on the package blacklist
And drop the path to plugins-container from the path blacklist because:
- the path belongs to firefox package
- the path is invalid, the correct path is:
/usr/lib(64)/firefox/plugin-container
Resolves rhbz#1132018
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/daemon/abrt-action-save-package-data.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/daemon/abrt-action-save-package-data.conf b/src/daemon/abrt-action-save-package-data.conf
index 3d35bb6..cac3c7c 100644
--- a/src/daemon/abrt-action-save-package-data.conf
+++ b/src/daemon/abrt-action-save-package-data.conf
@@ -7,7 +7,7 @@ OpenGPGCheck = yes
# Blacklisted packages
#
-BlackList = nspluginwrapper, valgrind, strace, mono-core
+BlackList = nspluginwrapper, valgrind, strace, mono-core, firefox
# Process crashes in executables which do not belong to any package?
#
@@ -15,7 +15,7 @@ ProcessUnpackaged = no
# Blacklisted executable paths (shell patterns)
#
-BlackListedPaths = /usr/share/doc/*, */example*, /usr/bin/nspluginviewer, /usr/lib/xulrunner-*/plugin-container
+BlackListedPaths = /usr/share/doc/*, */example*, /usr/bin/nspluginviewer
# interpreters names
Interpreters = python2, python2.7, python, python3, python3.3, perl, perl5.16.2
--
1.9.3

View file

@ -0,0 +1,39 @@
From ebf1fc2fc34a182fbe0cb4a99d4a07f1e72925dd Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 26 Aug 2014 23:57:46 +0200
Subject: [PATCH] a-h-event: don't spam system logs
Don't print messages about invalid dump directories so many times.
Every dump directory has at leas 4 post-create events and after end of
each of these events abrt-handle-event tries to find duplicates. It
means 4x opens every dump directory, so it prints 4 lines for a single
invalid dump directory.
This patch dissables the error messages in the default log mode.
Related to rhbz#1133674
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/daemon/abrt-handle-event.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/daemon/abrt-handle-event.c b/src/daemon/abrt-handle-event.c
index 7100171..a65f86e 100644
--- a/src/daemon/abrt-handle-event.c
+++ b/src/daemon/abrt-handle-event.c
@@ -282,7 +282,11 @@ static int is_crash_a_dup(const char *dump_dir_name, void *param)
if (strcmp(dump_dir_name, dump_dir_name2) == 0)
goto next; /* we are never a dup of ourself */
+ int sv_logmode = logmode;
+ /* Silently ignore any error in the silent log level. */
+ logmode = g_verbose == 0 ? 0 : sv_logmode;
dd = dd_opendir(dump_dir_name2, /*flags:*/ DD_FAIL_QUIETLY_ENOENT | DD_OPEN_READONLY);
+ logmode = sv_logmode;
if (!dd)
goto next;
--
1.9.3

View file

@ -0,0 +1,53 @@
From 2d29ecb0067dad7f5abf7b469dde84484b1a79ed Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 27 Aug 2014 08:45:24 +0200
Subject: [PATCH] a-a-s-p-data: reduce amount of error messages
Read each GPG key only once. The GPG key dirs may contain many symlinks
and if their target cannot be read, then we print an error message for
every symlink pointing to the unreadable file. What's worse, the error
messages show a path to the target, so users see several identical
messages in the system logs.
Related to rhbz#1133674
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/daemon/abrt-action-save-package-data.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/daemon/abrt-action-save-package-data.c b/src/daemon/abrt-action-save-package-data.c
index 6dbcfc2..cc86327 100644
--- a/src/daemon/abrt-action-save-package-data.c
+++ b/src/daemon/abrt-action-save-package-data.c
@@ -91,16 +91,22 @@ static void load_gpg_keys(void)
if (strcmp(gpg_keys_dir, "") != 0)
{
log_debug("Reading gpg keys from '%s'", gpg_keys_dir);
+ GHashTable *done_set = g_hash_table_new(g_str_hash, g_str_equal);
GList *gpg_files = get_file_list(gpg_keys_dir, NULL /* we don't care about the file ext */);
- GList *tmp_gpp_files = gpg_files;
- while (tmp_gpp_files)
+ for (GList *iter = gpg_files; iter; iter = g_list_next(iter))
{
- log_debug("Loading gpg key '%s'", fo_get_fullpath((file_obj_t *)tmp_gpp_files->data));
- settings_setOpenGPGPublicKeys = g_list_append(settings_setOpenGPGPublicKeys, xstrdup(fo_get_fullpath((file_obj_t *)(tmp_gpp_files->data)) ));
- tmp_gpp_files = g_list_next(tmp_gpp_files);
+ const char *key_path = fo_get_fullpath((file_obj_t *)iter->data);
+
+ if (g_hash_table_contains(done_set, key_path))
+ continue;
+
+ g_hash_table_insert(done_set, (gpointer)key_path, NULL);
+ log_debug("Loading gpg key '%s'", key_path);
+ settings_setOpenGPGPublicKeys = g_list_append(settings_setOpenGPGPublicKeys, xstrdup(key_path));
}
g_list_free_full(gpg_files, (GDestroyNotify)free_file_obj);
+ g_hash_table_destroy(done_set);
}
}
--
1.9.3

View file

@ -0,0 +1,32 @@
From 92a1237a3ece2b9cfbd8293b372e2f7a1b60b3d6 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 27 Aug 2014 08:52:39 +0200
Subject: [PATCH] dbus: don't ignore errors in verbose logging modes
Ignoring of errors even in higher levels of verbosity makes debugging
really hard.
Related to rhbz#1133674
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/lib/problem_api.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/lib/problem_api.c b/src/lib/problem_api.c
index c2b4b1c..07707db 100644
--- a/src/lib/problem_api.c
+++ b/src/lib/problem_api.c
@@ -53,7 +53,8 @@ int for_each_problem_in_dir(const char *path,
* when we raced with wizard.
*/
int sv_logmode = logmode;
- logmode = 0;
+ /* Silently ignore errors only in the silent log level. */
+ logmode = g_verbose == 0 ? 0: sv_logmode;
struct dump_dir *dd = dd_opendir(full_name, DD_OPEN_READONLY | DD_FAIL_QUIETLY_EACCES | DD_DONT_WAIT_FOR_LOCK);
logmode = sv_logmode;
if (dd)
--
1.9.3

View file

@ -0,0 +1,60 @@
From 03c64e1439baf60426b002ecb1b7052a426d348e Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 27 Aug 2014 09:30:54 +0200
Subject: [PATCH] logging: less log messages for duplicates
Related to rhbz#1133674
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/daemon/abrt-handle-event.c | 4 ++--
src/daemon/abrt-server.c | 5 ++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/daemon/abrt-handle-event.c b/src/daemon/abrt-handle-event.c
index a65f86e..2ed88db 100644
--- a/src/daemon/abrt-handle-event.c
+++ b/src/daemon/abrt-handle-event.c
@@ -142,7 +142,7 @@ static int dup_uuid_compare(const struct dump_dir *dd)
free(dd_uuid);
if (!different)
- log("Duplicate: UUID");
+ log_notice("Duplicate: UUID");
return !different;
}
@@ -197,7 +197,7 @@ static int dup_corebt_compare(const struct dump_dir *dd)
free(dd_corebt);
if (isdup)
- log("Duplicate: core backtrace");
+ log_notice("Duplicate: core backtrace");
return isdup;
}
diff --git a/src/daemon/abrt-server.c b/src/daemon/abrt-server.c
index 307b41b..9951468 100644
--- a/src/daemon/abrt-server.c
+++ b/src/daemon/abrt-server.c
@@ -194,15 +194,14 @@ static int run_post_create(const char *dirname)
strbuf_append_str(cmd_output, raw);
char *msg = cmd_output->buf;
- /* Hmm, DUP_OF_DIR: ends up in syslog. move log() into 'else'? */
- log("%s", msg);
-
if (child_is_post_create
&& prefixcmp(msg, "DUP_OF_DIR: ") == 0
) {
free(dup_of_dir);
dup_of_dir = xstrdup(msg + strlen("DUP_OF_DIR: "));
}
+ else
+ log("%s", msg);
strbuf_clear(cmd_output);
/* jump to next line */
--
1.9.3

View file

@ -0,0 +1,26 @@
From cecdd6d7af7988d9f86c98f301b15fdee349e403 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 28 Aug 2014 15:02:38 +0200
Subject: [PATCH] retrace: respect Bugzilla event preferences
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/plugins/analyze_RetraceServer.xml.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/plugins/analyze_RetraceServer.xml.in b/src/plugins/analyze_RetraceServer.xml.in
index e437cac..db2cd6e 100644
--- a/src/plugins/analyze_RetraceServer.xml.in
+++ b/src/plugins/analyze_RetraceServer.xml.in
@@ -10,6 +10,8 @@
<gui-review-elements>no</gui-review-elements>
<sending-sensitive-data>yes</sending-sensitive-data>
<options>
+ <import-event-options event="report_Bugzilla"/>
+
<option type="text" name="RETRACE_SERVER_URL">
<_label>Retrace server URL</_label>
<default-value>retrace.fedoraproject.org</default-value>
--
1.9.3

View file

@ -0,0 +1,115 @@
From 87b450235e38a4d00f3a4b008229fe02debec26f Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Mon, 8 Sep 2014 13:27:56 +0200
Subject: [PATCH] cli: make consistent commands in abrt-cli
Add abbreviations to the client's parametres.
Related to rhbz#1066501
---
doc/abrt-cli.txt | 2 +-
src/cli/abrt-cli.c | 20 +++++++++++---------
src/cli/builtin-cmd.h | 2 +-
src/cli/rm.c | 2 +-
4 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/doc/abrt-cli.txt b/doc/abrt-cli.txt
index 792e781..1c95655 100644
--- a/doc/abrt-cli.txt
+++ b/doc/abrt-cli.txt
@@ -9,7 +9,7 @@ SYNOPSIS
--------
'abrt-cli' list [-vdf] [DIR]...
-'abrt-cli' rm [-v] DIR...
+'abrt-cli' remove [-v] DIR...
'abrt-cli' report [-v] DIR...
diff --git a/src/cli/abrt-cli.c b/src/cli/abrt-cli.c
index a95b8bf..c04c132 100644
--- a/src/cli/abrt-cli.c
+++ b/src/cli/abrt-cli.c
@@ -20,14 +20,15 @@
#include "libabrt.h"
#include "builtin-cmd.h"
-#define USAGE_OPTS_WIDTH 12
+#define USAGE_OPTS_WIDTH 16
#define USAGE_GAP 2
/* TODO: add --pager(default) and --no-pager */
-#define CMD(NAME, help) { #NAME, cmd_##NAME , (help) }
+#define CMD(NAME, ABBREV, help) { #NAME, ABBREV, cmd_##NAME , (help) }
struct cmd_struct {
const char *cmd;
+ const char *abbrev;
int (*fn)(int, const char **);
const char *help;
};
@@ -41,6 +42,7 @@ static void list_cmds_help(const struct cmd_struct *commands)
pos = fprintf(stderr, " ");
pos += fprintf(stderr, "%s", p->cmd);
+ pos += fprintf(stderr, ", %s", p->abbrev);
if (pos <= USAGE_OPTS_WIDTH)
pad = USAGE_OPTS_WIDTH - pos;
@@ -110,7 +112,7 @@ static void handle_internal_command(int argc, const char **argv,
for (const struct cmd_struct *p = commands; p->cmd; ++p)
{
- if (strcmp(p->cmd, cmd) != 0)
+ if (strcmp(p->cmd, cmd) != 0 && strcmp(p->abbrev, cmd) != 0)
continue;
exit(p->fn(argc, argv));
@@ -143,12 +145,12 @@ int main(int argc, const char **argv)
);
const struct cmd_struct commands[] = {
- CMD(list, _("List problems [in DIRs]")),
- CMD(rm, _("Remove problem directory DIR")),
- CMD(report, _("Analyze and report problem data in DIR")),
- CMD(info, _("Print information about DIR")),
- CMD(status, _("Print the count of the recent crashes")),
- {NULL, NULL, NULL}
+ CMD(list, "ls", _("List problems [in DIRs]")),
+ CMD(remove, "rm", _("Remove problem directory DIR")),
+ CMD(report, "e",_("Analyze and report problem data in DIR")),
+ CMD(info, "i", _("Print information about DIR")),
+ CMD(status, "st",_("Print the count of the recent crashes")),
+ {NULL, NULL, NULL, NULL}
};
migrate_to_xdg_dirs();
diff --git a/src/cli/builtin-cmd.h b/src/cli/builtin-cmd.h
index 491760b..18588e1 100644
--- a/src/cli/builtin-cmd.h
+++ b/src/cli/builtin-cmd.h
@@ -21,7 +21,7 @@
#define _BUILTIN_CMD_H_
extern int cmd_list(int argc, const char **argv);
-extern int cmd_rm(int argc, const char **argv);
+extern int cmd_remove(int argc, const char **argv);
extern int cmd_report(int argc, const char **argv);
extern int cmd_info(int argc, const char **argv);
extern int cmd_status(int argc, const char **argv);
diff --git a/src/cli/rm.c b/src/cli/rm.c
index 8f185a4..fe458ff 100644
--- a/src/cli/rm.c
+++ b/src/cli/rm.c
@@ -25,7 +25,7 @@
* add -q, --quite
*/
-int cmd_rm(int argc, const char **argv)
+int cmd_remove(int argc, const char **argv)
{
const char *program_usage_string = _(
"& rm [options] DIR..."
--
1.9.3

View file

@ -0,0 +1,70 @@
From 2d19dcd4dd4f937e48fb1e4ebd440ac99754d68a Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Mon, 15 Sep 2014 08:40:05 +0200
Subject: [PATCH] cli: robustize abrt-console-notification.sh
- don't show any notifications without a terminal connected to stdout
- don't continue without writable $HOME directory
- forward all error messages to /dev/null
Resolves rhbz#1141485
Related to rhbz#1139001
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/abrt-console-notification.sh | 30 ++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
index 937abb0..0090747 100755
--- a/src/cli/abrt-console-notification.sh
+++ b/src/cli/abrt-console-notification.sh
@@ -1,21 +1,39 @@
+# If shell is not connect to a terminal, exit immediately, because this script
+# should print out ABRT's status and it is senseless to continue without
+# terminal.
+tty -s || exit 0
+
+# If $HOME is not set, a non human user is logging in to shell but this script
+# should provide information to human users, therefore exiting immediately
+# without showing the notification.
+if [ -z "$HOME" ]; then
+ exit 0
+fi
+
+if [ -z "$ABRT_DEBUG_LOG" ]; then
+ ABRT_DEBUG_LOG="/dev/null"
+fi
+
LPATHDIR="$HOME/.cache/abrt"
SINCEFILE="$LPATHDIR/lastnotification"
if [ ! -f "$LPATHDIR" ]; then
- mkdir -p "$LPATHDIR"
+ # It might happen that user doesn't have write access on his home.
+ mkdir -p "$LPATHDIR" &> "$ABRT_DEBUG_LOG" || exit 0
fi
-TMPPATH=`mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> /dev/null`
+TMPPATH=`mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG"`
SINCE=0
if [ -f "$SINCEFILE" ]; then
- SINCE=`cat $SINCEFILE 2> /dev/null`
+ SINCE=`cat $SINCEFILE 2> "$ABRT_DEBUG_LOG"`
fi
# always update the lastnotification
if [ -f "$TMPPATH" ]; then
- date +%s > "$TMPPATH"
- mv -f "$TMPPATH" "$SINCEFILE"
+ # Be quite in case of errors and don't scare users by strange error messages.
+ date +%s > "$TMPPATH" 2> "$ABRT_DEBUG_LOG"
+ mv -f "$TMPPATH" "$SINCEFILE" &> "$ABRT_DEBUG_LOG"
fi
-abrt-cli status --since="$SINCE" 2> /dev/null
+abrt-cli status --since="$SINCE" 2> "$ABRT_DEBUG_LOG"
--
1.9.3

View file

@ -0,0 +1,98 @@
From b38e21eac482e85de1f0b09d0ec7187844c1a19d Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Mon, 15 Sep 2014 11:44:02 +0200
Subject: [PATCH] retrace-client: humanize sizes
G_FORMAT_SIZE_IEC_UNITS
use IEC (base 1024) units with "KiB"-style suffixes. IEC units should
only be used for reporting things with a strong "power of 2" basis, like
RAM sizes or RAID stripe sizes. Network and storage sizes should be
reported in the normal SI units.
Fixes #844
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/plugins/abrt-retrace-client.c | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
diff --git a/src/plugins/abrt-retrace-client.c b/src/plugins/abrt-retrace-client.c
index 60bbbc2..0b67773 100644
--- a/src/plugins/abrt-retrace-client.c
+++ b/src/plugins/abrt-retrace-client.c
@@ -511,10 +511,16 @@ static int create(bool delete_temp_archive,
if (unpacked_size > settings->max_unpacked_size)
{
alert_crash_too_large();
- error_msg_and_die(_("The size of your crash is %lld bytes, "
+
+ /* Leaking size and max_size in hope the memory will be released in
+ * error_msg_and_die() */
+ gchar *size = g_format_size_full(unpacked_size, G_FORMAT_SIZE_IEC_UNITS);
+ gchar *max_size = g_format_size_full(settings->max_unpacked_size, G_FORMAT_SIZE_IEC_UNITS);
+
+ error_msg_and_die(_("The size of your crash is %s, "
"but the retrace server only accepts "
- "crashes smaller or equal to %lld bytes."),
- unpacked_size, settings->max_unpacked_size);
+ "crashes smaller or equal to %s."),
+ size, max_size);
}
if (settings->supported_formats)
@@ -610,14 +616,19 @@ static int create(bool delete_temp_archive,
/* Get the file size. */
fstat(tempfd, &file_stat);
+ gchar *human_size = g_format_size_full((long long)file_stat.st_size, G_FORMAT_SIZE_IEC_UNITS);
if ((long long)file_stat.st_size > settings->max_packed_size)
{
alert_crash_too_large();
- error_msg_and_die(_("The size of your archive is %lld bytes, "
+
+ /* Leaking human_size and max_size in hope the memory will be released in
+ * error_msg_and_die() */
+ gchar *max_size = g_format_size_full(settings->max_packed_size, G_FORMAT_SIZE_IEC_UNITS);
+
+ error_msg_and_die(_("The size of your archive is %s, "
"but the retrace server only accepts "
- "archives smaller or equal %lld bytes."),
- (long long)file_stat.st_size,
- settings->max_packed_size);
+ "archives smaller or equal to %s."),
+ human_size, max_size);
}
free_settings(settings);
@@ -626,8 +637,8 @@ static int create(bool delete_temp_archive,
if (size_mb > 8) /* 8 MB - should be configurable */
{
- char *question = xasprintf(_("You are going to upload %d megabytes. "
- "Continue?"), size_mb);
+ char *question = xasprintf(_("You are going to upload %s. "
+ "Continue?"), human_size);
int response = ask_yes_no(question);
free(question);
@@ -669,13 +680,12 @@ static int create(bool delete_temp_archive,
if (delay)
{
- if (size_mb > 1)
- printf(_("Uploading %d megabytes\n"), size_mb);
- else
- printf(_("Uploading %lld bytes\n"), (long long)file_stat.st_size);
+ printf(_("Uploading %s\n"), human_size);
fflush(stdout);
}
+ g_free(human_size);
+
strbuf_free(http_request);
int result = 0;
int i;
--
1.9.3

View file

@ -0,0 +1,47 @@
From a1f14b2e4585981a4cf6408509412bcfacbd9ea8 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Thu, 18 Sep 2014 15:02:01 +0200
Subject: [PATCH] dbus: fixed abrt-dbus memory leaks
Fixed memory leaks in abrt-dbus (method FindProblemByElementInTimeRange).
This method leaks memory if fuzzing on org.freedesktop.problems interface.
Related to rhbz#1015473
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/dbus/abrt-dbus.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/dbus/abrt-dbus.c b/src/dbus/abrt-dbus.c
index 0350dee..308a9af 100644
--- a/src/dbus/abrt-dbus.c
+++ b/src/dbus/abrt-dbus.c
@@ -685,13 +685,17 @@ static void handle_method_call(GDBusConnection *connection,
if (g_strcmp0(method_name, "FindProblemByElementInTimeRange") == 0)
{
- const char *element;
- const char *value;
- long timestamp_from;
- long timestamp_to;
- bool all;
-
- g_variant_get(parameters, "(ssxxb)", &element, &value, &timestamp_from, &timestamp_to, &all);
+ const gchar *element;
+ const gchar *value;
+ glong timestamp_from;
+ glong timestamp_to;
+ gboolean all;
+
+ g_variant_get_child(parameters, 0, "&s", &element);
+ g_variant_get_child(parameters, 1, "&s", &value);
+ g_variant_get_child(parameters, 2, "x", &timestamp_from);
+ g_variant_get_child(parameters, 3, "x", &timestamp_to);
+ g_variant_get_child(parameters, 4, "b", &all);
if (all && polkit_check_authorization_dname(caller, "org.freedesktop.problems.getall") == PolkitYes)
caller_uid = 0;
--
1.9.3

View file

@ -0,0 +1,58 @@
From 783a85a5161335f6722e132cc6fcb030054766e7 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 1 Oct 2014 17:14:50 +0200
Subject: [PATCH] applet: confirm ignoring of notifications
and fix a bug in abrt-action-notify
Related to rhbz#1084031
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/applet/applet.c | 16 +++++++++++++---
src/plugins/abrt-action-notify | 2 +-
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/applet/applet.c b/src/applet/applet.c
index 27c5fad..1618d8c 100644
--- a/src/applet/applet.c
+++ b/src/applet/applet.c
@@ -667,9 +667,19 @@ static void action_ignore(NotifyNotification *notification, gchar *action, gpoin
{
problem_info_t *pi = (problem_info_t *)user_data;
- log_debug("Ignoring problem '%s'", problem_info_get_dir(pi));
-
- ignored_problems_add_problem_data(g_ignore_set, pi->problem_data);
+ const char *const message = _(
+ "You are going to mute notifications of a particular problem. " \
+ "You will never see a notification bubble for this problem again, " \
+ "however, ABRT will be detecting it and you will be able " \
+ "to report it from ABRT GUI." \
+ "\n\n" \
+ "Do you want to continue?");
+
+ if (run_ask_yes_no_yesforever_dialog("AskIgnoreForever", message, NULL))
+ {
+ log_debug("Ignoring problem '%s'", problem_info_get_dir(pi));
+ ignored_problems_add_problem_data(g_ignore_set, pi->problem_data);
+ }
GError *err = NULL;
notify_notification_close(notification, &err);
diff --git a/src/plugins/abrt-action-notify b/src/plugins/abrt-action-notify
index cbabf74..8b8f38e 100644
--- a/src/plugins/abrt-action-notify
+++ b/src/plugins/abrt-action-notify
@@ -99,7 +99,7 @@ def emit_crash_dbus_signal(problem_data):
# member is a Boolean flag which is True if the element is required
arguments = ((FILENAME_PACKAGE, True), (CD_DUMPDIR, True),
(FILENAME_UID, False), (FILENAME_UUID, False),
- (FILENAME_PACKAGE, False))
+ (FILENAME_DUPHASH, False))
for elem in arguments:
itm = problem_data.get(elem[0])
--
1.9.3

View file

@ -0,0 +1,49 @@
From 05bf4d55d0316f6048b327399cef0db941db29e8 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Mon, 15 Sep 2014 13:43:10 +0200
Subject: [PATCH] cli: use portable syntax in abrt-console-notification
Thanks Dominic Cleal
Resolves rhbz#1141485
Related to rhbz#1139001
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/abrt-console-notification.sh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
index 0090747..849273c 100755
--- a/src/cli/abrt-console-notification.sh
+++ b/src/cli/abrt-console-notification.sh
@@ -19,21 +19,21 @@ SINCEFILE="$LPATHDIR/lastnotification"
if [ ! -f "$LPATHDIR" ]; then
# It might happen that user doesn't have write access on his home.
- mkdir -p "$LPATHDIR" &> "$ABRT_DEBUG_LOG" || exit 0
+ mkdir -p "$LPATHDIR" >"$ABRT_DEBUG_LOG" 2>&1 || exit 0
fi
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
if [ -f "$TMPPATH" ]; then
# Be quite in case of errors and don't scare users by strange error messages.
- date +%s > "$TMPPATH" 2> "$ABRT_DEBUG_LOG"
- mv -f "$TMPPATH" "$SINCEFILE" &> "$ABRT_DEBUG_LOG"
+ date +%s > "$TMPPATH" 2>"$ABRT_DEBUG_LOG"
+ mv -f "$TMPPATH" "$SINCEFILE" >"$ABRT_DEBUG_LOG" 2>&1
fi
-abrt-cli status --since="$SINCE" 2> "$ABRT_DEBUG_LOG"
+abrt-cli status --since="$SINCE" 2>"$ABRT_DEBUG_LOG"
--
1.9.3

View file

@ -0,0 +1,48 @@
From a8f12ee8aa40d9ff05004bf6661ab442ad161202 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 9 Oct 2014 16:28:12 +0200
Subject: [PATCH] console-notifications: use return instead of exit
Thanks Ray Strode [halfline] <rstrode@redhat.com>
Related to rhbz#1150169
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/abrt-console-notification.sh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
index 849273c..38de7bb 100755
--- a/src/cli/abrt-console-notification.sh
+++ b/src/cli/abrt-console-notification.sh
@@ -1,13 +1,13 @@
-# If shell is not connect to a terminal, exit immediately, because this script
+# 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.
-tty -s || exit 0
+tty -s || return 0
# If $HOME is not set, a non human user is logging in to shell but this script
-# should provide information to human users, therefore exiting immediately
+# should provide information to human users, therefore returning immediately
# without showing the notification.
if [ -z "$HOME" ]; then
- exit 0
+ return 0
fi
if [ -z "$ABRT_DEBUG_LOG" ]; then
@@ -19,7 +19,7 @@ SINCEFILE="$LPATHDIR/lastnotification"
if [ ! -f "$LPATHDIR" ]; then
# It might happen that user doesn't have write access on his home.
- mkdir -p "$LPATHDIR" >"$ABRT_DEBUG_LOG" 2>&1 || exit 0
+ mkdir -p "$LPATHDIR" >"$ABRT_DEBUG_LOG" 2>&1 || return 0
fi
TMPPATH=`mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG"`
--
1.9.3

View file

@ -0,0 +1,28 @@
From f5066db720d371604c8c1c42225a193602e72c84 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Fri, 10 Oct 2014 11:18:51 +0200
Subject: [PATCH] applet: don't show duphash instead of component
Related to rhbz#1084031
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/applet/applet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/applet/applet.c b/src/applet/applet.c
index 1618d8c..1da90fd 100644
--- a/src/applet/applet.c
+++ b/src/applet/applet.c
@@ -1327,7 +1327,7 @@ static void Crash(DBusMessage* signal)
if (duphash != NULL && duphash[0] != '\0')
problem_data_add_text_noteditable(pi->problem_data, FILENAME_DUPHASH, duphash);
if (package_name != NULL && package_name[0] != '\0')
- problem_data_add_text_noteditable(pi->problem_data, FILENAME_COMPONENT, duphash);
+ problem_data_add_text_noteditable(pi->problem_data, FILENAME_COMPONENT, package_name);
pi->foreign = foreign_problem;
show_problem_notification(pi, flags);
}
--
1.9.3

View file

@ -0,0 +1,30 @@
From caffc34bd6eada503ec0b8231dbecbfa5652eedd Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Sat, 11 Oct 2014 00:05:07 +0200
Subject: [PATCH] console-notifications: skip non-interactive shells
Related to rhbz#1141485
Related to rhbz#1139001
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/abrt-console-notification.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
index 38de7bb..976dfc3 100755
--- a/src/cli/abrt-console-notification.sh
+++ b/src/cli/abrt-console-notification.sh
@@ -3,6 +3,9 @@
# terminal.
tty -s || return 0
+# Skip all for noninteractive shells for the same reason as above.
+[ -z "$PS1" ] && return 0
+
# If $HOME is not set, a non human user is logging in to shell but this script
# should provide information to human users, therefore returning immediately
# without showing the notification.
--
1.9.3

View file

@ -0,0 +1,102 @@
From 0f0a1c1b58b73bfa0b7449bc59a580dc321dba8b Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 15 Oct 2014 13:33:51 +0200
Subject: [PATCH] make ABRT quieter
Related: #1048384, #1147664
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/daemon/abrtd.c | 7 +++++--
src/hooks/abrt-hook-ccpp.c | 10 +++++-----
src/plugins/abrt-action-generate-core-backtrace.c | 2 +-
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c
index b8426dd..cce49eb 100644
--- a/src/daemon/abrtd.c
+++ b/src/daemon/abrtd.c
@@ -626,7 +626,7 @@ int main(int argc, char** argv)
s_signal_pipe_write = s_signal_pipe[1];
/* Enter the event loop */
- log("Init complete, entering main loop");
+ log_debug("Init complete, entering main loop");
run_main_loop(pMainloop);
cleanup:
@@ -652,7 +652,10 @@ int main(int argc, char** argv)
/* Exiting */
if (s_sig_caught && s_sig_caught != SIGALRM && s_sig_caught != SIGCHLD)
{
- error_msg("Got signal %d, exiting", s_sig_caught);
+ /* We use TERM to stop abrtd, so not printing out error message. */
+ if (s_sig_caught != SIGTERM)
+ error_msg("Got signal %d, exiting", s_sig_caught);
+
signal(s_sig_caught, SIG_DFL);
raise(s_sig_caught);
}
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
index 8e141d4..6f471e9 100644
--- a/src/hooks/abrt-hook-ccpp.c
+++ b/src/hooks/abrt-hook-ccpp.c
@@ -184,13 +184,13 @@ static char* get_executable(pid_t pid, int *fd_p)
if (deleted > executable && strcmp(deleted, " (deleted)") == 0)
{
*deleted = '\0';
- log("File '%s' seems to be deleted", executable);
+ log_info("File '%s' seems to be deleted", executable);
}
/* find and cut off prelink suffixes from the path */
char *prelink = executable + strlen(executable) - strlen(".#prelink#.XXXXXX");
if (prelink > executable && strncmp(prelink, ".#prelink#.", strlen(".#prelink#.")) == 0)
{
- log("File '%s' seems to be a prelink temporary file", executable);
+ log_info("File '%s' seems to be a prelink temporary file", executable);
*prelink = '\0';
}
return executable;
@@ -649,7 +649,7 @@ int main(int argc, char** argv)
* but it does not log file name */
error_msg_and_die("Error saving '%s'", path);
}
- log("Saved core dump of pid %lu (%s) to %s (%llu bytes)", (long)pid, executable, path, (long long)core_size);
+ log_notice("Saved core dump of pid %lu (%s) to %s (%llu bytes)", (long)pid, executable, path, (long long)core_size);
return 0;
}
@@ -836,7 +836,7 @@ int main(int argc, char** argv)
strcpy(path, newpath);
free(newpath);
- log("Saved core dump of pid %lu (%s) to %s (%llu bytes)", (long)pid, executable, path, (long long)core_size);
+ log_notice("Saved core dump of pid %lu (%s) to %s (%llu bytes)", (long)pid, executable, path, (long long)core_size);
notify_new_path(path);
@@ -874,7 +874,7 @@ int main(int argc, char** argv)
unlink(core_basename);
return 1;
}
- log("Saved core dump of pid %lu to %s (%llu bytes)", (long)pid, full_core_basename, (long long)core_size);
+ log_notice("Saved core dump of pid %lu to %s (%llu bytes)", (long)pid, full_core_basename, (long long)core_size);
}
return 0;
diff --git a/src/plugins/abrt-action-generate-core-backtrace.c b/src/plugins/abrt-action-generate-core-backtrace.c
index a992a5b..791af83 100644
--- a/src/plugins/abrt-action-generate-core-backtrace.c
+++ b/src/plugins/abrt-action-generate-core-backtrace.c
@@ -61,7 +61,7 @@ int main(int argc, char **argv)
sr_debug_parser = true;
/* Let user know what's going on */
- log(_("Generating core_backtrace"));
+ log_notice(_("Generating core_backtrace"));
char *error_message = NULL;
bool success;
--
1.9.3

View file

@ -0,0 +1,128 @@
From 9604d1b52843a3939fcee440b5c3ec6efd0ce9df Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 21 Oct 2014 14:57:10 +0200
Subject: [PATCH] applet: ensure writable dump directory before reporting
Related to rhbz#1084027
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/applet/applet.c | 62 ++++++++++++++++++++++++++++++++++-------------------
1 file changed, 40 insertions(+), 22 deletions(-)
diff --git a/src/applet/applet.c b/src/applet/applet.c
index 1da90fd..f73ad74 100644
--- a/src/applet/applet.c
+++ b/src/applet/applet.c
@@ -303,6 +303,7 @@ typedef struct problem_info {
bool incomplete;
bool reported;
bool was_announced;
+ bool is_writable;
} problem_info_t;
static void push_to_deferred_queue(problem_info_t *pi)
@@ -320,6 +321,36 @@ static void problem_info_set_dir(problem_info_t *pi, const char *dir)
problem_data_add_text_noteditable(pi->problem_data, CD_DUMPDIR, dir);
}
+static bool problem_info_ensure_writable(problem_info_t *pi)
+{
+ if (pi->is_writable)
+ return true;
+
+ /* chown the directory in any case, because kernel oopses are not foreign */
+ /* but their dump directories are not writable without chowning them or */
+ /* stealing them. The stealing is deprecated as it breaks the local */
+ /* duplicate search and root cannot see them */
+ const int res = chown_dir_over_dbus(problem_info_get_dir(pi));
+ if (pi->foreign && res != 0)
+ {
+ error_msg(_("Can't take ownership of '%s'"), problem_info_get_dir(pi));
+ return false;
+ }
+ pi->foreign = false;
+
+ struct dump_dir *dd = open_directory_for_writing(problem_info_get_dir(pi), /* don't ask */ NULL);
+ if (!dd)
+ {
+ error_msg(_("Can't open directory for writing '%s'"), problem_info_get_dir(pi));
+ return false;
+ }
+
+ problem_info_set_dir(pi, dd->dd_dirname);
+ pi->is_writable = true;
+ dd_close(dd);
+ return true;
+}
+
static problem_info_t *problem_info_new(const char *dir)
{
problem_info_t *pi = xzalloc(sizeof(*pi));
@@ -606,8 +637,13 @@ static pid_t spawn_event_handler_child(const char *dump_dir_name, const char *ev
return child;
}
-static void run_report_from_applet(const char *dirname)
+static void run_report_from_applet(problem_info_t *pi)
{
+ if (!problem_info_ensure_writable(pi))
+ return;
+
+ const char *dirname = problem_info_get_dir(pi);
+
fflush(NULL); /* paranoia */
pid_t pid = fork();
if (pid < 0)
@@ -645,7 +681,7 @@ static void action_report(NotifyNotification *notification, gchar *action, gpoin
{
if (strcmp(A_REPORT_REPORT, action) == 0)
{
- run_report_from_applet(problem_info_get_dir(pi));
+ run_report_from_applet(pi);
problem_info_free(pi);
}
else
@@ -1114,7 +1150,7 @@ static gboolean handle_event_output_cb(GIOChannel *gio, GIOCondition condition,
if (pi->known || !(state->flags & REPORT_UNKNOWN_PROBLEM_IMMEDIATELY))
notify_problem(pi);
else
- run_report_from_applet(problem_info_get_dir(pi));
+ run_report_from_applet(pi);
}
else
{
@@ -1175,29 +1211,11 @@ static void export_event_configuration(const char *event_name)
static void run_event_async(problem_info_t *pi, const char *event_name, int flags)
{
- /* chown the directory in any case, because kernel oopses are not foreign */
- /* but their dump directories are not writable without chowning them or */
- /* stealing them. The stealing is deprecated as it breaks the local */
- /* duplicate search and root cannot see them */
- const int res = chown_dir_over_dbus(problem_info_get_dir(pi));
- if (pi->foreign && res != 0)
+ if (!problem_info_ensure_writable(pi))
{
- error_msg(_("Can't take ownership of '%s'"), problem_info_get_dir(pi));
problem_info_free(pi);
return;
}
- pi->foreign = false;
-
- struct dump_dir *dd = open_directory_for_writing(problem_info_get_dir(pi), /* don't ask */ NULL);
- if (!dd)
- {
- error_msg(_("Can't open directory for writing '%s'"), problem_info_get_dir(pi));
- problem_info_free(pi);
- return;
- }
-
- problem_info_set_dir(pi, dd->dd_dirname);
- dd_close(dd);
export_event_configuration(event_name);
--
1.9.3

View file

@ -0,0 +1,26 @@
From 196a13cf2265ffdac293975a676c2ff16fedf2ba Mon Sep 17 00:00:00 2001
From: Martin Milata <mmilata@redhat.com>
Date: Mon, 24 Nov 2014 17:43:02 +0100
Subject: [PATCH] Remove garbage from ccpp_event.conf
Signed-off-by: Martin Milata <mmilata@redhat.com>
---
src/plugins/ccpp_event.conf | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf
index 9fbe760..96e7891 100644
--- a/src/plugins/ccpp_event.conf
+++ b/src/plugins/ccpp_event.conf
@@ -16,8 +16,6 @@ EVENT=post-create analyzer=CCpp
fi
# Try generating backtrace, if it fails we can still use
# the hash generated by abrt-action-analyze-c
- ##satyr migration:
- #satyr abrt-create-core-stacktrace "$DUMP_DIR"
abrt-action-generate-core-backtrace
# Run GDB plugin to see if crash looks exploitable
abrt-action-analyze-vulnerability
--
1.9.3

View file

@ -0,0 +1,31 @@
From 15a068e4bbef7da966a8f753277fce065e50d7e4 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 25 Nov 2014 15:54:15 +0100
Subject: [PATCH] python: load the configuration from correct file
Python2 exception handler has its configuration stored in python.conf
file.
Related: rhbz#1166633
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt_exception_handler.py.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hooks/abrt_exception_handler.py.in b/src/hooks/abrt_exception_handler.py.in
index fa4f34f..8412e5f 100644
--- a/src/hooks/abrt_exception_handler.py.in
+++ b/src/hooks/abrt_exception_handler.py.in
@@ -177,7 +177,7 @@ def require_abs_path():
import problem
try:
- conf = problem.load_plugin_conf_file("python3.conf")
+ conf = problem.load_plugin_conf_file("python.conf")
except OsError:
return False
--
1.9.3

View file

@ -0,0 +1,41 @@
From 684a5fcce536e628c339119accd04d42e1f27152 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 27 Nov 2014 12:45:04 +0100
Subject: [PATCH] vmcore: catch IOErrors and OSErrors
Perhaps some temporary data cleaner removed problem directory while the hook
was still using in.
Resolves: rhbz#1077241
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt_harvest_vmcore.py.in | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in
index 17e2be8..c6a7e6b 100644
--- a/src/hooks/abrt_harvest_vmcore.py.in
+++ b/src/hooks/abrt_harvest_vmcore.py.in
@@ -272,8 +272,16 @@ def harvest_vmcore():
except OSError:
sys.stderr.write("Unable to delete '%s'. Ignoring\n" % f_full)
- # Let abrtd know what type of problem it is:
- create_abrtd_info(destdirnew)
+ try:
+ # Let abrtd know what type of problem it is:
+ create_abrtd_info(destdirnew)
+ except EnvironmentError as ex:
+ sys.stderr.write("Unable to create problem directory info: " + str(ex))
+ try:
+ shutil.rmtree(destdirnew)
+ except Exception as ex:
+ sys.stderr.write("Unable to remove incomplete problem directory: " + str(ex))
+ continue
# chown -R 0:0
change_owner_rec(destdirnew)
--
1.9.3

View file

@ -0,0 +1,43 @@
From d92ce50f162e0e4defeb99a5cf35941b382ba3d7 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 27 Nov 2014 14:30:48 +0100
Subject: [PATCH] vmcore: remove original vmcore file in the last step
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt_harvest_vmcore.py.in | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in
index c6a7e6b..256f8f1 100644
--- a/src/hooks/abrt_harvest_vmcore.py.in
+++ b/src/hooks/abrt_harvest_vmcore.py.in
@@ -266,12 +266,6 @@ def harvest_vmcore():
shutil.rmtree(destdirnew)
continue
- if copyvmcore == 'no':
- try:
- shutil.rmtree(f_full)
- except OSError:
- sys.stderr.write("Unable to delete '%s'. Ignoring\n" % f_full)
-
try:
# Let abrtd know what type of problem it is:
create_abrtd_info(destdirnew)
@@ -291,6 +285,12 @@ def harvest_vmcore():
# Get rid of the .new suffix
shutil.move(destdirnew, destdir)
+ if copyvmcore == 'no':
+ try:
+ shutil.rmtree(f_full)
+ except OSError:
+ sys.stderr.write("Unable to delete '%s'. Ignoring\n" % f_full)
+
problem.notify_new_path(destdir)
--
1.9.3

View file

@ -0,0 +1,25 @@
From cf01ca8b589d66d975fc3b1525b58df466411c22 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 20 Jan 2015 15:12:05 +0100
Subject: [PATCH] console-notifications: add timeout
Related to #898
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/abrt-console-notification.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
index 976dfc3..a98f164 100755
--- a/src/cli/abrt-console-notification.sh
+++ b/src/cli/abrt-console-notification.sh
@@ -39,4 +39,4 @@ if [ -f "$TMPPATH" ]; then
mv -f "$TMPPATH" "$SINCEFILE" >"$ABRT_DEBUG_LOG" 2>&1
fi
-abrt-cli status --since="$SINCE" 2>"$ABRT_DEBUG_LOG"
+timeout 10s abrt-cli status --since="$SINCE" 2>"$ABRT_DEBUG_LOG" || echo "'abrt-cli status' timed out"
--
1.9.3

View file

@ -0,0 +1,29 @@
From eeb63b2105786e63a75cac69311408908c8ecf28 Mon Sep 17 00:00:00 2001
From: Gregory Collins <greg@gregorycollins.net>
Date: Tue, 20 Jan 2015 18:39:42 -0800
Subject: [PATCH] Don't slurp unbounded amounts of data when invoking
journalctl. Fixes #887.
---
src/plugins/ccpp_event.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf
index 96e7891..985e80d 100644
--- a/src/plugins/ccpp_event.conf
+++ b/src/plugins/ccpp_event.conf
@@ -38,9 +38,9 @@ EVENT=post-create analyzer=CCpp
else
uid=`cat uid` &&
log="[System Logs]:\n" &&
- log=$log`journalctl -b --system | grep -F -e "$base_executable" | tail -99` &&
+ log=$log`journalctl -b --since=-3m --system | grep -F -e "$base_executable" | tail -99` &&
log=$log"\n[User Logs]:\n" &&
- log=$log`journalctl _UID="$uid" -b | grep -F -e "$base_executable" | tail -99` &&
+ log=$log`journalctl _UID="$uid" -b --since=-3m | grep -F -e "$base_executable" | tail -99` &&
log=`echo -e "$log"`
fi
if test -n "$log"; then
--
1.9.3

View file

@ -0,0 +1,29 @@
From 5ac45a9f799a83e8e7756fbb613adc0e7570a1a5 Mon Sep 17 00:00:00 2001
From: Gregory Collins <greg@gregorycollins.net>
Date: Wed, 21 Jan 2015 04:38:58 +0100
Subject: [PATCH] Rewrite journalctl invocations: replace grep/tail pipeline
with journalctl builtins.
---
src/plugins/ccpp_event.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf
index 985e80d..894c7eb 100644
--- a/src/plugins/ccpp_event.conf
+++ b/src/plugins/ccpp_event.conf
@@ -38,9 +38,9 @@ EVENT=post-create analyzer=CCpp
else
uid=`cat uid` &&
log="[System Logs]:\n" &&
- log=$log`journalctl -b --since=-3m --system | grep -F -e "$base_executable" | tail -99` &&
+ log=$log`journalctl -b --since=-3m --system -n 99 _COMM="$base_executable"` &&
log=$log"\n[User Logs]:\n" &&
- log=$log`journalctl _UID="$uid" -b --since=-3m | grep -F -e "$base_executable" | tail -99` &&
+ log=$log`journalctl -b --since=-3m -n 99 _COMM="$base_executable" _UID="$uid"` &&
log=`echo -e "$log"`
fi
if test -n "$log"; then
--
1.9.3

View file

@ -0,0 +1,25 @@
From 414ac716c6d3d93c01687bf2a5592caedff35c0d Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Wed, 21 Jan 2015 15:37:27 +0100
Subject: [PATCH] applet: Fix typo in "cuurent"
---
src/applet/applet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/applet/applet.c b/src/applet/applet.c
index f73ad74..1c3865c 100644
--- a/src/applet/applet.c
+++ b/src/applet/applet.c
@@ -488,7 +488,7 @@ static void new_dir_exists(GList **new_dirs)
* DIR2 - Current dir list has new element. IOW: new dir exists!
* Advance only current dirlist ptr.
* DIR3 - Only old list has element. Advance only old ptr.
- * DIR4 ==== - Old list ended, cuurent one didn't. New dir exists!
+ * DIR4 ==== - Old list ended, current one didn't. New dir exists!
* ====
*/
GList *l1 = dirlist = g_list_sort(dirlist, (GCompareFunc)strcmp);
--
1.9.3

View file

@ -0,0 +1,34 @@
From 5edb4efdf25cc8b79b8d5b0b2c58001381aa5f17 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Wed, 21 Jan 2015 16:53:37 +0100
Subject: [PATCH] applet: Fix typo in "Oterwise"
---
src/applet/applet.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/applet/applet.c b/src/applet/applet.c
index 1c3865c..ae11fac 100644
--- a/src/applet/applet.c
+++ b/src/applet/applet.c
@@ -588,7 +588,7 @@ static void fork_exec_gui(const char *problem_id)
record_dirs:
/* Scan dirs and save new $XDG_CACHE_HOME/abrt/applet_dirlist.
- * (Oterwise, after a crash, next time applet is started,
+ * (Otherwise, after a crash, next time applet is started,
* it will show alert icon even if we did click on it
* "in previous life"). We ignore function return value.
*/
@@ -769,7 +769,7 @@ static void on_notify_close(NotifyNotification *notification, gpointer user_data
g_object_unref(notification);
/* Scan dirs and save new $XDG_CACHE_HOME/abrt/applet_dirlist.
- * (Oterwise, after a crash, next time applet is started,
+ * (Otherwise, after a crash, next time applet is started,
* it will show alert icon even if we did click on it
* "in previous life"). We ignore finction return value.
*/
--
1.9.3

File diff suppressed because it is too large Load diff

View file

@ -1,30 +0,0 @@
diff -ur abrt-2.1.1/src/applet/applet.c abrt-2.1.1.new/src/applet/applet.c
--- abrt-2.1.1/src/applet/applet.c 2013-02-01 17:05:40.000000000 +0100
+++ abrt-2.1.1.new/src/applet/applet.c 2013-03-05 12:16:42.463747490 +0100
@@ -89,25 +89,7 @@
static void ask_start_autoreporting()
{
- /* The "Yes" response will be saved even if user don't check the
- * "Don't ask me again" box.
- */
- const int ret = run_ask_yes_no_save_result_dialog("AutoreportingEnabled",
- _("The report which will be sent does not contain any security sensitive data. "
- "Therefore it is not necessary to bother you next time and require any further action by you. "
- "\nDo you want to enable automatically submitted anonymous crash reports?"),
- /*parent wnd */ NULL);
-
- /* Don't forget:
- *
- * The "Yes" response will be saved even if user don't check the
- * "Don't ask me again" box.
- */
- if (ret != 0)
- set_user_setting("AutoreportingEnabled", "yes");
-
- /* must be called immediately, otherwise the data could be lost in case of crash */
- save_user_settings();
+ return;
}
static bool is_shortened_reporting_enabled()

View file

@ -1,58 +0,0 @@
diff -ruN abrt-2.1.6/src/configuration-gui/Makefile.am abrt-2.1.6.3.g85d7/src/configuration-gui/Makefile.am
--- abrt-2.1.6/src/configuration-gui/Makefile.am 2013-07-23 10:10:02.000000000 +0200
+++ abrt-2.1.6.3.g85d7/src/configuration-gui/Makefile.am 2013-07-26 18:23:04.000000000 +0200
@@ -4,9 +4,17 @@
abrt-config-widget.c \
abrt-config-widget.h
+# G_DEFINE_TYPE(...) macros result in
+# typedef '_GStaticAssertCompileTimeAssertion_0' locally defined but not used
+# warnings on some glib versions
+# (observed on glib2-2.34.2 on F18).
+# -Wno-error=unused-local-typedefs in CPPFLAGS suppresses this warning.
+# Newer glib may have it fixed.
+
libabrtconfigui_la_CPPFLAGS = \
-I$(srcdir)/../include \
-I$(srcdir)/../lib \
+ -Wno-error=unused-local-typedefs \
$(LIBREPORT_CFLAGS) \
$(GTK_CFLAGS) \
-DABRT_UI_DIR="\"$(uidir)\"" \
@@ -25,6 +33,7 @@
system_config_abrt_CPPFLAGS = \
-I$(srcdir)/../include \
-I$(srcdir)/../lib \
+ -Wno-error=unused-local-typedefs \
$(GTK_CFLAGS) \
$(LIBREPORT_CFLAGS)
diff -ruN abrt-2.1.6/src/configuration-gui/Makefile.in abrt-2.1.6.3.g85d7/src/configuration-gui/Makefile.in
--- abrt-2.1.6/src/configuration-gui/Makefile.in 2013-07-26 07:55:59.000000000 +0200
+++ abrt-2.1.6.3.g85d7/src/configuration-gui/Makefile.in 2013-07-26 18:23:48.000000000 +0200
@@ -419,9 +419,17 @@
abrt-config-widget.c \
abrt-config-widget.h
+
+# G_DEFINE_TYPE(...) macros result in
+# typedef '_GStaticAssertCompileTimeAssertion_0' locally defined but not used
+# warnings on some glib versions
+# (observed on glib2-2.34.2 on F18).
+# -Wno-error=unused-local-typedefs in CPPFLAGS suppresses this warning.
+# Newer glib may have it fixed.
libabrtconfigui_la_CPPFLAGS = \
-I$(srcdir)/../include \
-I$(srcdir)/../lib \
+ -Wno-error=unused-local-typedefs \
$(LIBREPORT_CFLAGS) \
$(GTK_CFLAGS) \
-DABRT_UI_DIR="\"$(uidir)\"" \
@@ -438,6 +446,7 @@
system_config_abrt_CPPFLAGS = \
-I$(srcdir)/../include \
-I$(srcdir)/../lib \
+ -Wno-error=unused-local-typedefs \
$(GTK_CFLAGS) \
$(LIBREPORT_CFLAGS)

View file

@ -1,44 +0,0 @@
From 133940d93193f82c5cc63d627f691291dfd7759a Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 6 Aug 2013 12:32:45 +0200
Subject: [ABRT PATCH] a-a-ureport: generate core_backtrace only for CCpp
problems
Closes rhbz#993630
Signed-off-by: Jakub Filak <jfilak@redhat.com>
Signed-off-by: Martin Milata <mmilata@redhat.com>
---
src/plugins/abrt-action-ureport | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/plugins/abrt-action-ureport b/src/plugins/abrt-action-ureport
index 41916bd..44575d8 100755
--- a/src/plugins/abrt-action-ureport
+++ b/src/plugins/abrt-action-ureport
@@ -59,6 +59,13 @@ if __name__ == "__main__":
dd = dd_opendir(dirname, 0)
if not dd:
sys.exit(1)
+
+ report_type = dd.load_text("type", DD_FAIL_QUIETLY_ENOENT)
+
+ # because of backward compatibility
+ if not report_type:
+ report_type = dd.load_text("analyzer", 0)
+
core_backtrace_exists = dd.exist("core_backtrace")
reported_to = dd.load_text("reported_to", DD_FAIL_QUIETLY_ENOENT)
ureports_counter = try_parse_number(dd, "ureports_counter")
@@ -90,7 +97,7 @@ if __name__ == "__main__":
log(_("uReport was already sent, not sending it again"))
sys.exit(0)
- if not core_backtrace_exists:
+ if report_type == "CCpp" and not core_backtrace_exists:
exitcode = spawn_and_wait("abrt-action-generate-core-backtrace")
if exitcode != 0:
log1("uReport can't be sent without core_backtrace. Exiting.")
--
1.8.3.1

View file

@ -1,17 +0,0 @@
diff -ruN abrt-2.1.6.new/src/lib/abrt_conf.c abrt-2.1.6.old/src/lib/abrt_conf.c
--- abrt-2.1.6.new/src/lib/abrt_conf.c 2013-07-26 11:20:33.803925230 +0200
+++ abrt-2.1.6.old/src/lib/abrt_conf.c 2013-07-26 11:57:24.785656742 +0200
@@ -99,9 +99,13 @@
}
else
{
+#if 0
/* Default: enabled for GNOME desktop, else disabled */
const char *desktop_env = getenv("DESKTOP_SESSION");
g_settings_shortenedreporting = (desktop_env && strcasestr(desktop_env, "gnome") != NULL);
+#else
+ g_settings_shortenedreporting = 0;
+#endif
}
GHashTableIter iter;

View file

@ -1,110 +0,0 @@
diff -ur abrt-2.1.1/src/daemon/abrt.conf abrt-2.1.1.new/src/daemon/abrt.conf
--- abrt-2.1.1/src/daemon/abrt.conf 2013-02-01 12:59:58.000000000 +0100
+++ abrt-2.1.1.new/src/daemon/abrt.conf 2013-03-05 10:01:11.347789231 +0100
@@ -28,9 +28,7 @@
# In order to run this event automatically after detection, the
# AutoreportingEnabled option must be configured to 'yes'
#
-# Default value: report_uReport
-#
-AutoreportingEvent = report_uReport
+AutoreportingEvent = empty
# Enables automatic running of the event configured in AutoreportingEvent option.
#
diff -ur abrt-2.1.1/src/daemon/abrt_event.conf abrt-2.1.1.new/src/daemon/abrt_event.conf
--- abrt-2.1.1/src/daemon/abrt_event.conf 2013-02-01 17:05:40.000000000 +0100
+++ abrt-2.1.1.new/src/daemon/abrt_event.conf 2013-03-05 10:00:58.406693336 +0100
@@ -95,3 +95,7 @@
EVENT=open-gui
report-gtk -x -- "$DUMP_DIR"
+
+# no operation event, used for AutoreportingEvent to override the default value
+EVENT=empty
+ exit 0
diff -ruN abrt-2.1.6.new/src/plugins/ccpp_event.conf abrt-2.1.6.old/src/plugins/ccpp_event.conf
--- abrt-2.1.6.new/src/plugins/ccpp_event.conf 2013-07-26 11:20:33.808925269 +0200
+++ abrt-2.1.6.old/src/plugins/ccpp_event.conf 2013-07-26 11:21:37.642419583 +0200
@@ -77,14 +77,6 @@
-F "/etc/libreport/plugins/$format" \
-A "/etc/libreport/plugins/$formatdup"
-# Send micro report
-EVENT=report_uReport analyzer=CCpp
- /usr/libexec/abrt-action-ureport
-
-# update ABRT database after successful report to bugzilla
-EVENT=post_report analyzer=CCpp
- reporter-ureport -r
-
EVENT=analyze_CCpp analyzer=CCpp
abrt-action-perform-ccpp-analysis
@@ -93,4 +85,4 @@
report-gtk -- "$DUMP_DIR"
EVENT=report-cli analyzer=CCpp
- report-cli -e report_uReport -e analyze_CCpp -e report_Bugzilla -e post_report -- "$DUMP_DIR"
+ report-cli -e analyze_LocalGDB -e report_Bugzilla -- "$DUMP_DIR"
diff -ruN abrt-2.1.6.new/src/plugins/koops_event.conf abrt-2.1.6.old/src/plugins/koops_event.conf
--- abrt-2.1.6.new/src/plugins/koops_event.conf 2013-07-26 11:20:33.810925284 +0200
+++ abrt-2.1.6.old/src/plugins/koops_event.conf 2013-07-26 11:22:09.051662800 +0200
@@ -20,17 +20,9 @@
reporter-bugzilla -b \
-F /etc/libreport/plugins/bugzilla_format_kernel.conf
-# Send micro report
-EVENT=report_uReport analyzer=Kerneloops
- /usr/libexec/abrt-action-ureport
-
-# Update ABRT database after successful report to bugzilla
-EVENT=post_report analyzer=Kerneloops
- reporter-ureport -r
-
# Automatic/simple GUI-based kernel oopses reporting will do this:
EVENT=report-gui analyzer=Kerneloops
report-gtk -- "$DUMP_DIR"
EVENT=report-cli analyzer=Kerneloops
- report-cli -e report_uReport -e report_Bugzilla -e post_report -- "$DUMP_DIR"
+ report-cli -e report_Bugzilla -- "$DUMP_DIR"
diff -ruN abrt-2.1.6.new/src/plugins/python_event.conf abrt-2.1.6.old/src/plugins/python_event.conf
--- abrt-2.1.6.new/src/plugins/python_event.conf 2013-07-26 11:20:33.809925276 +0200
+++ abrt-2.1.6.old/src/plugins/python_event.conf 2013-07-26 11:22:23.992778495 +0200
@@ -15,17 +15,9 @@
-c /etc/libreport/plugins/bugzilla.conf
# TODO? -F /etc/libreport/plugins/bugzilla_format_python.conf
-# Send micro report
-EVENT=report_uReport analyzer=Python
- /usr/libexec/abrt-action-ureport
-
-# update ABRT database after successful report to bugzilla
-EVENT=post_report analyzer=Python
- reporter-ureport -r
-
# Reporting of python exceptions
EVENT=report-gui analyzer=Python component!=anaconda
report-gtk -- "$DUMP_DIR"
EVENT=report-cli analyzer=Python component!=anaconda
- report-cli -e report_uReport -e report_Bugzilla -e post_report -- "$DUMP_DIR"
+ report-cli -e report_Bugzilla -- "$DUMP_DIR"
diff -ruN abrt-2.1.6.new/src/plugins/vmcore_event.conf abrt-2.1.6.old/src/plugins/vmcore_event.conf
--- abrt-2.1.6.new/src/plugins/vmcore_event.conf 2013-07-26 11:20:33.811925292 +0200
+++ abrt-2.1.6.old/src/plugins/vmcore_event.conf 2013-07-26 11:23:36.103336857 +0200
@@ -19,12 +19,8 @@
reporter-bugzilla -b \
-F /etc/libreport/plugins/bugzilla_format_kernel.conf
-# Send micro report
-EVENT=report_uReport analyzer=vmcore
- /usr/libexec/abrt-action-ureport
-
EVENT=report-gui analyzer=vmcore
report-gtk -- "$DUMP_DIR"
EVENT=report-cli analyzer=vmcore
- report-cli -e analyze_VMcore -e report_uReport -e report_Bugzilla -e post_report -- "$DUMP_DIR"
+ report-cli -e analyze_VMcore -e report_Bugzilla -- "$DUMP_DIR"

View file

@ -1,9 +0,0 @@
--- abrt-2.0.3/src/daemon/gpg_keys 2011-06-08 17:00:18.000000000 +0200
+++ abrt-2.0.3_/src/daemon/gpg_keys 2011-07-14 20:57:09.000000000 +0200
@@ -1 +1,5 @@
-/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-former
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-release
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-rhx
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

895
abrt.spec

File diff suppressed because it is too large Load diff

View file

@ -1,11 +0,0 @@
--- abrt-2.0.13/src/daemon/abrt-action-save-package-data.conf 2012-08-06 10:13:24.000000000 +0200
+++ abrt-2.0.13_/src/daemon/abrt-action-save-package-data.conf 2012-09-21 16:20:19.943882773 +0200
@@ -3,7 +3,7 @@
# the list of public keys used to check the signature is
# in the file gpg_keys
#
-OpenGPGCheck = yes
+OpenGPGCheck = no
# Blacklisted packages
#

View file

@ -1 +1 @@
7a8d16a6f316528a767e6be93164e688 abrt-2.1.6.tar.gz
5133980911a7d841d073c61a75a490a1 abrt-2.2.2.tar.gz