public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Filak <jfilak@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/abrt] update-2.17.9-f44: New upstream release 2.6.0
Date: Mon, 03 Aug 2026 11:04:25 GMT	[thread overview]
Message-ID: <178575506544.1.12049149270546597187.rpms-abrt-a8bf279ba20b@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/abrt
Branch : update-2.17.9-f44
Commit : a8bf279ba20b944cbe3f98da82f64c7f996dc5e9
Author : Jakub Filak <jfilak@redhat.com>
Date   : 2015-06-10T08:32:19+02:00
Stats  : +45/-2347 in 16 file(s)
URL    : https://src.fedoraproject.org/rpms/abrt/c/a8bf279ba20b944cbe3f98da82f64c7f996dc5e9?branch=update-2.17.9-f44

Log:
New upstream release 2.6.0

---
diff --git a/.gitignore b/.gitignore
index 11dfa5d..34d6c46 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,4 @@ abrt-1.1.13.tar.gz
 /abrt-2.4.0.tar.gz
 /abrt-2.5.0.tar.gz
 /abrt-2.5.1.tar.gz
+/abrt-2.6.0.tar.gz

diff --git a/0004-applet-switch-to-D-Bus-methods.patch b/0004-applet-switch-to-D-Bus-methods.patch
deleted file mode 100644
index ee6d7c5..0000000
--- a/0004-applet-switch-to-D-Bus-methods.patch
+++ /dev/null
@@ -1,427 +0,0 @@
-From a2977b0fe023a896c3006f27ee2b148690dff24a Mon Sep 17 00:00:00 2001
-From: Jakub Filak <jfilak@redhat.com>
-Date: Wed, 8 Apr 2015 08:23:03 +0200
-Subject: [PATCH] applet: switch to D-Bus methods
-
-This patch is a part of our efforts to make abrt-applet independent on
-the backend.
-
-This patch converts all data manipulation functions to D-Bus calls, so
-the notifications are made of data obtained through D-Bus.
-
-The reporting still relies on file system access, though.
-
-Signed-off-by: Jakub Filak <jfilak@redhat.com>
----
- src/applet/applet.c        | 181 ++++++++++++++++++++++++++++-----------------
- src/include/libabrt.h      |  16 ++++
- src/lib/problem_api_dbus.c |  61 +++++++++++----
- 3 files changed, 174 insertions(+), 84 deletions(-)
-
-diff --git a/src/applet/applet.c b/src/applet/applet.c
-index 7b58f6e..4df69fc 100644
---- a/src/applet/applet.c
-+++ b/src/applet/applet.c
-@@ -120,6 +120,7 @@ typedef struct problem_info {
-     bool reported;
-     bool was_announced;
-     bool is_writable;
-+    int time;
- } problem_info_t;
- 
- static void push_to_deferred_queue(problem_info_t *pi)
-@@ -137,6 +138,59 @@ static const char *problem_info_get_command_line(problem_info_t *pi)
-     return problem_data_get_content_or_NULL(pi->problem_data, FILENAME_CMDLINE);
- }
- 
-+static int problem_info_get_time(problem_info_t *pi)
-+{
-+    if (pi->time == -1)
-+    {
-+        const char *time_str = problem_data_get_content_or_NULL(pi->problem_data, FILENAME_TIME);
-+
-+        if (time_str == NULL)
-+            error_msg_and_die("BUG: Problem info has data without the element time");
-+
-+        pi->time = atoi(time_str);
-+    }
-+
-+    return pi->time;
-+}
-+
-+static const char **problem_info_get_env(problem_info_t *pi)
-+{
-+    if (pi->envp == NULL)
-+    {
-+        const char *env_str = problem_data_get_content_or_NULL(pi->problem_data, FILENAME_ENVIRON);
-+        pi->envp = (env_str != NULL) ? g_strsplit (env_str, "\n", -1) : NULL;
-+    }
-+
-+    return (const char **)pi->envp;
-+}
-+
-+static int problem_info_get_pid(problem_info_t *pi)
-+{
-+    if (pi->pid == -1)
-+    {
-+        const char *pid_str = problem_data_get_content_or_NULL(pi->problem_data, FILENAME_PID);
-+        pi->pid = (pid_str != NULL) ? atoi (pid_str) : -1;
-+    }
-+
-+    return pi->pid;
-+}
-+
-+static int problem_info_get_count(problem_info_t *pi)
-+{
-+    if (pi->count == -1)
-+    {
-+        const char *count_str = problem_data_get_content_or_NULL(pi->problem_data, FILENAME_COUNT);
-+        pi->count = count_str ? atoi(count_str) : 1;
-+    }
-+
-+    return pi->count;
-+}
-+
-+static bool problem_info_is_reported(problem_info_t *pi)
-+{
-+    return problem_data_get_content_or_NULL(pi->problem_data, FILENAME_REPORTED_TO) != NULL;
-+}
-+
- static void problem_info_set_dir(problem_info_t *pi, const char *dir)
- {
-     problem_data_add_text_noteditable(pi->problem_data, CD_DUMPDIR, dir);
-@@ -176,6 +230,9 @@ static problem_info_t *problem_info_new(const char *dir)
- {
-     problem_info_t *pi = g_new0(problem_info_t, 1);
-     pi->refcount = 1;
-+    pi->time = -1;
-+    pi->pid = -1;
-+    pi->count = -1;
-     pi->problem_data = problem_data_new();
-     problem_info_set_dir(pi, dir);
-     return pi;
-@@ -194,8 +251,6 @@ static void problem_info_unref(gpointer data)
-         return;
- 
-     problem_data_free(pi->problem_data);
--    if (pi->envp)
--        g_strfreev(pi->envp);
-     g_free(pi);
- }
- 
-@@ -556,7 +611,7 @@ static void notify_problem_list(GList *problems)
-             continue;
-         }
- 
--        app = problem_create_app_from_env ((const char **)pi->envp, pi->pid);
-+        app = problem_create_app_from_env (problem_info_get_env(pi), problem_info_get_pid(pi));
- 
-         if (!app)
-             app = problem_create_app_from_cmdline (problem_info_get_command_line(pi));
-@@ -572,7 +627,7 @@ static void notify_problem_list(GList *problems)
-         gboolean is_packaged = pi->is_packaged;
-         gboolean is_running_again = is_app_running(app);
-         gboolean is_current_user = !pi->foreign;
--        gboolean already_reported = (pi->count > 1);
-+        gboolean already_reported = problem_info_get_count(pi) > 1;
- 
-         gboolean report_button = FALSE;
-         gboolean restart_button = FALSE;
-@@ -914,14 +969,22 @@ static void Crash(GVariant *parameters)
-     if (foreign_problem && !g_user_is_admin)
-         return;
- 
--    struct dump_dir *dd = dd_opendir(dir, DD_OPEN_READONLY);
--    char *command_line = dd_load_text_ext(dd, FILENAME_CMDLINE, DD_FAIL_QUIETLY_ENOENT | DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE);
--    char *count_str = dd_load_text_ext(dd, FILENAME_COUNT, DD_FAIL_QUIETLY_ENOENT | DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE);
--    guint count = count_str ? atoi(count_str) : 1;
--    g_free(count_str);
--    char *env = dd_load_text_ext(dd, FILENAME_ENVIRON, DD_FAIL_QUIETLY_ENOENT | DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE);
--    char *pid = dd_load_text_ext(dd, FILENAME_PID, DD_FAIL_QUIETLY_ENOENT | DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE);
--    dd_close(dd);
-+    static const char *elements[] = {
-+        FILENAME_CMDLINE,
-+        FILENAME_COUNT,
-+        FILENAME_UUID,
-+        FILENAME_DUPHASH,
-+        FILENAME_COMPONENT,
-+        FILENAME_ENVIRON,
-+        FILENAME_PID,
-+        NULL,
-+    };
-+
-+    problem_info_t *pi = problem_info_new(dir);
-+    fill_problem_data_over_dbus(dir, elements, pi->problem_data);
-+
-+    pi->foreign = foreign_problem;
-+    pi->is_packaged = (package_name != NULL);
- 
-     /*
-      * Can't append dir to the seen list because of directory stealing
-@@ -929,24 +992,6 @@ static void Crash(GVariant *parameters)
-      * append_dirlist(dir);
-      *
-      */
--
--    problem_info_t *pi = problem_info_new(dir);
--    if (uuid != NULL && uuid[0] != '\0')
--        problem_data_add_text_noteditable(pi->problem_data, FILENAME_UUID, uuid);
--    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, package_name);
--    if (command_line != NULL)
--        problem_data_add_text_noteditable(pi->problem_data, FILENAME_CMDLINE, command_line);
--    pi->foreign = foreign_problem;
--    pi->count = count;
--    pi->is_packaged = (package_name != NULL);
--    pi->envp = (env != NULL) ? g_strsplit (env, "\n", -1) : NULL;
--    pi->pid = (pid != NULL) ? atoi (pid) : -1;
--    free(command_line);
--    free(env);
--    free(pid);
-     show_problem_notification(pi);
- }
- 
-@@ -970,6 +1015,19 @@ name_acquired_handler (GDBusConnection *connection,
-                        const gchar *name,
-                        gpointer user_data)
- {
-+    static const char *elements[] = {
-+        FILENAME_CMDLINE,
-+        FILENAME_COUNT,
-+        FILENAME_UUID,
-+        FILENAME_DUPHASH,
-+        FILENAME_COMPONENT,
-+        FILENAME_UID,
-+        FILENAME_TIME,
-+        FILENAME_REPORTED_TO,
-+        FILENAME_NOT_REPORTABLE,
-+        NULL
-+    };
-+
-     /* If some new dirs appeared since our last run, let user know it */
-     GList *new_dirs = NULL;
-     GList *notify_list = NULL;
-@@ -980,58 +1038,45 @@ name_acquired_handler (GDBusConnection *connection,
-     /* Age limit = now - 3 days */
-     const unsigned long min_born_time = (unsigned long)(time_before_ndays(3));
- 
--    while (new_dirs)
-+    for ( ; new_dirs != NULL; new_dirs = g_list_next(new_dirs))
-     {
--        struct dump_dir *dd = dd_opendir((char *)new_dirs->data, DD_OPEN_READONLY);
--        if (dd == NULL)
-+        const char *problem_id = (const char *)new_dirs->data;
-+        problem_info_t *pi = problem_info_new(problem_id);
-+
-+        if (fill_problem_data_over_dbus(problem_id, elements, pi->problem_data) != 0)
-         {
--            log_notice("'%s' is not a dump dir - ignoring\n", (char *)new_dirs->data);
--            new_dirs = g_list_next(new_dirs);
-+            log_notice("'%s' is not a dump dir - ignoring\n", problem_id);
-+            problem_info_unref(pi);
-             continue;
-         }
- 
--        if (dd->dd_time < min_born_time)
-+        /* TODO: add a filter for only complete problems to GetProblems D-Bus method */
-+        if (!dbus_problem_is_complete(problem_id))
-         {
--            log_notice("Ignoring outdated problem '%s'", (char *)new_dirs->data);
--            goto next;
-+            log_notice("Ignoring incomplete problem '%s'", problem_id);
-+            problem_info_unref(pi);
-+            continue;
-         }
- 
--        if (!problem_dump_dir_is_complete(dd))
-+        /* TODO: add a filter for max-old reported problems to GetProblems D-Bus method */
-+        if (problem_info_get_time(pi) < min_born_time)
-         {
--            log_notice("Ignoring incomplete problem '%s'", (char *)new_dirs->data);
--            goto next;
-+            log_notice("Ignoring outdated problem '%s'", problem_id);
-+            problem_info_unref(pi);
-+            continue;
-         }
- 
--        if (!dd_exist(dd, FILENAME_REPORTED_TO))
-+        /* TODO: add a filter for not-yet reported problems to GetProblems D-Bus method */
-+        if (problem_info_is_reported(pi))
-         {
--            problem_info_t *pi = problem_info_new(new_dirs->data);
--            const char *elements[] = {FILENAME_UUID, FILENAME_DUPHASH, FILENAME_COMPONENT, FILENAME_NOT_REPORTABLE, FILENAME_CMDLINE};
--
--            for (size_t i = 0; i < sizeof(elements)/sizeof(*elements); ++i)
--            {
--                char * const value = dd_load_text_ext(dd, elements[i],
--                        DD_FAIL_QUIETLY_ENOENT | DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE);
--                if (value)
--                    problem_data_add_text_noteditable(pi->problem_data, elements[i], value);
--                free(value);
--            }
--
--            /* Can't be foreign because if the problem is foreign then the
--             * dd_opendir() call failed few lines above and the problem is ignored.
--             * */
--            pi->foreign = false;
--
--            notify_list = g_list_prepend(notify_list, pi);
--        }
--        else
--        {
--            log_notice("Ignoring already reported problem '%s'", (char *)new_dirs->data);
-+            log_notice("Ignoring already reported problem '%s'", problem_id);
-+            problem_info_unref(pi);
-+            continue;
-         }
- 
--next:
--        dd_close(dd);
--
--        new_dirs = g_list_next(new_dirs);
-+        /* Can't be foreig because new_dir_exists() returns only own problems */
-+        pi->foreign = false;
-+        notify_list = g_list_prepend(notify_list, pi);
-     }
- 
-     if (notify_list)
-diff --git a/src/include/libabrt.h b/src/include/libabrt.h
-index 19ad4a8..07dc172 100644
---- a/src/include/libabrt.h
-+++ b/src/include/libabrt.h
-@@ -164,6 +164,15 @@ int chown_dir_over_dbus(const char *problem_dir_path);
- int test_exist_over_dbus(const char *problem_id, const char *element_name);
- 
- /**
-+  @brief Checks whether the problem corresponding to the given ID is complete
-+
-+  Might require authorization
-+
-+  @return Positive number if such the proble is complete, 0 if doesn't and negative number if an error occurs.
-+ */
-+int dbus_problem_is_complete(const char *problem_id);
-+
-+/**
-   @ Returns value of the given element name
- 
-   Might require authorization
-@@ -182,6 +191,13 @@ char *load_text_over_dbus(const char *problem_id, const char *element_name);
- int delete_problem_dirs_over_dbus(const GList *problem_dir_paths);
- 
- /**
-+  @brief Fetches given problem elements for specified problem id
-+
-+  @return on failures returns non zero value and emits error message
-+*/
-+int fill_problem_data_over_dbus(const char *problem_dir_path, const char **elements, problem_data_t *problem_data);
-+
-+/**
-   @brief Fetches problem information for specified problem id
- 
-   @return problem_data_t or NULL on failure
-diff --git a/src/lib/problem_api_dbus.c b/src/lib/problem_api_dbus.c
-index 5148932..ce5c47b 100644
---- a/src/lib/problem_api_dbus.c
-+++ b/src/lib/problem_api_dbus.c
-@@ -101,23 +101,21 @@ int delete_problem_dirs_over_dbus(const GList *problem_dir_paths)
-     return 0;
- }
- 
--problem_data_t *get_problem_data_dbus(const char *problem_dir_path)
-+int fill_problem_data_over_dbus(const char *problem_id, const char **elements, problem_data_t *problem_data)
- {
-     INITIALIZE_LIBABRT();
- 
-     GDBusProxy *proxy = get_dbus_proxy();
-     if (!proxy)
--        return NULL;
-+        return -1;
- 
--    GVariantBuilder *builder = g_variant_builder_new(G_VARIANT_TYPE("as"));
--    g_variant_builder_add(builder, "s", FILENAME_TIME          );
--    g_variant_builder_add(builder, "s", FILENAME_REASON        );
--    g_variant_builder_add(builder, "s", FILENAME_NOT_REPORTABLE);
--    g_variant_builder_add(builder, "s", FILENAME_COMPONENT     );
--    g_variant_builder_add(builder, "s", FILENAME_EXECUTABLE    );
--    g_variant_builder_add(builder, "s", FILENAME_REPORTED_TO   );
--    GVariant *params = g_variant_new("(sas)", problem_dir_path, builder);
--    g_variant_builder_unref(builder);
-+    GVariantBuilder *args_builder = g_variant_builder_new(G_VARIANT_TYPE("as"));
-+
-+    for (const char **iter = elements; *iter; ++iter)
-+        g_variant_builder_add(args_builder, "s", *iter);
-+
-+    GVariant *params = g_variant_new("(sas)", problem_id, args_builder);
-+    g_variant_builder_unref(args_builder);
- 
-     GError *error = NULL;
-     GVariant *result = g_dbus_proxy_call_sync(proxy,
-@@ -130,20 +128,46 @@ problem_data_t *get_problem_data_dbus(const char *problem_dir_path)
- 
-     if (error)
-     {
--        error_msg(_("Can't get problem data from abrt-dbus: %s"), error->message);
-+        error_msg(_("D-Bus GetInfo method call failed: %s"), error->message);
-         g_error_free(error);
--        return NULL;
-+        return -2;
-     }
- 
--    problem_data_t *pd = problem_data_new();
-+
-     char *key, *val;
-     GVariantIter *iter;
-     g_variant_get(result, "(a{ss})", &iter);
-     while (g_variant_iter_loop(iter, "{ss}", &key, &val))
-+        problem_data_add_text_noteditable(problem_data, key, val);
-+
-+    g_variant_unref(result);
-+
-+    return 0;
-+}
-+
-+problem_data_t *get_problem_data_dbus(const char *problem_dir_path)
-+{
-+    INITIALIZE_LIBABRT();
-+
-+    static const char *elements[] = {
-+        FILENAME_TIME,
-+        FILENAME_REASON,
-+        FILENAME_NOT_REPORTABLE,
-+        FILENAME_COMPONENT,
-+        FILENAME_EXECUTABLE,
-+        FILENAME_REPORTED_TO,
-+        NULL,
-+    };
-+
-+    problem_data_t *pd = problem_data_new();
-+
-+    if (fill_problem_data_over_dbus(problem_dir_path, elements, pd) != 0)
-     {
--        problem_data_add_text_noteditable(pd, key, val);
-+        error_msg(_("Can't get problem data from abrt-dbus"));
-+        problem_data_free(pd);
-+        return NULL;
-     }
--    g_variant_unref(result);
-+
-     return pd;
- }
- 
-@@ -259,6 +283,11 @@ int test_exist_over_dbus(const char *problem_id, const char *element_name)
-     return retval;
- }
- 
-+int dbus_problem_is_complete(const char *problem_id)
-+{
-+    return test_exist_over_dbus(problem_id, FILENAME_COUNT);
-+}
-+
- char *load_text_over_dbus(const char *problem_id, const char *element_name)
- {
-     INITIALIZE_LIBABRT();
--- 
-2.4.1
-

diff --git a/0005-lib-add-new-kernel-taint-flags.patch b/0005-lib-add-new-kernel-taint-flags.patch
deleted file mode 100644
index 555c5a5..0000000
--- a/0005-lib-add-new-kernel-taint-flags.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From e52d14214bd356f31856a5ab63ef14a60d318364 Mon Sep 17 00:00:00 2001
-From: Jakub Filak <jfilak@redhat.com>
-Date: Tue, 5 May 2015 10:46:06 +0200
-Subject: [PATCH] lib: add new kernel taint flags
-
-Signed-off-by: Jakub Filak <jfilak@redhat.com>
----
- src/lib/kernel.c | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/src/lib/kernel.c b/src/lib/kernel.c
-index af43ae0..dde3d28 100644
---- a/src/lib/kernel.c
-+++ b/src/lib/kernel.c
-@@ -632,8 +632,14 @@ char *koops_extract_version(const char *linepointer)
-  *  'W' - Taint on warning.
-  *  'C' - modules from drivers/staging are loaded.
-  *  'I' - Working around severe firmware bug.
-+ *  'O' - Out-of-tree module has been loaded.
-+ *  'E' - Unsigned module has been loaded.
-+ *  'L' - A soft lockup has previously occurred.
-+ *  'K' - Kernel has been live patched.
-+ *
-+ * Compatibility flags from older versions and downstream sources:
-  *  'H' - Hardware is unsupported.
-- *   T  - Tech_preview
-+ *  'T' - Tech_preview
-  */
- 
- #if 0 /* unused */
-@@ -658,7 +664,7 @@ char *kernel_tainted_short(const char *kernel_bt)
-         return NULL;
- 
-     tainted += strlen("Tainted: ");
--    /* 13 == current count of known flags */
-+    /* 17 + 2 == current count of known flags */
-     /* http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=kernel/panic.c;hb=HEAD */
-     /* 26 the maximal sane count of flags because of alphabet limits */
-     unsigned sz = 26 + 1;
-@@ -701,14 +707,14 @@ static const char *const tnts_long[] = {
-     /* B */ "System has hit bad_page.",
-     /* C */ "Modules from drivers/staging are loaded.",
-     /* D */ "Kernel has oopsed before",
--    /* E */ NULL,
-+    /* E */ "Unsigned module has been loaded."
-     /* F */ "Module has been forcibly loaded.",
-     /* G */ "Proprietary module has not been loaded.",
-     /* H */ NULL,
-     /* I */ "Working around severe firmware bug.",
-     /* J */ NULL,
--    /* K */ NULL,
--    /* L */ NULL,
-+    /* K */ "Kernel has been live patched.",
-+    /* L */ "A soft lockup has previously occurred.",
-     /* M */ "System experienced a machine check exception.",
-     /* N */ NULL,
-     /* O */ "Out-of-tree module has been loaded.",
--- 
-2.4.1
-

diff --git a/0006-upload-validate-and-sanitize-uploaded-dump-directori.patch b/0006-upload-validate-and-sanitize-uploaded-dump-directori.patch
deleted file mode 100644
index 6823b33..0000000
--- a/0006-upload-validate-and-sanitize-uploaded-dump-directori.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 3746b7627218438ae7d781fc8b18a221454e9091 Mon Sep 17 00:00:00 2001
-From: Jakub Filak <jfilak@redhat.com>
-Date: Mon, 20 Apr 2015 15:15:40 +0200
-Subject: [PATCH] upload: validate and sanitize uploaded dump directories
-
-It was discovered that, when moving problem reports from
-/var/spool/abrt-upload to /var/spool/abrt or /var/tmp/abrt,
-abrt-handle-upload does not verify that the new problem directory
-has appropriate permissions and does not contain symbolic links.  A
-crafted problem report exposes other parts of abrt to attack, and
-the abrt-handle-upload script allows to overwrite arbitrary files.
-
-Acknowledgement:
-
-This issue was discovered by Florian Weimer of Red Hat Product Security.
-
-Related: #1212953
-
-Signed-off-by: Jakub Filak <jfilak@redhat.com>
----
- src/daemon/abrt-handle-upload.in | 78 +++++++++++++++++++++++++++++++++++-----
- 1 file changed, 70 insertions(+), 8 deletions(-)
-
-diff --git a/src/daemon/abrt-handle-upload.in b/src/daemon/abrt-handle-upload.in
-index 45ba72d..e812ef0 100755
---- a/src/daemon/abrt-handle-upload.in
-+++ b/src/daemon/abrt-handle-upload.in
-@@ -10,6 +10,7 @@ import getopt
- import tempfile
- import shutil
- import datetime
-+import grp
- 
- from reportclient import set_verbosity, error_msg_and_die, error_msg, log
- 
-@@ -36,12 +37,77 @@ def init_gettext():
- 
- import problem
- 
--def write_str_to(filename, s):
--    fd = os.open(filename, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, @DEFAULT_DUMP_DIR_MODE@ | stat.S_IROTH)
-+def write_str_to(filename, s, uid, gid, mode):
-+    fd = os.open(filename, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, mode)
-     if fd >= 0:
-+        os.fchown(fd, uid, gid)
-         os.write(fd, s)
-         os.close(fd)
- 
-+
-+def validate_transform_move_and_notify(uploaded_dir_path, problem_dir_path, dest=None):
-+    fsuid = 0
-+    fsgid = 0
-+
-+    try:
-+        gabrt = grp.getgrnam("abrt")
-+        fsgid = gabrt.gr_gid
-+    except KeyError as ex:
-+        error_msg("Failed to get GID of 'abrt' (using 0 instead): {0}'".format(str(ex)))
-+
-+    try:
-+        # give the uploaded directory to 'root:abrt' or 'root:root'
-+        os.chown(uploaded_dir_path, fsuid, fsgid)
-+        # set the right permissions for this machine
-+        # (allow the owner and the group to access problem elements,
-+        #  the default dump dir mode lacks x bit for both)
-+        os.chmod(uploaded_dir_path, @DEFAULT_DUMP_DIR_MODE@ | stat.S_IXUSR | stat.S_IXGRP)
-+
-+        # sanitize problem elements
-+        for item in os.listdir(uploaded_dir_path):
-+            apath = os.path.join(uploaded_dir_path, item)
-+            if os.path.islink(apath):
-+                # remove symbolic links
-+                os.remove(apath)
-+            elif os.path.isdir(apath):
-+                # remove directories
-+                shutil.rmtree(apath)
-+            elif os.path.isfile(apath):
-+                # set file ownership to 'root:abrt' or 'root:root'
-+                os.chown(apath, fsuid, fsgid)
-+                # set the right file permissions for this machine
-+                os.chmod(apath, @DEFAULT_DUMP_DIR_MODE@)
-+            else:
-+                # remove things that are neither files, symlinks nor directories
-+                os.remove(apath)
-+    except OSError as ex:
-+        error_msg("Removing uploaded dir '{0}': '{1}'".format(uploaded_dir_path, str(ex)))
-+        try:
-+            shutil.rmtree(uploaded_dir_path)
-+        except OSError as ex2:
-+            error_msg_and_die("Failed to clean up dir '{0}': '{1}'".format(uploaded_dir_path, str(ex2)))
-+        return
-+
-+    # overwrite remote if it exists
-+    remote_path = os.path.join(uploaded_dir_path, "remote")
-+    write_str_to(remote_path, "1", fsuid, fsgid, @DEFAULT_DUMP_DIR_MODE@)
-+
-+    # abrtd would increment count value and abrt-server refuses to process
-+    # problem directories containing 'count' element when PrivateReports is on.
-+    count_path = os.path.join(uploaded_dir_path, "count")
-+    if os.path.exists(count_path):
-+        # overwrite remote_count if it exists
-+        remote_count_path = os.path.join(uploaded_dir_path, "remote_count")
-+        os.rename(count_path, remote_count_path)
-+
-+    if not dest:
-+        dest = problem_dir_path
-+
-+    shutil.move(uploaded_dir_path, dest)
-+
-+    problem.notify_new_path(problem_dir_path)
-+
-+
- if __name__ == "__main__":
- 
-     # Helper: exit with cleanup
-@@ -177,21 +243,17 @@ if __name__ == "__main__":
-         # or one or more complete problem data directories.
-         # Checking second possibility first.
-         if (os.path.exists(tempdir+"/analyzer") or os.path.exists(tempdir+"/type")) and os.path.exists(tempdir+"/time"):
--            write_str_to(tempdir+"/remote", "1")
--            shutil.move(tempdir, abrt_dir)
--            problem.notify_new_path(abrt_dir+"/"+os.path.basename(tempdir))
-+            validate_transform_move_and_notify(tempdir, abrt_dir+"/"+os.path.basename(tempdir), dest=abrt_dir)
-         else:
-             for d in os.listdir(tempdir):
-                 if not os.path.isdir(tempdir+"/"+d):
-                     continue
--                write_str_to(tempdir+"/"+d+"/remote", "1")
-                 dst = abrt_dir+"/"+d
-                 if os.path.exists(dst):
-                     dst += "."+str(os.getpid())
-                 if os.path.exists(dst):
-                     continue
--                shutil.move(tempdir+"/"+d, dst)
--                problem.notify_new_path(dst)
-+                validate_transform_move_and_notify(tempdir+"/"+d, dst)
- 
-         die_exitcode = 0
-         # This deletes working_dir (== delete_on_exit)
--- 
-2.4.1
-

diff --git a/0008-a-a-s-p-d-add-new-known-interpreter-to-conf-file.patch b/0008-a-a-s-p-d-add-new-known-interpreter-to-conf-file.patch
deleted file mode 100644
index 7a254b7..0000000
--- a/0008-a-a-s-p-d-add-new-known-interpreter-to-conf-file.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7d5be427e208e565ee16a7f34be64acb781fb2f9 Mon Sep 17 00:00:00 2001
-From: Matej Habrnal <mhabrnal@redhat.com>
-Date: Mon, 18 May 2015 08:45:48 +0200
-Subject: [PATCH] a-a-s-p-d: add new known interpreter to conf file
-
-There were new bugzillas opened with wrong component 'python3' because of a new
-version of python (3.4). We don't want to blame the interpreters but the
-running scripts.
-
-close #965
-
-Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
----
- src/daemon/abrt-action-save-package-data.conf | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/daemon/abrt-action-save-package-data.conf b/src/daemon/abrt-action-save-package-data.conf
-index 33cef8f..27b9607 100644
---- a/src/daemon/abrt-action-save-package-data.conf
-+++ b/src/daemon/abrt-action-save-package-data.conf
-@@ -18,4 +18,4 @@ ProcessUnpackaged = yes
- BlackListedPaths = /usr/share/doc/*, */example*, /usr/bin/nspluginviewer
- 
- # interpreters names
--Interpreters = python2, python2.7, python, python3, python3.3, perl, perl5.16.2
-+Interpreters = python2, python2.7, python, python3, python3.3, python3.4, python3.5, perl, perl5.16.2
--- 
-2.4.1
-

diff --git a/0010-applet-fix-problem-info-double-free.patch b/0010-applet-fix-problem-info-double-free.patch
deleted file mode 100644
index 256ba04..0000000
--- a/0010-applet-fix-problem-info-double-free.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 65c24bb248b9b7b2e33e8b0ba9e3e06ffde4b291 Mon Sep 17 00:00:00 2001
-From: Matej Habrnal <mhabrnal@redhat.com>
-Date: Mon, 18 May 2015 15:46:59 +0200
-Subject: [PATCH] applet: fix problem info double free
-
-There was a double free when an action function was called.
-Problem info is freed when the notification is destroyed because the free
-function is registred when the action is added
-(notify_notification_add_action()). So the problem_info_unref() function in the
-action function is moreover and causes the double free problem.
-
-Related to rhbz#1211644
-
-Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
----
- src/applet/applet.c | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/applet/applet.c b/src/applet/applet.c
-index 4df69fc..c00f7e3 100644
---- a/src/applet/applet.c
-+++ b/src/applet/applet.c
-@@ -501,7 +501,6 @@ static void action_report(NotifyNotification *notification, gchar *action, gpoin
-     problem_info_t *pi = (problem_info_t *)user_data;
-     if (problem_info_get_dir(pi))
-         fork_exec_gui(problem_info_get_dir(pi));
--    problem_info_unref(pi);
- }
- 
- static void action_restart(NotifyNotification *notification, gchar *action, gpointer user_data)
-@@ -528,7 +527,6 @@ static void action_restart(NotifyNotification *notification, gchar *action, gpoi
-                    err->message);
-     }
-     g_object_unref (app);
--    problem_info_unref(pi);
- }
- 
- static void on_notify_close(NotifyNotification *notification, gpointer user_data)
--- 
-2.4.1
-

diff --git a/0011-cli-do-not-exit-with-segfault-if-dbus-fails.patch b/0011-cli-do-not-exit-with-segfault-if-dbus-fails.patch
deleted file mode 100644
index c17e33e..0000000
--- a/0011-cli-do-not-exit-with-segfault-if-dbus-fails.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 82957a3390188509921ec16bddc27f2aeeb01b8d Mon Sep 17 00:00:00 2001
-From: Matej Habrnal <mhabrnal@redhat.com>
-Date: Mon, 4 May 2015 10:35:25 +0200
-Subject: [PATCH] cli: do not exit with segfault if dbus fails
-
-There was a segfault when we ran 'abrt-cli list' and dbus failed.
-
-Related to rhbz#1217901
-
-Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
----
- src/cli/list.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/cli/list.c b/src/cli/list.c
-index c0c819d..31d1835 100644
---- a/src/cli/list.c
-+++ b/src/cli/list.c
-@@ -142,6 +142,8 @@ int cmd_list(int argc, const char **argv)
-     parse_opts(argc, (char **)argv, program_options, program_usage_string);
- 
-     vector_of_problem_data_t *ci = fetch_crash_infos();
-+    if (ci == NULL)
-+        return 1;
- 
-     g_ptr_array_sort_with_data(ci, &cmp_problem_data, (char *) FILENAME_LAST_OCCURRENCE);
- 
--- 
-2.4.1
-

diff --git a/0013-abrt-auto-reporting-require-rhtsupport.conf-file-onl.patch b/0013-abrt-auto-reporting-require-rhtsupport.conf-file-onl.patch
deleted file mode 100644
index 5fec7d9..0000000
--- a/0013-abrt-auto-reporting-require-rhtsupport.conf-file-onl.patch
+++ /dev/null
@@ -1,589 +0,0 @@
-From 0b8955a845f7a28a090bfe07d33a0acf161526e2 Mon Sep 17 00:00:00 2001
-From: Matej Habrnal <mhabrnal@redhat.com>
-Date: Fri, 24 Apr 2015 15:37:15 +0200
-Subject: [PATCH] abrt-auto-reporting: require rhtsupport.conf file only on
- RHEL
-
-abrt-auto-reporting required the rhtsupport.conf on Fedora and CentOS but the conf
-file do not exists in those systems.
-
-Resolves abrt/abrt#957
-
-Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
----
- configure.ac                                |  11 +++
- doc/Makefile.am                             |  13 +++-
- doc/abrt-auto-reporting-authenticated.txt   | 106 ++++++++++++++++++++++++++++
- doc/abrt-auto-reporting-unauthenticated.txt |  71 +++++++++++++++++++
- doc/abrt-auto-reporting.txt                 | 106 ----------------------------
- src/daemon/abrt-auto-reporting.c            |  71 ++++++++++++++-----
- 6 files changed, 254 insertions(+), 124 deletions(-)
- create mode 100644 doc/abrt-auto-reporting-authenticated.txt
- create mode 100644 doc/abrt-auto-reporting-unauthenticated.txt
- delete mode 100644 doc/abrt-auto-reporting.txt
-
-diff --git a/configure.ac b/configure.ac
-index acd0d32..6962d2c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -296,6 +296,17 @@ AC_ARG_ENABLE(suggest-autoreporting,
- 
- AM_CONDITIONAL(SUGGEST_AUTOREPORTING, test "$enable_suggest_autoreporting" = "yes")
- 
-+# Authenticated autoreporting
-+
-+AC_ARG_ENABLE(authenticated-autoreporting,
-+    AS_HELP_STRING([--enable-authenticated-autoreporting],
-+    [enable authenticated autoreporting]),
-+    [enable_authenticated_autoreporting=$enableval],
-+    [enable_authenticated_autoreporting=no]
-+)
-+
-+AM_CONDITIONAL(AUTHENTICATED_AUTOREPORTING, test "$enable_authenticated_autoreporting" = "yes")
-+
- # Make satyr use GDB or elfutils/libunwind for unwinding?
- 
- AC_ARG_ENABLE([native-unwinder],
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 6efd6d6..3e7499c 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -78,6 +78,17 @@ man1_MANS = ${MAN1_TXT:%.txt=%.1}
- man5_MANS = ${MAN5_TXT:%.txt=%.5} ${MAN5_PREFORMATTED}
- man8_MANS = ${MAN8_TXT:%.txt=%.8}
- 
-+MAN_SOURCE =
-+MAN_SOURCE = abrt-auto-reporting-authenticated.txt
-+MAN_SOURCE = abrt-auto-reporting-unauthenticated.txt
-+
-+if AUTHENTICATED_AUTOREPORTING
-+abrt-auto-reporting.txt: abrt-auto-reporting-authenticated.txt
-+else
-+abrt-auto-reporting.txt: abrt-auto-reporting-unauthenticated.txt
-+endif
-+	cp $< $@
-+
- %.1 %.5 %.8: %.xml
- 	$(XMLTO_SILENT) xmlto man $< 2>&1 | sed '/Note/d'
- 
-@@ -86,6 +97,6 @@ man8_MANS = ${MAN8_TXT:%.txt=%.8}
-                            --conf-file ../asciidoc.conf \
-                            -aabrt_version=$(PACKAGE_VERSION) -o $@ $<
- 
--EXTRA_DIST = $(MAN1_TXT) $(MAN5_TXT) $(MAN8_TXT) $(MAN5_PREFORMATTED)
-+EXTRA_DIST = $(MAN1_TXT) $(MAN5_TXT) $(MAN8_TXT) $(MAN5_PREFORMATTED) $(MAN_SOURCE)
- 
- CLEANFILES = ${MAN1_TXT:%.txt=%.1} ${MAN5_TXT:%.txt=%.5} ${MAN8_TXT:%.txt=%.8}
-diff --git a/doc/abrt-auto-reporting-authenticated.txt b/doc/abrt-auto-reporting-authenticated.txt
-new file mode 100644
-index 0000000..2a27945
---- /dev/null
-+++ b/doc/abrt-auto-reporting-authenticated.txt
-@@ -0,0 +1,106 @@
-+abrt-auto-reporting(1)
-+======================
-+
-+NAME
-+----
-+abrt-auto-reporting - Get or modify the auto reporting option values
-+
-+SYNOPSIS
-+--------
-+'abrt-auto-reporting' [-v] [ enabled | yes | 1 | on | disabled | no | 0 | off ]
-+                      [ [--anonymous] |
-+                        [--username USERNAME [--password PASSWORD] ] |
-+                        [--certificate SOURCE] ]
-+
-+DESCRIPTION
-+-----------
-+Reads the configuration from abrt.conf and saves the changes to the same file.
-+
-+The changes will take effect immediately without necessity to restart any ABRT
-+process and will be persistent.
-+
-+'disabled'::
-+   User have to report the detect problems manually
-+
-+'enabled'::
-+   ABRT uploads an uReport which was generated for a detected problem
-+   immediately after the detection phase.
-+
-+Reads and saves the authentication configuration options in
-+/etc/libreport/plugins/ureport.conf and /etc/libreport/plugins/rhtsupport.conf
-+
-+uReport description
-+~~~~~~~~~~~~~~~~~~~
-+ABRT supports uReports for four types of crashes: crashes of C/C++ programs
-+that result in a core dump, uncaught Python exceptions, uncaught Java
-+exceptions and kernel oopses.
-+
-+Each uReport generally contains a stack trace, or multiple stack traces in the
-+case of multi-threaded C/C++ and Java programs. The stack trace only describes
-+the call stack of the program at the time of the crash and does not contain
-+contents of any variables.
-+
-+Every uReport also contains identification of the operating system, versions of
-+the RPM packages involved in the crash, and whether the program ran under a
-+root user.
-+
-+There are also items specific to each crash type:
-+
-+C/C++ crashes::
-+    these are path to the executable and signal delivered to the program,
-+
-+Python exceptions::
-+    there is the type of the exception (without the error message, which may
-+    contain sensitive data),
-+
-+for kernel oopses::
-+    these are list of loaded kernel modules, list of taint flags, and full text
-+    of the kernel oops.
-+
-+The authenticated uReports also contains *hostname* and *machineid* to enable a
-+server side filtering at https://access.redhat.com/.
-+
-+The authenticated uReports have the benefit of rich server replies which may
-+include a solution for the submitted crash. The authentication is done using
-+either Red Hat Subscription Certificates or Red Hat Customer Portal
-+credentials.
-+
-+'Warning':
-+The full text of a kernel oops might contain information like the
-+identification of the host hardware type. You should disable the autoreporting
-+feature if you do not want to share this information with Red Hat.
-+
-+
-+OPTIONS
-+-------
-+-v, --verbose::
-+   Be more verbose. Can be given multiple times.
-+
-+-a, --anonymous::
-+   Turns the authentication off by clearing both 'SSLClientAuth' and 'HTTPAuth'
-+   configuration options in /etc/libreport/plugins/ureport.conf
-+
-+-u, --username USERNAME::
-+   Turns HTTP Authentication on by setting 'HTTPAuth' configuration option to
-+   *rhts-credentials* in /etc/libreport/plugins/ureport.conf and storing
-+   USERNAME and PASSWORD in /etc/libreport/plugins/rhtsupport.conf
-+   Also turns the SSL Client Authentication off, because these methods cannot
-+   be used together.
-+
-+-p, --password PASSWORD::
-+   Password for HTTP Authentication. If not provided, a prompt asking for it
-+   will be issued.
-+
-+-c, --certificate SOURCE::
-+   Turns SSL Client Authentication on by setting 'SSLClientAuth' configuration
-+   option to SOURCE in /etc/libreport/plugins/ureport.conf.
-+   Also turns the HTTP Authentication off, because these methods cannot
-+   be used together.
-+
-+SEE ALSO
-+--------
-+abrt.conf(5), ureport.conf(5), rhtsupport.conf(5)
-+
-+AUTHORS
-+-------
-+* ABRT team
-diff --git a/doc/abrt-auto-reporting-unauthenticated.txt b/doc/abrt-auto-reporting-unauthenticated.txt
-new file mode 100644
-index 0000000..320c803
---- /dev/null
-+++ b/doc/abrt-auto-reporting-unauthenticated.txt
-@@ -0,0 +1,71 @@
-+abrt-auto-reporting(1)
-+======================
-+
-+NAME
-+----
-+abrt-auto-reporting - Get or modify the auto reporting option values
-+
-+SYNOPSIS
-+--------
-+'abrt-auto-reporting' [-v] [ enabled | yes | 1 | on | disabled | no | 0 | off ]
-+
-+DESCRIPTION
-+-----------
-+Reads the configuration from abrt.conf and saves the changes to the same file.
-+
-+The changes will take effect immediately without necessity to restart any ABRT
-+process and will be persistent.
-+
-+'disabled'::
-+   User have to report the detect problems manually
-+
-+'enabled'::
-+   ABRT uploads an uReport which was generated for a detected problem
-+   immediately after the detection phase.
-+
-+uReport description
-+~~~~~~~~~~~~~~~~~~~
-+ABRT supports uReports for four types of crashes: crashes of C/C++ programs
-+that result in a core dump, uncaught Python exceptions, uncaught Java
-+exceptions and kernel oopses.
-+
-+Each uReport generally contains a stack trace, or multiple stack traces in the
-+case of multi-threaded C/C++ and Java programs. The stack trace only describes
-+the call stack of the program at the time of the crash and does not contain
-+contents of any variables.
-+
-+Every uReport also contains identification of the operating system, versions of
-+the RPM packages involved in the crash, and whether the program ran under a
-+root user.
-+
-+There are also items specific to each crash type:
-+
-+C/C++ crashes::
-+    these are path to the executable and signal delivered to the program,
-+
-+Python exceptions::
-+    there is the type of the exception (without the error message, which may
-+    contain sensitive data),
-+
-+for kernel oopses::
-+    these are list of loaded kernel modules, list of taint flags, and full text
-+    of the kernel oops.
-+
-+'Warning':
-+The full text of a kernel oops might contain information like the
-+identification of the host hardware type. You should disable the autoreporting
-+feature if you do not want to share this information with Red Hat.
-+
-+
-+OPTIONS
-+-------
-+-v, --verbose::
-+   Be more verbose. Can be given multiple times.
-+
-+SEE ALSO
-+--------
-+abrt.conf(5)
-+
-+AUTHORS
-+-------
-+* ABRT team
-diff --git a/doc/abrt-auto-reporting.txt b/doc/abrt-auto-reporting.txt
-deleted file mode 100644
-index 2a27945..0000000
---- a/doc/abrt-auto-reporting.txt
-+++ /dev/null
-@@ -1,106 +0,0 @@
--abrt-auto-reporting(1)
--======================
--
--NAME
------
--abrt-auto-reporting - Get or modify the auto reporting option values
--
--SYNOPSIS
----------
--'abrt-auto-reporting' [-v] [ enabled | yes | 1 | on | disabled | no | 0 | off ]
--                      [ [--anonymous] |
--                        [--username USERNAME [--password PASSWORD] ] |
--                        [--certificate SOURCE] ]
--
--DESCRIPTION
-------------
--Reads the configuration from abrt.conf and saves the changes to the same file.
--
--The changes will take effect immediately without necessity to restart any ABRT
--process and will be persistent.
--
--'disabled'::
--   User have to report the detect problems manually
--
--'enabled'::
--   ABRT uploads an uReport which was generated for a detected problem
--   immediately after the detection phase.
--
--Reads and saves the authentication configuration options in
--/etc/libreport/plugins/ureport.conf and /etc/libreport/plugins/rhtsupport.conf
--
--uReport description
--~~~~~~~~~~~~~~~~~~~
--ABRT supports uReports for four types of crashes: crashes of C/C++ programs
--that result in a core dump, uncaught Python exceptions, uncaught Java
--exceptions and kernel oopses.
--
--Each uReport generally contains a stack trace, or multiple stack traces in the
--case of multi-threaded C/C++ and Java programs. The stack trace only describes
--the call stack of the program at the time of the crash and does not contain
--contents of any variables.
--
--Every uReport also contains identification of the operating system, versions of
--the RPM packages involved in the crash, and whether the program ran under a
--root user.
--
--There are also items specific to each crash type:
--
--C/C++ crashes::
--    these are path to the executable and signal delivered to the program,
--
--Python exceptions::
--    there is the type of the exception (without the error message, which may
--    contain sensitive data),
--
--for kernel oopses::
--    these are list of loaded kernel modules, list of taint flags, and full text
--    of the kernel oops.
--
--The authenticated uReports also contains *hostname* and *machineid* to enable a
--server side filtering at https://access.redhat.com/.
--
--The authenticated uReports have the benefit of rich server replies which may
--include a solution for the submitted crash. The authentication is done using
--either Red Hat Subscription Certificates or Red Hat Customer Portal
--credentials.
--
--'Warning':
--The full text of a kernel oops might contain information like the
--identification of the host hardware type. You should disable the autoreporting
--feature if you do not want to share this information with Red Hat.
--
--
--OPTIONS
---------
---v, --verbose::
--   Be more verbose. Can be given multiple times.
--
---a, --anonymous::
--   Turns the authentication off by clearing both 'SSLClientAuth' and 'HTTPAuth'
--   configuration options in /etc/libreport/plugins/ureport.conf
--
---u, --username USERNAME::
--   Turns HTTP Authentication on by setting 'HTTPAuth' configuration option to
--   *rhts-credentials* in /etc/libreport/plugins/ureport.conf and storing
--   USERNAME and PASSWORD in /etc/libreport/plugins/rhtsupport.conf
--   Also turns the SSL Client Authentication off, because these methods cannot
--   be used together.
--
---p, --password PASSWORD::
--   Password for HTTP Authentication. If not provided, a prompt asking for it
--   will be issued.
--
---c, --certificate SOURCE::
--   Turns SSL Client Authentication on by setting 'SSLClientAuth' configuration
--   option to SOURCE in /etc/libreport/plugins/ureport.conf.
--   Also turns the HTTP Authentication off, because these methods cannot
--   be used together.
--
--SEE ALSO
----------
--abrt.conf(5), ureport.conf(5), rhtsupport.conf(5)
--
--AUTHORS
---------
--* ABRT team
-diff --git a/src/daemon/abrt-auto-reporting.c b/src/daemon/abrt-auto-reporting.c
-index 0fffeb6..b608c9b 100644
---- a/src/daemon/abrt-auto-reporting.c
-+++ b/src/daemon/abrt-auto-reporting.c
-@@ -64,6 +64,7 @@ set_abrt_reporting(map_string_t *conf, const char *opt_value)
-     return 1;
- }
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
- static int
- set_ureport_http_auth(map_string_t *conf, const char *opt_value)
- {
-@@ -134,6 +135,7 @@ set_rhts_credentials(map_string_t *conf, const char *username, const char *passw
-     /* No changes needed -> success */
-     return 1;
- }
-+#endif
- 
- static const char *
- get_abrt_reporting(map_string_t *conf)
-@@ -143,6 +145,7 @@ get_abrt_reporting(map_string_t *conf)
-     return REPORTING_STATES[index][0];
- }
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
- static const char *
- get_ureport_http_auth(map_string_t *conf)
- {
-@@ -154,6 +157,7 @@ get_ureport_client_auth(map_string_t *conf)
- {
-     return get_map_string_item_or_NULL(conf, UREPORT_CLIENT_AUTH_OPTION);
- }
-+#endif
- 
- int main(int argc, char *argv[])
- {
-@@ -171,57 +175,78 @@ int main(int argc, char *argv[])
-     textdomain(PACKAGE);
- #endif
- 
-+#define PROGRAM_USAGE_MIDDLE_PART \
-+            "\n" \
-+            "Get or modify a value of the auto-reporting option. The changes will take\n" \
-+            "effect immediately and will be persistent.\n" \
-+            "\n" \
-+            ""STATE_MANUAL":\n" \
-+            "User have to report the detect problems manually\n" \
-+            "\n" \
-+            ""STATE_AUTO":\n" \
-+            "ABRT uploads an uReport which was generated for a detected problem\n" \
-+            "immediately after the detection phase. uReport generally contains a stack\n" \
-+            "trace which only describes the call stack of the program at the time of the\n" \
-+            "crash and does not contain contents of any variables.  Every uReport also\n" \
-+            "contains identification of the operating system, versions of the RPM packages\n" \
-+            "involved in the crash, and whether the program ran under a root user.\n" \
-+            "\n"
-+
-     abrt_init(argv);
-+#if AUTHENTICATED_AUTOREPORTING != 0
-     const char *program_usage_string = _(
-             "& [ "STATE_MANUAL" | "STATE_AUTO" | yes | no | 1 | 0 ] \\\n"
-             "  [[--anonymous] | [--username USERNAME [--password PASSWORD]] | [--certificate SOURCE]]\n"
--            "\n"
--            "Get or modify a value of the auto-reporting option. The changes will take\n"
--            "effect immediately and will be persistent.\n"
--            "\n"
--            ""STATE_MANUAL":\n"
--            "User have to report the detect problems manually\n"
--            "\n"
--            ""STATE_AUTO":\n"
--            "ABRT uploads an uReport which was generated for a detected problem\n"
--            "immediately after the detection phase. uReport generally contains a stack\n"
--            "trace which only describes the call stack of the program at the time of the\n"
--            "crash and does not contain contents of any variables.  Every uReport also\n"
--            "contains identification of the operating system, versions of the RPM packages\n"
--            "involved in the crash, and whether the program ran under a root user.\n"
--            "\n"
-+            PROGRAM_USAGE_MIDDLE_PART
-             "See abrt-auto-reporting(1), reporter-ureport(1) and reporter-rhtsupport(1)\n"
-             "for more details.\n"
-     );
-+#else
-+    const char *program_usage_string = _(
-+            "& [ "STATE_MANUAL" | "STATE_AUTO" | yes | no | 1 | 0 ]\n"
-+            PROGRAM_USAGE_MIDDLE_PART
-+            "See abrt-auto-reporting(1) and reporter-ureport(1) for more details.\n"
-+    );
-+#endif
- 
-     enum {
-         OPT_v = 1 << 0,
-+#if AUTHENTICATED_AUTOREPORTING != 0
-         OPT_a = 1 << 1,
-         OPT_u = 1 << 2,
-         OPT_p = 1 << 3,
-         OPT_c = 1 << 4,
-+#endif
-     };
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
-     int anonymous = 0;
-     const char *username = NULL;
-     const char *password = NULL;
-     const char *certificate = NULL;
-+#endif
- 
-     /* Keep enum above and order of options below in sync! */
-     struct options program_options[] = {
-         OPT__VERBOSE(&g_verbose),
-+#if AUTHENTICATED_AUTOREPORTING != 0
-         OPT_BOOL  (  'a', "anonymous",   &anonymous,               _("Turns the authentication off")),
-         OPT_STRING(  'u', "username",    &username,    "USERNAME", _("Red Hat Support user name")),
-         OPT_STRING(  'p', "password",    &password,    "PASSWORD", _("Red Hat Support password, if not given, a prompt for it will be issued")),
-         OPT_STRING(  'c', "certificate", &certificate, "SOURCE",   _("uReport SSL certificate paths or certificate type")),
-+#endif
-         OPT_END()
-     };
- 
--    const unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
-+#if AUTHENTICATED_AUTOREPORTING != 0
-+    const unsigned opts =
-+#endif
-+    parse_opts(argc, argv, program_options, program_usage_string);
- 
-     argv += optind;
-     argc -= optind;
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
-     if ((opts & OPT_p) && !(opts & OPT_u))
-     {
-         error_msg(_("You also need to specify --username for --password"));
-@@ -246,6 +271,7 @@ int main(int argc, char *argv[])
-         show_usage_and_die(program_usage_string, program_options);
-     }
- 
-+#endif
-     if (argc > 1)
-     {
-         error_msg(_("Invalid number of arguments"));
-@@ -275,20 +301,25 @@ int main(int argc, char *argv[])
-     int exit_code = EXIT_FAILURE;
- 
-     map_string_t *conf = new_map_string();
-+#if AUTHENTICATED_AUTOREPORTING != 0
-     map_string_t *rhts_conf = new_map_string();
-     map_string_t *rhts_conf_bck = NULL;
-+#endif
-     map_string_t *ureport_conf = new_map_string();
-     map_string_t *ureport_conf_bck = NULL;
- 
-     if (!load_abrt_conf_file(CONF_NAME, conf))
-         goto finito;
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
-     if (!load_plugin_conf_file(RHTS_NAME, rhts_conf, false))
-         goto finito;
-+#endif
- 
-     if (!load_plugin_conf_file(UREPORT_NAME, ureport_conf, false))
-         goto finito;
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
-     if ((opts & OPT_a))
-     {
-         ureport_conf_bck = clone_map_string(ureport_conf);
-@@ -334,11 +365,13 @@ int main(int argc, char *argv[])
-             goto finito;
-     }
- 
-+#endif
-     if (argc == 0)
-     {
-         printf("%s", get_abrt_reporting(conf));
-         exit_code = EXIT_SUCCESS;
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
-         if (g_verbose >= 1)
-         {
-             const char *tmp = get_ureport_http_auth(ureport_conf);
-@@ -350,7 +383,7 @@ int main(int argc, char *argv[])
-             else
-                 printf(" %s", _("anonymous auto reporting"));
-         }
--
-+#endif
-         putchar('\n');
- 
-         goto finito;
-@@ -363,16 +396,20 @@ int main(int argc, char *argv[])
-         if (ureport_conf_bck != NULL)
-             save_plugin_conf_file(UREPORT_NAME, ureport_conf_bck);
- 
-+#if AUTHENTICATED_AUTOREPORTING != 0
-         if (rhts_conf_bck != NULL)
-             save_plugin_conf_file(RHTS_NAME, rhts_conf_bck);
-+#endif
-     }
- 
- 
- finito:
-     free_map_string(ureport_conf);
-     free_map_string(ureport_conf_bck);
-+#if AUTHENTICATED_AUTOREPORTING != 0
-     free_map_string(rhts_conf);
-     free_map_string(rhts_conf_bck);
-+#endif
-     free_map_string(conf);
-     return exit_code;
- }
--- 
-2.4.1
-

diff --git a/0015-abrt-action-list-dsos-do-not-decode-not-existing-obj.patch b/0015-abrt-action-list-dsos-do-not-decode-not-existing-obj.patch
deleted file mode 100644
index c1a15f4..0000000
--- a/0015-abrt-action-list-dsos-do-not-decode-not-existing-obj.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From c17cb1999357d9be51b8118661a8f35569c66dd0 Mon Sep 17 00:00:00 2001
-From: Matej Habrnal <mhabrnal@redhat.com>
-Date: Thu, 14 May 2015 16:27:02 +0200
-Subject: [PATCH] abrt-action-list-dsos: do not decode not existing object
-
-If you build a package using 'make rpm', there is no vendor param in it.
-So this is the reason why the Decode method was called on None object.
-
-Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
----
- src/plugins/abrt-action-list-dsos | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/plugins/abrt-action-list-dsos b/src/plugins/abrt-action-list-dsos
-index f4a1536..a3078a5 100644
---- a/src/plugins/abrt-action-list-dsos
-+++ b/src/plugins/abrt-action-list-dsos
-@@ -82,10 +82,15 @@ if __name__ == "__main__":
-                         if outname:
-                             outfile = xopen(outname, "w")
-                             outname = None
-+
-+                        vendor = h[rpm.RPMTAG_VENDOR]
-+                        if vendor != None:
-+                            verdor = vendor.decode('utf-8')
-+
-                         outfile.write("%s %s (%s) %s\n" %
-                                     (path,
-                                      h[rpm.RPMTAG_NEVRA].decode('utf-8'),
--                                     h[rpm.RPMTAG_VENDOR].decode('utf-8'),
-+                                     verdor,
-                                      h[rpm.RPMTAG_INSTALLTIME])
-                                     )
- 
--- 
-2.4.1
-

diff --git a/0016-doc-polkit-Spelling-grammar-fixes.patch b/0016-doc-polkit-Spelling-grammar-fixes.patch
deleted file mode 100644
index ef8b8a4..0000000
--- a/0016-doc-polkit-Spelling-grammar-fixes.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From e3df315b18f833bb44eb8aadeefc2ad932f39f97 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
-Date: Tue, 19 May 2015 09:29:28 +0300
-Subject: [PATCH] doc, polkit: Spelling/grammar fixes
-
----
- doc/design                                           |  6 +++---
- doc/problems-service/org.freedesktop.Problems.xml.in |  4 ++--
- doc/project/abrt.tex                                 | 14 +++++++-------
- src/dbus/abrt_polkit.policy                          |  4 ++--
- 4 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/doc/design b/doc/design
-index a9ce040..f214caf 100644
---- a/doc/design
-+++ b/doc/design
-@@ -37,7 +37,7 @@ to a dedicated server(s) for processing (backtrace, etc).
- 
- 	Design
- 
--Abrt design should be flexible enough to accomodate all
-+Abrt design should be flexible enough to accommodate all
- of the above usage scenarios.
- 
- Since currently we do not know how to dump oops on demand,
-@@ -70,7 +70,7 @@ uses inotify to watch for crashes. Instead the programs which create crashes
- can trigger their initial ("post-create") processing themselves]
- 
- Crashes conceptually go through "events" in their lives.
--Apart from "post-create" event decribed above, they may have
-+Apart from "post-create" event described above, they may have
- "analyze" event, "report[_FOO]" events,
- and arbitrarily-named other events.
- abrt-handle-crashdump tool can be used to "run" an event on a directory,
-@@ -124,7 +124,7 @@ Done:
- * Make abrt-gui start abrtd on demand, so that abrt-gui can be started
-   even if abrtd does not run at the moment.
- * make kerneloops plugin into separate daemon (convert it to a hook
--  and get rid of "cron plugins" which are wrong idea since the begining)
-+  and get rid of "cron plugins" which are wrong idea since the beginning)
- * make C/C++ hook to be started by init script
- * add "include FILE" feature to abrt_event.conf
- 
-diff --git a/doc/problems-service/org.freedesktop.Problems.xml.in b/doc/problems-service/org.freedesktop.Problems.xml.in
-index 118d4b2..b791bdb 100644
---- a/doc/problems-service/org.freedesktop.Problems.xml.in
-+++ b/doc/problems-service/org.freedesktop.Problems.xml.in
-@@ -53,7 +53,7 @@
-                             <varlistentry>
-                                 <term>uid</term>
-                                 <listitem>
--                                    <para>Only a user with root priviledges can pass this field. For all other users the field is filled by caller's uid.</para>
-+                                    <para>Only a user with root privileges can pass this field. For all other users the field is filled by caller's uid.</para>
-                                 </listitem>
-                             </varlistentry>
-                             <varlistentry>
-@@ -309,7 +309,7 @@ for prblmid in problems.GetProblems():
-                 </arg>
- 
-                 <arg type='x' name='timestamp_from' direction='in'>
--                    <tp:docstring>Beginnig of required time range.</tp:docstring>
-+                    <tp:docstring>Beginning of required time range.</tp:docstring>
-                 </arg>
- 
-                 <arg type='x' name='timestamp_to' direction='in'>
-diff --git a/doc/project/abrt.tex b/doc/project/abrt.tex
-index 9e7724e..03b5705 100644
---- a/doc/project/abrt.tex
-+++ b/doc/project/abrt.tex
-@@ -194,7 +194,7 @@ information regarding their interests, involvement.
- {\textbf{Package Maintainers}
-   \nodepart{second} \vspace{-5mm}
-   \begin{itemize} \itemsep1pt \parskip0pt \parsep0pt
--  \item Fixing most frequently occured bugs
-+  \item Fixing most frequently occurred bugs
-   \item Fixing bugs where the bug is well described
-   \end{itemize}
- };
-@@ -265,7 +265,7 @@ Highlight important reports
- In-depth bug fixing
- -------------------
- 
--Collect core-dump for frequently occured reports
-+Collect core-dump for frequently occurred reports
- 
- Retrace coredumps on demand
- 
-@@ -570,7 +570,7 @@ components.
-     Red Hat Bugzilla.
-   \end{description}
- \item[Data Storage] Database and file storage for data required for
--  the analysis, evaluation, adn processing of reports and problems.
-+  the analysis, evaluation, and processing of reports and problems.
-   \begin{description}
-   \item[LLVM bitcode] We store LLVM bitcode of every binary and
-     dynamic library compiled from C/C++ source code.
-@@ -582,8 +582,8 @@ components.
- \begin{tikzpicture}
- \umlclass[x=-4,y=0]{problem}{
- id : PRIMARY KEY \\
--first occurence : TIMESTAMP NOT NULL \\
--last occurence : TIMESTAMP NOT NULL \\
-+first occurrence : TIMESTAMP NOT NULL \\
-+last occurrence : TIMESTAMP NOT NULL \\
- }{}
- 
- \umlclass[x=4,y=-2]{problem report}{
-@@ -616,8 +616,8 @@ Part of reports is populated from $\mu$reports.
- \umlclass[x=-4,y=0]{report}{
- id : PRIMARY KEY AUTOINCREMENT \\
- type : ENUM (USERSPACE, KERNEL, PYTHON, SELINUX) \\
--first occurence : TIMESTAMP \\
--last occurence : TIMESTAMP \\
-+first occurrence : TIMESTAMP \\
-+last occurrence : TIMESTAMP \\
- count : INT \\
- component id : FOREIGN KEY \\
- problem id : FOREIGN KEY
-diff --git a/src/dbus/abrt_polkit.policy b/src/dbus/abrt_polkit.policy
-index a3425d9..2c75233 100644
---- a/src/dbus/abrt_polkit.policy
-+++ b/src/dbus/abrt_polkit.policy
-@@ -17,7 +17,7 @@ Copyright (c) 2012 ABRT Team <crash-catcher@fedorahosted.com>
-   <!-- by default only root can see other users problems -->
-   <action id="org.freedesktop.problems.getall">
-     <description>Get problems from all users</description>
--    <message>Reading others problems requires authentication</message>
-+    <message>Reading other users' problems requires authentication</message>
-     <defaults>
-       <allow_any>auth_admin</allow_any>
-       <allow_active>auth_admin_keep</allow_active>
-@@ -28,7 +28,7 @@ Copyright (c) 2012 ABRT Team <crash-catcher@fedorahosted.com>
-   <!-- by default only root can access configuration  -->
-   <action id="com.redhat.problems.configuration.update">
-     <description>Set value of configuration properties</description>
--    <message>Update configuration values reuquires authentication</message>
-+    <message>Updating configuration values requires authentication</message>
-     <defaults>
-       <allow_any>auth_admin</allow_any>
-       <allow_active>auth_admin_keep</allow_active>
--- 
-2.4.1
-

diff --git a/0018-applet-migrate-Autoreporting-options-to-GSettings.patch b/0018-applet-migrate-Autoreporting-options-to-GSettings.patch
deleted file mode 100644
index db67e55..0000000
--- a/0018-applet-migrate-Autoreporting-options-to-GSettings.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 70b2e6981b667d5cfb31f894527e16f3eeed14c9 Mon Sep 17 00:00:00 2001
-From: Jakub Filak <jfilak@redhat.com>
-Date: Fri, 15 May 2015 14:45:40 +0200
-Subject: [PATCH] applet: migrate Autoreporting options to GSettings
-
-Read the option's value from the app's configuration file, update the
-gnome setting if needed and remove the option from the app's
-configuration file in order to skip the migration at next start.
-
-Related to #966
-
-Signed-off-by: Jakub Filak <jfilak@redhat.com>
----
- src/applet/applet.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 55 insertions(+), 5 deletions(-)
-
-diff --git a/src/applet/applet.c b/src/applet/applet.c
-index 4df69fc..b534839 100644
---- a/src/applet/applet.c
-+++ b/src/applet/applet.c
-@@ -36,6 +36,10 @@
- #include "libabrt.h"
- #include "problem_api.h"
- 
-+#define APP_NAME "abrt-applet"
-+#define GS_SCHEMA_ID_PRIVACY "org.gnome.desktop.privacy"
-+#define GS_PRIVACY_OPT_AUTO_REPORTING "report-technical-problems"
-+
- /* libnotify action keys */
- #define A_REPORT_REPORT "REPORT"
- #define A_RESTART_APPLICATION "RESTART"
-@@ -55,15 +59,60 @@ static bool is_autoreporting_enabled(void)
-     GSettings *settings;
-     gboolean ret;
- 
--    settings = g_settings_new ("org.gnome.desktop.privacy");
--    ret = g_settings_get_boolean (settings, "report-technical-problems");
-+    settings = g_settings_new (GS_SCHEMA_ID_PRIVACY);
-+    ret = g_settings_get_boolean (settings, GS_PRIVACY_OPT_AUTO_REPORTING);
-     g_object_unref (settings);
-     return ret;
- }
- 
-+static void migrate_auto_reporting_to_gsettings(void)
-+{
-+#define OPT_NAME "AutoreportingEnabled"
-+    map_string_t *settings = new_map_string();
-+    if (!load_app_conf_file(APP_NAME, settings))
-+        goto finito;
-+
-+    /* Silently ignore not configured options */
-+    int sv_logmode = logmode;
-+    /* but only if we run in silent mode (no -v on command line) */
-+    logmode = g_verbose == 0 ? 0 : sv_logmode;
-+
-+    int auto_reporting = 0;
-+    int configured = try_get_map_string_item_as_bool(settings, OPT_NAME, &auto_reporting);
-+
-+    logmode = sv_logmode;
-+
-+    if (!configured)
-+        goto finito;
-+
-+    /* Enable the GS option if AutoreportingEnabled is true because the user
-+     * turned the Autoreporting in abrt-applet in a before GS.
-+     *
-+     * Do not disable the GS option if AutoreportingEvent is false because the
-+     * GS option is false by default, thus disabling would revert the user's
-+     * decision to  automatically report technical problems.
-+     */
-+    if (auto_reporting)
-+    {
-+        GSettings *settings = g_settings_new(GS_SCHEMA_ID_PRIVACY);
-+        g_settings_set_boolean(settings, GS_PRIVACY_OPT_AUTO_REPORTING, TRUE);
-+        g_object_unref(settings);
-+    }
-+
-+    remove_map_string_item(settings, OPT_NAME);
-+    save_app_conf_file(APP_NAME, settings);
-+
-+    log("Successfully migrated "APP_NAME":"OPT_NAME" to "GS_SCHEMA_ID_PRIVACY":"GS_PRIVACY_OPT_AUTO_REPORTING);
-+
-+#undef OPT_NAME
-+finito:
-+    free_map_string(settings);
-+    return;
-+}
-+
- static const char *get_autoreport_event_name(void)
- {
--    load_user_settings("abrt-applet");
-+    load_user_settings(APP_NAME);
-     const char *configured = get_user_setting("AutoreportingEvent");
-     return configured ? configured : g_settings_autoreporting_event;
- }
-@@ -554,7 +603,7 @@ static NotifyNotification *new_warn_notification(const char *body)
- 
-     notify_notification_set_urgency(notification, NOTIFY_URGENCY_NORMAL);
-     notify_notification_set_timeout(notification, NOTIFY_EXPIRES_DEFAULT);
--    notify_notification_set_hint(notification, "desktop-entry", g_variant_new_string("abrt-applet"));
-+    notify_notification_set_hint(notification, "desktop-entry", g_variant_new_string(APP_NAME));
- 
-     return notification;
- }
-@@ -1147,13 +1196,14 @@ int main(int argc, char** argv)
-     /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- 
-     migrate_to_xdg_dirs();
-+    migrate_auto_reporting_to_gsettings();
- 
-     export_abrt_envvars(0);
-     msg_prefix = g_progname;
- 
-     load_abrt_conf();
-     load_event_config_data();
--    load_user_settings("abrt-applet");
-+    load_user_settings(APP_NAME);
- 
-     /* Initialize our (dbus_abrt) machinery by filtering
-      * for signals:
--- 
-2.4.1
-

diff --git a/0019-config-UI-read-glade-from-a-local-file-first.patch b/0019-config-UI-read-glade-from-a-local-file-first.patch
deleted file mode 100644
index 4381744..0000000
--- a/0019-config-UI-read-glade-from-a-local-file-first.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From eb1e45a1e8070bee6ba44f325f7dd0ca8900dc77 Mon Sep 17 00:00:00 2001
-From: Jakub Filak <jfilak@redhat.com>
-Date: Sat, 16 May 2015 06:46:17 +0200
-Subject: [PATCH] config UI: read glade from a local file first
-
-If you read the system file first, you won't be able to the application
-from a development directory.
-
-Signed-off-by: Jakub Filak <jfilak@redhat.com>
----
- src/configuration-gui/abrt-config-widget.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/configuration-gui/abrt-config-widget.c b/src/configuration-gui/abrt-config-widget.c
-index 664180d..2c75429 100644
---- a/src/configuration-gui/abrt-config-widget.c
-+++ b/src/configuration-gui/abrt-config-widget.c
-@@ -221,14 +221,14 @@ abrt_config_widget_init(AbrtConfigWidget *self)
-     self->priv->builder = gtk_builder_new();
-     gtk_builder_set_translation_domain(self->priv->builder, GETTEXT_PACKAGE);
- 
--    gtk_builder_add_from_file(self->priv->builder, ABRT_UI_DIR "/" UI_FILE_NAME, &error);
-+    gtk_builder_add_from_file(self->priv->builder, UI_FILE_NAME, &error);
-     if(error != NULL) {
--        g_warning("Failed to load '%s': %s", ABRT_UI_DIR "/" UI_FILE_NAME, error->message);
-+        log_debug("Failed to load '%s': %s", UI_FILE_NAME, error->message);
-         g_error_free(error);
-         error = NULL;
--        gtk_builder_add_from_file(self->priv->builder, UI_FILE_NAME, &error);
-+        gtk_builder_add_from_file(self->priv->builder, ABRT_UI_DIR "/" UI_FILE_NAME, &error);
-         if(error != NULL) {
--            g_warning("Failed to load '%s': %s", UI_FILE_NAME, error->message);
-+            g_warning("Failed to load '%s': %s", ABRT_UI_DIR "/" UI_FILE_NAME, error->message);
-             g_error_free(error);
-             return;
-         }
--- 
-2.4.1
-

diff --git a/0020-config-UI-enable-options-without-config-files.patch b/0020-config-UI-enable-options-without-config-files.patch
deleted file mode 100644
index 5dd83fd..0000000
--- a/0020-config-UI-enable-options-without-config-files.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 5d544028c3dd3f4af9d4da83a4c57d2c05c09014 Mon Sep 17 00:00:00 2001
-From: Jakub Filak <jfilak@redhat.com>
-Date: Sat, 16 May 2015 06:51:09 +0200
-Subject: [PATCH] config UI: enable options without config files
-
-Signed-off-by: Jakub Filak <jfilak@redhat.com>
----
- src/configuration-gui/abrt-config-widget.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/src/configuration-gui/abrt-config-widget.c b/src/configuration-gui/abrt-config-widget.c
-index 2c75429..8bfc269 100644
---- a/src/configuration-gui/abrt-config-widget.c
-+++ b/src/configuration-gui/abrt-config-widget.c
-@@ -175,10 +175,13 @@ on_switch_activate(GObject       *object,
-         GParamSpec     *spec,
-         AbrtConfigWidget *config)
- {
-+    AbrtConfigWidgetOption *option = g_object_get_data(G_OBJECT(object), "abrt-option");
-+    if (option->config == NULL)
-+        return;
-+
-     const gboolean state = gtk_switch_get_active(GTK_SWITCH(object));
-     const char *const val = state ? "yes" : "no";
- 
--    AbrtConfigWidgetOption *option = g_object_get_data(G_OBJECT(object), "abrt-option");
-     log_debug("%s : %s", option->name, val);
-     abrt_app_configuration_set_value(option->config, option->name, val);
-     abrt_app_configuration_save(option->config);
-@@ -191,7 +194,11 @@ update_option_current_value(AbrtConfigWidget *self, enum AbrtOptions opid)
-     assert((opid >= _ABRT_OPT_BEGIN_ && opid < _ABRT_OPT_END_) || !"Out of range Option ID value");
- 
-     AbrtConfigWidgetOption *option = &(self->priv->options[opid]);
--    const char *val = abrt_app_configuration_get_value(option->config, option->name);
-+
-+    const char *val = NULL;
-+    if (option->config != NULL)
-+        val = abrt_app_configuration_get_value(option->config, option->name);
-+
-     option->current_value = val ? string_to_bool(val) : option->default_value;
- }
- 
-@@ -209,6 +216,9 @@ connect_switch_with_option(AbrtConfigWidget *self, enum AbrtOptions opid, const
-     g_object_set_data(G_OBJECT(gsw), "abrt-option", option);
-     g_signal_connect(G_OBJECT(gsw), "notify::active",
-             G_CALLBACK(on_switch_activate), self);
-+
-+    if (option->config == NULL)
-+        gtk_widget_set_sensitive(GTK_WIDGET(gsw), FALSE);
- }
- 
- static void
--- 
-2.4.1
-

diff --git a/0021-config-UI-Automatic-reporting-from-GSettings.patch b/0021-config-UI-Automatic-reporting-from-GSettings.patch
deleted file mode 100644
index 29a8abd..0000000
--- a/0021-config-UI-Automatic-reporting-from-GSettings.patch
+++ /dev/null
@@ -1,602 +0,0 @@
-From abdedafd3a530ad4baa992010a3cfc87645d98d1 Mon Sep 17 00:00:00 2001
-From: Jakub Filak <jfilak@redhat.com>
-Date: Sat, 16 May 2015 06:51:37 +0200
-Subject: [PATCH] config UI: Automatic reporting from GSettings
-
-If Privacy panels exists:
-  Make the widget insensitive because the user can only read its value.
-  Add a button launching Privacy panel.
-Else:
-  Read/write the GSettings and show a warning about modifying the
-  GSettings.
-
-Signed-off-by: Jakub Filak <jfilak@redhat.com>
----
- po/POTFILES.in                                 |   1 +
- src/configuration-gui/abrt-config-widget.c     | 201 +++++++++++++++++++++++--
- src/configuration-gui/abrt-config-widget.glade |  82 ++++------
- 3 files changed, 217 insertions(+), 67 deletions(-)
-
-diff --git a/po/POTFILES.in b/po/POTFILES.in
-index 0da1396..8c31438 100644
---- a/po/POTFILES.in
-+++ b/po/POTFILES.in
-@@ -3,6 +3,7 @@
- # Please keep this file sorted alphabetically.
- src/applet/abrt-applet.desktop.in
- src/applet/applet.c
-+src/configuration-gui/abrt-config-widget.c
- src/configuration-gui/abrt-config-widget.glade
- src/configuration-gui/system-config-abrt.c
- src/configuration-gui/main.c
-diff --git a/src/configuration-gui/abrt-config-widget.c b/src/configuration-gui/abrt-config-widget.c
-index 8bfc269..c9b0b02 100644
---- a/src/configuration-gui/abrt-config-widget.c
-+++ b/src/configuration-gui/abrt-config-widget.c
-@@ -21,6 +21,8 @@
- #endif
- 
- #include "abrt-config-widget.h"
-+#include <satyr/utils.h>
-+#include <gio/gdesktopappinfo.h>
- 
- #include "libabrt.h"
- #include <assert.h>
-@@ -32,19 +34,36 @@
- 
- #define UI_FILE_NAME "abrt-config-widget.glade"
- 
-+/* AbrtConfigWidgetPrivate:
-+ *     + AbrtConfigWidgetOption == "abrt-option" of GtkSwitch
-+ *     + AbrtConfigWidgetOption == "abrt-option" of GtkSwitch
-+ *     + ...
-+ *
-+ *     + AbrtAppConfiguration == config of AbrtConfigWidgetOption
-+ *     + AbrtAppConfiguration == config of AbrtConfigWidgetOption
-+ *     + ...
-+ */
-+
-+/* This structure represents either an ABRT configuration file or a GSettings
-+ * schema.
-+ */
- typedef struct {
--    char *app_name;
--    map_string_t *settings;
-+    char *app_name;             ///< e.g abrt-applet, org.gnome.desktop.privacy
-+    map_string_t *settings;     ///< ABRT configuration file
-+    GSettings *glib_settings;   ///< GSettings
- } AbrtAppConfiguration;
- 
-+/* This structure represents a single switch.
-+ */
- typedef struct {
--    const char *name;
-+    const char *name;           ///< e.g. ask_steal_dir, report-technical-problems
-     GtkSwitch *widget;
-     gboolean default_value;
-     gboolean current_value;
-     AbrtAppConfiguration *config;
- } AbrtConfigWidgetOption;
- 
-+/* Each configuration option has its own number. */
- enum AbrtOptions
- {
-     _ABRT_OPT_BEGIN_,
-@@ -60,11 +79,15 @@ enum AbrtOptions
-     _ABRT_OPT_END_,
- };
- 
-+/* This structure holds private data of AbrtConfigWidget
-+ */
- struct AbrtConfigWidgetPrivate {
-     GtkBuilder   *builder;
-     AbrtAppConfiguration *report_gtk_conf;
-     AbrtAppConfiguration *abrt_applet_conf;
-+    AbrtAppConfiguration *privacy_gsettings;
- 
-+    /* Static array for all switches */
-     AbrtConfigWidgetOption options[_ABRT_OPT_END_];
- };
- 
-@@ -79,6 +102,8 @@ static guint s_signals[SN_LAST_SIGNAL] = { 0 };
- 
- static void abrt_config_widget_finalize(GObject *object);
- 
-+/* New ABRT configuration file wrapper
-+ */
- static AbrtAppConfiguration *
- abrt_app_configuration_new(const char *app_name)
- {
-@@ -86,6 +111,7 @@ abrt_app_configuration_new(const char *app_name)
- 
-     conf->app_name = xstrdup(app_name);
-     conf->settings = new_map_string();
-+    conf->glib_settings = NULL;
- 
-     if(!load_app_conf_file(conf->app_name, conf->settings)) {
-         g_warning("Failed to load config for '%s'", conf->app_name);
-@@ -94,22 +120,50 @@ abrt_app_configuration_new(const char *app_name)
-     return conf;
- }
- 
-+/* New GSettings wrapper
-+ */
-+static AbrtAppConfiguration *
-+abrt_app_configuration_new_glib(const char *schema)
-+{
-+    AbrtAppConfiguration *conf = xmalloc(sizeof(*conf));
-+
-+    conf->app_name = xstrdup(schema);
-+    conf->settings = NULL;
-+    conf->glib_settings = g_settings_new(conf->app_name);
-+
-+    return conf;
-+}
-+
- static void
- abrt_app_configuration_set_value(AbrtAppConfiguration *conf, const char *name, const char *value)
- {
--    set_app_user_setting(conf->settings, name, value);
-+    if (conf->settings)
-+        set_app_user_setting(conf->settings, name, value);
-+    else if (conf->glib_settings)
-+        g_settings_set_boolean(conf->glib_settings, name, string_to_bool(value));
-+    else
-+        assert(!"BUG: not properly initialized AbrtAppConfiguration");
- }
- 
- static const char *
- abrt_app_configuration_get_value(AbrtAppConfiguration *conf, const char *name)
- {
--    return get_app_user_setting(conf->settings, name);
-+    if (conf->settings)
-+        return get_app_user_setting(conf->settings, name);
-+
-+    if (conf->glib_settings)
-+        return g_settings_get_boolean(conf->glib_settings, name) ? "yes" : "no";
-+
-+    assert(!"BUG: not properly initialized AbrtAppConfiguration");
- }
- 
- static void
- abrt_app_configuration_save(AbrtAppConfiguration *conf)
- {
--    save_app_conf_file(conf->app_name, conf->settings);
-+    if (conf->settings)
-+        save_app_conf_file(conf->app_name, conf->settings);
-+
-+    /* No need to save GSettings because changes are applied instantly */
- }
- 
- static void
-@@ -121,8 +175,17 @@ abrt_app_configuration_free(AbrtAppConfiguration *conf)
-     free(conf->app_name);
-     conf->app_name = (void *)0xDEADBEAF;
- 
--    free_map_string(conf->settings);
--    conf->settings = (void *)0xDEADBEAF;
-+    if (conf->settings)
-+    {
-+        free_map_string(conf->settings);
-+        conf->settings = (void *)0xDEADBEAF;
-+    }
-+
-+    if (conf->glib_settings)
-+    {
-+        g_object_unref(conf->glib_settings);
-+        conf->glib_settings = (void *)0xDEADBEAF;
-+    }
- }
- 
- static void
-@@ -161,6 +224,9 @@ abrt_config_widget_finalize(GObject *object)
-     abrt_app_configuration_free(self->priv->abrt_applet_conf);
-     self->priv->abrt_applet_conf = NULL;
- 
-+    abrt_app_configuration_free(self->priv->privacy_gsettings);
-+    self->priv->privacy_gsettings = NULL;
-+
-     G_OBJECT_CLASS(abrt_config_widget_parent_class)->finalize(object);
- }
- 
-@@ -217,8 +283,31 @@ connect_switch_with_option(AbrtConfigWidget *self, enum AbrtOptions opid, const
-     g_signal_connect(G_OBJECT(gsw), "notify::active",
-             G_CALLBACK(on_switch_activate), self);
- 
--    if (option->config == NULL)
--        gtk_widget_set_sensitive(GTK_WIDGET(gsw), FALSE);
-+    /* If the option has no config, make the corresponding insensitive. */
-+    gtk_widget_set_sensitive(GTK_WIDGET(gsw), option->config != NULL);
-+}
-+
-+static void
-+pp_launcher_clicked(GtkButton *launcher, gpointer *unused_data)
-+{
-+    GDesktopAppInfo *app = g_object_get_data(G_OBJECT(launcher), "launched-app");
-+    GError *err = NULL;
-+    if (!g_app_info_launch(G_APP_INFO(app), NULL, NULL, &err))
-+    {
-+        perror_msg("Could not launch '%s': %s",
-+                g_desktop_app_info_get_filename(G_DESKTOP_APP_INFO (app)),
-+                err->message);
-+    }
-+}
-+
-+static void
-+os_release_callback(char *key, char *value, void *data)
-+{
-+    if (strcmp(key, "PRIVACY_POLICY") == 0)
-+        *(char **)data = value;
-+    else
-+        free(value);
-+    free(key);
- }
- 
- static void
-@@ -249,6 +338,7 @@ abrt_config_widget_init(AbrtConfigWidget *self)
- 
-     self->priv->report_gtk_conf = abrt_app_configuration_new("report-gtk");
-     self->priv->abrt_applet_conf = abrt_app_configuration_new("abrt-applet");
-+    self->priv->privacy_gsettings = abrt_app_configuration_new_glib("org.gnome.desktop.privacy");
- 
-     /* Initialize options */
-     /* report-gtk */
-@@ -259,15 +349,98 @@ abrt_config_widget_init(AbrtConfigWidget *self)
-     self->priv->options[ABRT_OPT_UPLOAD_COREDUMP].name = "abrt_analyze_smart_ask_upload_coredump";
-     self->priv->options[ABRT_OPT_UPLOAD_COREDUMP].default_value = TRUE;
-     self->priv->options[ABRT_OPT_UPLOAD_COREDUMP].config = self->priv->report_gtk_conf;
--
-     self->priv->options[ABRT_OPT_PRIVATE_TICKET].name = CREATE_PRIVATE_TICKET;
-     self->priv->options[ABRT_OPT_PRIVATE_TICKET].default_value = FALSE;
-     self->priv->options[ABRT_OPT_PRIVATE_TICKET].config = self->priv->report_gtk_conf;
- 
-     /* abrt-applet */
--    self->priv->options[ABRT_OPT_SEND_UREPORT].name = "AutoreportingEnabled";
--    self->priv->options[ABRT_OPT_SEND_UREPORT].default_value = g_settings_autoreporting;
--    self->priv->options[ABRT_OPT_SEND_UREPORT].config = self->priv->abrt_applet_conf;
-+    self->priv->options[ABRT_OPT_SEND_UREPORT].name = "report-technical-problems";
-+    self->priv->options[ABRT_OPT_SEND_UREPORT].default_value =
-+            string_to_bool(abrt_app_configuration_get_value(self->priv->privacy_gsettings,
-+                                                            "report-technical-problems"));
-+    {
-+        /* Get the container widget for the lauch button and warnings */
-+        GtkWidget *hbox_auto_reporting = WID("hbox_auto_reporting");
-+        assert(hbox_auto_reporting);
-+
-+        /* Be able to use another desktop file while debugging */
-+        const char *gpp_app = getenv("ABRT_PRIVACY_APP_DESKTOP");
-+        if (gpp_app == NULL)
-+            gpp_app = "gnome-privacy-panel.desktop";
-+
-+        GDesktopAppInfo *app = g_desktop_app_info_new(gpp_app);
-+        char *message = NULL;
-+        char *markup = NULL;
-+        if (!app)
-+        {
-+            /* Make the switch editable */
-+            self->priv->options[ABRT_OPT_SEND_UREPORT].config = self->priv->privacy_gsettings;
-+
-+            char *os_release = xmalloc_open_read_close("/etc/os-release", /*no size limit*/NULL);
-+            char *privacy_policy = NULL;
-+
-+            /* Try to get the value of PRIVACY_POLICY from /etc/os-release */
-+            sr_parse_os_release(os_release, os_release_callback, (void *)&privacy_policy);
-+
-+            message = xasprintf(_("The configuration option above has been moved to GSettings and "
-+                                  "the switch is linked to the value of the setting 'report-technical-problems' "
-+                                  "from the schema 'org.gnome.desktop.privacy'."));
-+
-+            /* Do not add Privacy Policy link if /etc/os-release does not contain PRIVACY_POLICY */
-+            if (privacy_policy != NULL)
-+                markup = xasprintf("<i>%s</i>\n\n<a href=\"%s\">Privacy Policy</a>", message, privacy_policy);
-+            else
-+                markup = xasprintf("<i>%s</i>", message);
-+
-+            free(privacy_policy);
-+            free(os_release);
-+        }
-+        else
-+        {
-+            /* Make the switch read-only */
-+            self->priv->options[ABRT_OPT_SEND_UREPORT].config = NULL;
-+
-+            message = xasprintf(_("The configuration option above can be configured in"));
-+            markup = xasprintf("<i>%s</i>", message);
-+
-+            GtkWidget *launcher = gtk_button_new_with_label(g_app_info_get_display_name(G_APP_INFO(app)));
-+
-+            /* Here we could pass the launcher to pp_launcher_clicked() as the
-+             * 4th argument of g_signal_connect() but we would leek the
-+             * launcher's memory. Therefore we need to find a way how to free
-+             * the launcher when it is not needed anymore. GtkWidget inherits
-+             * from GObject which offers a functionality for attaching an
-+             * arbitrary data to its instances. The last argument is a function
-+             * called to destroy the arbirarty data when the instance is being
-+             * destoryed. */
-+            g_object_set_data_full(G_OBJECT(launcher), "launched-app", app, g_object_unref);
-+            g_signal_connect(launcher, "clicked", G_CALLBACK(pp_launcher_clicked), NULL);
-+
-+            /* Make the launcher button narrow, otherwise it would expand to
-+             * the width of the warninig. */
-+            gtk_widget_set_hexpand(launcher, FALSE);
-+            gtk_widget_set_vexpand(launcher, FALSE);
-+
-+            /* Make the launcher button alligned on center of the warning. */
-+            gtk_widget_set_halign(launcher, GTK_ALIGN_CENTER);
-+            gtk_widget_set_valign(launcher, GTK_ALIGN_CENTER);
-+
-+            gtk_box_pack_end(GTK_BOX(hbox_auto_reporting), launcher, false, false, 0);
-+        }
-+
-+
-+        GtkWidget *lbl = gtk_label_new(message);
-+        gtk_label_set_markup(GTK_LABEL(lbl), markup);
-+        /* Do not expand the window by too long warning. */
-+        gtk_label_set_line_wrap(GTK_LABEL(lbl), TRUE);
-+        /* Let users to copy the warning. */
-+        gtk_label_set_selectable(GTK_LABEL(lbl), TRUE);
-+
-+        free(markup);
-+        free(message);
-+
-+        gtk_box_pack_start(GTK_BOX(hbox_auto_reporting), lbl, false, false, 0);
-+    }
- 
-     self->priv->options[ABRT_OPT_SHORTENED_REPORTING].name = "ShortenedReporting";
-     self->priv->options[ABRT_OPT_SHORTENED_REPORTING].default_value = g_settings_shortenedreporting;
-diff --git a/src/configuration-gui/abrt-config-widget.glade b/src/configuration-gui/abrt-config-widget.glade
-index 3aa566c..7f613c7 100644
---- a/src/configuration-gui/abrt-config-widget.glade
-+++ b/src/configuration-gui/abrt-config-widget.glade
-@@ -1,6 +1,7 @@
- <?xml version="1.0" encoding="UTF-8"?>
-+<!-- Generated with glade 3.18.3 -->
- <interface>
--  <!-- interface-requires gtk+ 3.0 -->
-+  <requires lib="gtk+" version="3.0"/>
-   <object class="GtkWindow" id="window1">
-     <property name="can_focus">False</property>
-     <child>
-@@ -11,7 +12,6 @@
-         <property name="margin_right">10</property>
-         <property name="margin_top">10</property>
-         <property name="margin_bottom">10</property>
--        <property name="row_homogeneous">True</property>
-         <child>
-           <object class="GtkLabel" id="label2">
-             <property name="visible">True</property>
-@@ -26,8 +26,6 @@
-           <packing>
-             <property name="left_attach">0</property>
-             <property name="top_attach">1</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -44,8 +42,6 @@
-           <packing>
-             <property name="left_attach">0</property>
-             <property name="top_attach">3</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -59,8 +55,6 @@
-           <packing>
-             <property name="left_attach">1</property>
-             <property name="top_attach">0</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -74,13 +68,12 @@
-           <packing>
-             <property name="left_attach">1</property>
-             <property name="top_attach">1</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-           <object class="GtkSwitch" id="switch_send_ureport">
-             <property name="visible">True</property>
-+            <property name="sensitive">False</property>
-             <property name="can_focus">True</property>
-             <property name="halign">end</property>
-             <property name="valign">center</property>
-@@ -89,8 +82,6 @@
-           <packing>
-             <property name="left_attach">1</property>
-             <property name="top_attach">3</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -106,9 +97,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">0</property>
--            <property name="top_attach">4</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">5</property>
-           </packing>
-         </child>
-         <child>
-@@ -121,9 +110,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">1</property>
--            <property name="top_attach">4</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">5</property>
-           </packing>
-         </child>
-         <child>
-@@ -136,9 +123,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">1</property>
--            <property name="top_attach">5</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">6</property>
-           </packing>
-         </child>
-         <child>
-@@ -154,9 +139,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">0</property>
--            <property name="top_attach">5</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">6</property>
-           </packing>
-         </child>
-         <child>
-@@ -172,8 +155,6 @@
-           <packing>
-             <property name="left_attach">2</property>
-             <property name="top_attach">0</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -188,8 +169,6 @@
-           <packing>
-             <property name="left_attach">2</property>
-             <property name="top_attach">1</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -204,8 +183,6 @@
-           <packing>
-             <property name="left_attach">2</property>
-             <property name="top_attach">3</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -219,9 +196,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">2</property>
--            <property name="top_attach">4</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">5</property>
-           </packing>
-         </child>
-         <child>
-@@ -235,9 +210,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">2</property>
--            <property name="top_attach">5</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">6</property>
-           </packing>
-         </child>
-         <child>
-@@ -254,8 +227,6 @@
-           <packing>
-             <property name="left_attach">0</property>
-             <property name="top_attach">0</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -270,8 +241,6 @@
-           <packing>
-             <property name="left_attach">2</property>
-             <property name="top_attach">2</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -286,8 +255,6 @@
-           <packing>
-             <property name="left_attach">0</property>
-             <property name="top_attach">2</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -301,8 +268,6 @@
-           <packing>
-             <property name="left_attach">1</property>
-             <property name="top_attach">2</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-           </packing>
-         </child>
-         <child>
-@@ -316,9 +281,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">0</property>
--            <property name="top_attach">6</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">7</property>
-           </packing>
-         </child>
-         <child>
-@@ -331,9 +294,7 @@
-           </object>
-           <packing>
-             <property name="left_attach">1</property>
--            <property name="top_attach">6</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">7</property>
-           </packing>
-         </child>
-         <child>
-@@ -347,11 +308,26 @@
-           </object>
-           <packing>
-             <property name="left_attach">2</property>
--            <property name="top_attach">6</property>
--            <property name="width">1</property>
--            <property name="height">1</property>
-+            <property name="top_attach">7</property>
-           </packing>
-         </child>
-+        <child>
-+          <object class="GtkBox" id="hbox_auto_reporting">
-+            <property name="visible">True</property>
-+            <property name="can_focus">False</property>
-+            <child>
-+              <placeholder/>
-+            </child>
-+          </object>
-+          <packing>
-+            <property name="left_attach">0</property>
-+            <property name="top_attach">4</property>
-+            <property name="width">2</property>
-+          </packing>
-+        </child>
-+        <child>
-+          <placeholder/>
-+        </child>
-       </object>
-     </child>
-   </object>
--- 
-2.4.1
-

diff --git a/abrt.spec b/abrt.spec
index 011013a..73805a5 100644
--- a/abrt.spec
+++ b/abrt.spec
@@ -21,6 +21,9 @@
     %endif
 %endif
 
+# build abrt-atomic subpackage
+%bcond_without atomic
+
 %ifarch aarch64
 %define have_kexec_tools 0
 %else
@@ -40,13 +43,13 @@
     %define docdirversion -%{version}
 %endif
 
-%define libreport_ver 2.5.1
-%define satyr_ver 0.16
+%define libreport_ver 2.6.0
+%define satyr_ver 0.18
 
 Summary: Automatic bug detection and reporting tool
 Name: abrt
-Version: 2.5.1
-Release: 3%{?dist}
+Version: 2.6.0
+Release: 1%{?dist}
 License: GPLv2+
 Group: Applications/System
 URL: https://github.com/abrt/abrt/wiki/ABRT-Project
@@ -56,28 +59,6 @@ Patch0: disable-OpenGPGCheck-in-Fedora-Rawhide.patch
 
 # git format-patch %%{Version} --topo-order -N -M;
 # i=1; for p in `ls 0*.patch`; do printf "Patch%04d: %s\n" $i $p; ((i++)); done
-#Patch0001: 0001-testsuite-grab-beakerlib-stored-log-files-from-var-t.patch
-#Patch0002: 0002-testsuite-add-the-machineid-test-case-to-rhel6.patch
-#Patch0003: 0003-testsuite-add-test-for-abrt-cli-report-via-reporter-.patch
-Patch0004: 0004-applet-switch-to-D-Bus-methods.patch
-Patch0005: 0005-lib-add-new-kernel-taint-flags.patch
-Patch0006: 0006-upload-validate-and-sanitize-uploaded-dump-directori.patch
-#Patch0007: 0007-testsuite-don-t-run-whole-test-if-reporter-mantisbt-.patch
-Patch0008: 0008-a-a-s-p-d-add-new-known-interpreter-to-conf-file.patch
-#Patch0009: 0009-abrt-detect-DumpLocation-from-abrt.conf-instead-of-u.patch
-Patch0010: 0010-applet-fix-problem-info-double-free.patch
-Patch0011: 0011-cli-do-not-exit-with-segfault-if-dbus-fails.patch
-#Patch0012: 0012-spec-add-a-dependency-on-abrt-dbus-to-abrt-cli.patch
-Patch0013: 0013-abrt-auto-reporting-require-rhtsupport.conf-file-onl.patch
-#Patch0014: 0014-spec-add-AUTHENTICATED_AUTOREPORTING-conditional.patch
-Patch0015: 0015-abrt-action-list-dsos-do-not-decode-not-existing-obj.patch
-Patch0016: 0016-doc-polkit-Spelling-grammar-fixes.patch
-#Patch0017: 0017-testsuite-add-new-version-of-python-interpreters.patch
-Patch0018: 0018-applet-migrate-Autoreporting-options-to-GSettings.patch
-Patch0019: 0019-config-UI-read-glade-from-a-local-file-first.patch
-Patch0020: 0020-config-UI-enable-options-without-config-files.patch
-Patch0021: 0021-config-UI-Automatic-reporting-from-GSettings.patch
-#Patch0022: 0022-testsuite-test-safeness-of-creating-user-cores.patch
 
 # '%%autosetup -S git' -> git
 BuildRequires: git
@@ -104,6 +85,7 @@ BuildRequires: satyr-devel >= %{satyr_ver}
 BuildRequires: systemd-python
 BuildRequires: systemd-python3
 BuildRequires: augeas
+BuildRequires: libselinux-devel
 
 Requires: libreport >= %{libreport_ver}
 Requires: satyr >= %{satyr_ver}
@@ -391,11 +373,13 @@ Provides: bug-buddy = 2.28.0
 Virtual package to install all necessary packages for usage from desktop
 environment.
 
+%if %{with atomic}
 %package atomic
 Summary: Package to make easy default installation on Atomic hosts
 Group: Applications/System
 Requires: %{name}-addon-coredump-helper = %{version}-%{release}
 Conflicts: %{name}-addon-ccpp
+%endif
 
 %description atomic
 Package to install all necessary packages for usage from Atomic
@@ -418,6 +402,7 @@ Summary: ABRT Python API
 Group: System Environment/Libraries
 Requires: %{name} = %{version}-%{release}
 Requires: %{name}-libs = %{version}-%{release}
+Requires: %{name}-dbus = %{version}-%{release}
 Requires: pygobject2
 Requires: dbus-python
 Requires: libreport-python
@@ -445,6 +430,7 @@ Summary: ABRT Python 3 API
 Group: System Environment/Libraries
 Requires: %{name} = %{version}-%{release}
 Requires: %{name}-libs = %{version}-%{release}
+Requires: %{name}-dbus = %{version}-%{release}
 Requires: pygobject3
 Requires: python3-dbus
 Requires: libreport-python3
@@ -493,6 +479,9 @@ CFLAGS="%{optflags} -Werror" %configure --enable-doxygen-docs \
 %ifnarch arm armhfp armv7hl armv7l aarch64
                                         --enable-native-unwinder \
 %endif
+%if %{without atomic}
+                                        --without-atomic \
+%endif
 %if %{?have_kexec_tools} == 0
                                         --disable-addon-vmcore \
 %endif
@@ -520,7 +509,7 @@ find $RPM_BUILD_ROOT -name '*.la' -or -name '*.a' | xargs rm -f
 mkdir -p ${RPM_BUILD_ROOT}/%{_initrddir}
 mkdir -p $RPM_BUILD_ROOT/var/cache/abrt-di
 mkdir -p $RPM_BUILD_ROOT/var/run/abrt
-mkdir -p $RPM_BUILD_ROOT/var/tmp/abrt
+mkdir -p $RPM_BUILD_ROOT/var/spool/abrt
 mkdir -p $RPM_BUILD_ROOT/var/spool/abrt-upload
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/abrt
 
@@ -627,6 +616,7 @@ chown -R abrt:abrt %{_localstatedir}/cache/abrt-di
 # update icon cache
 touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
 
+%if %{with atomic}
 %post atomic
 if [ -f /etc/abrt/plugins/CCpp.conf ]; then
     mv /etc/abrt/plugins/CCpp.conf /etc/abrt/plugins/CCpp.conf.rpmsave.atomic || exit 1;
@@ -654,6 +644,7 @@ fi
 
 %postun atomic
 %systemd_postun_with_restart abrt-coredump-helper.service
+%endif
 
 %post libs -p /sbin/ldconfig
 
@@ -700,6 +691,11 @@ service abrt-upload-watch condrestart >/dev/null 2>&1 || :
 %posttrans gui
 gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
+%posttrans dbus
+# Force abrt-dbus to restart like we do with the other services
+killall abrt-dbus >/dev/null 2>&1 || :
+
+
 %files -f %{name}.lang
 %defattr(-,root,root,-)
 %doc README COPYING
@@ -736,7 +732,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_mandir}/man5/abrt_event.conf.5.gz
 %config(noreplace) %{_sysconfdir}/libreport/events.d/smart_event.conf
 %{_mandir}/man5/smart_event.conf.5.gz
-%dir %attr(0751, abrt, abrt) %{_localstatedir}/tmp/%{name}
+%dir %attr(0751, abrt, abrt) %{_localstatedir}/spool/%{name}
 %dir %attr(0700, abrt, abrt) %{_localstatedir}/spool/%{name}-upload
 # abrtd runs as root
 %dir %attr(0755, root, root) %{_localstatedir}/run/%{name}
@@ -987,6 +983,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %files desktop
 %defattr(-,root,root,-)
 
+%if %{with atomic}
 %files atomic
 %defattr(-,root,root,-)
 %config(noreplace) %{_sysconfdir}/%{name}/plugins/CCpp_Atomic.conf
@@ -996,6 +993,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_bindir}/abrt-action-save-package-data
 %{_mandir}/man1/abrt-action-save-package-data.1.gz
 %{_mandir}/man5/abrt-action-save-package-data.conf.5.gz
+%endif
 
 %files plugin-bodhi
 %defattr(-,root,root,-)
@@ -1045,8 +1043,24 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh
 
 %changelog
+* Tue Jun 09 2015 Jakub Filak <jfilak@redhat.com> 2.6.0-1
+- move the default dump location to /var/spool/abrt from /var/tmp/abrt
+- hooks: use root for owner of all dump directories
+- ccpp: do not unlink failed and big user cores
+- ccpp: don't save the system logs by default
+- ccpp: stop reading hs_error.log from /tmp
+- ccpp: emulate selinux for creation of compat cores
+- koops: don't save dmesg if kernel.dmesg_restrict=1
+- dbus: validate passed arguments
+- turn off exploring crashed process's root directories
+- abrt-python: bug fixes and improvements
+- fixes for CVE-2015-3315, CVE-2015-3142, CVE-2015-1869, CVE-2015-1870
+- fixes for CVE-2015-3147, CVE-2015-3151, CVE-2015-3150, CVE-2015-3159
+- spec: add abrt-dbus to Rs of abrt-python and abrt-cli
+- spec: restart abrt-dbus in posttrans
+
 * Wed May 20 2015 Matej Habrnal <mhabrnal@redhat.com> 2.5.1-3
-- applet: switch to D-Bus methods
+- applet: fix problem info double free
 - upload: validate and sanitize uploaded dump directories
 - applet: switch to D-Bus methods
 - lib: add new kernel taint flags

diff --git a/sources b/sources
index c611641..13cafef 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d24b5f4e4826a0832e6a21e6b0864c2e  abrt-2.5.1.tar.gz
+b764d6a2a12aaae8cbab3fb7fbe37089  abrt-2.6.0.tar.gz

                 reply	other threads:[~2026-08-03 11:04 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178575506544.1.12049149270546597187.rpms-abrt-a8bf279ba20b@fedoraproject.org \
    --to=jfilak@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox