public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Matej Marusak <mmarusak@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/abrt] update-2.17.9-f44: Update to work with new glib
Date: Mon, 03 Aug 2026 11:05:04 GMT [thread overview]
Message-ID: <178575510403.1.9904635782653790800.rpms-abrt-895d07662461@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/abrt
Branch : update-2.17.9-f44
Commit : 895d076624616454a8e0061f72bf3dcb1a36d00d
Author : Matej Marusak <mmarusak@redhat.com>
Date : 2019-01-08T14:46:39+01:00
Stats : +306/-1 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/abrt/c/895d076624616454a8e0061f72bf3dcb1a36d00d?branch=update-2.17.9-f44
Log:
Update to work with new glib
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
---
diff --git a/0001-dbus-task-Use-modern-GLib-type-macros.patch b/0001-dbus-task-Use-modern-GLib-type-macros.patch
new file mode 100644
index 0000000..f188eeb
--- /dev/null
+++ b/0001-dbus-task-Use-modern-GLib-type-macros.patch
@@ -0,0 +1,299 @@
+From 21bdee77727417b6b16feed7b466953873319b58 Mon Sep 17 00:00:00 2001
+From: Ernestas Kulik <ekulik@redhat.com>
+Date: Tue, 8 Jan 2019 14:26:15 +0100
+Subject: [PATCH] dbus: task: Use modern GLib type macros
+
+Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
+---
+ src/dbus/abrt_problems2_task.c | 111 ++++++++++++++++++++++++---------
+ src/dbus/abrt_problems2_task.h | 26 +-------
+ 2 files changed, 82 insertions(+), 55 deletions(-)
+
+diff --git a/src/dbus/abrt_problems2_task.c b/src/dbus/abrt_problems2_task.c
+index f40381f6..cba6b469 100644
+--- a/src/dbus/abrt_problems2_task.c
++++ b/src/dbus/abrt_problems2_task.c
+@@ -25,6 +25,15 @@ enum {
+
+ static guint s_signals[SN_LAST_SIGNAL] = { 0 };
+
++struct _AbrtP2TaskPrivate
++{
++ gint32 p2t_status;
++ GVariant *p2t_details;
++ GVariant *p2t_results;
++ gint32 p2t_code;
++ GCancellable *p2t_cancellable;
++};
++
+ G_DEFINE_TYPE_WITH_PRIVATE(AbrtP2Task, abrt_p2_task, G_TYPE_OBJECT)
+
+ static void abrt_p2_task_finalize(GObject *gobject)
+@@ -74,17 +83,24 @@ static void abrt_p2_task_class_init(AbrtP2TaskClass *klass)
+
+ static void abrt_p2_task_init(AbrtP2Task *self)
+ {
+- self->pv = abrt_p2_task_get_instance_private(self);
+- self->pv->p2t_details = g_variant_new("a{sv}", NULL);
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(self);
++
++ pv->p2t_details = g_variant_new("a{sv}", NULL);
+ }
+
+ static void abrt_p2_task_change_status(AbrtP2Task *task,
+ AbrtP2TaskStatus status)
+ {
+- if (task->pv->p2t_status == status)
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ if (pv->p2t_status == status)
+ return;
+
+- task->pv->p2t_status = status;
++ pv->p2t_status = status;
+
+ g_signal_emit(task,
+ s_signals[SN_STATUS_CHANGED],
+@@ -94,53 +110,77 @@ static void abrt_p2_task_change_status(AbrtP2Task *task,
+
+ AbrtP2TaskStatus abrt_p2_task_status(AbrtP2Task *task)
+ {
+- return task->pv->p2t_status;
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ return pv->p2t_status;
+ }
+
+ GVariant *abrt_p2_task_details(AbrtP2Task *task)
+ {
+- return g_variant_ref(task->pv->p2t_details);
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ return g_variant_ref(pv->p2t_details);
+ }
+
+ void abrt_p2_task_add_detail(AbrtP2Task *task,
+ const char *key,
+ GVariant *value)
+ {
++ AbrtP2TaskPrivate *pv;
+ GVariantDict dict;
+- g_variant_dict_init(&dict, task->pv->p2t_details);
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ g_variant_dict_init(&dict, pv->p2t_details);
+ g_variant_dict_insert(&dict, key, "v", value);
+
+- if (task->pv->p2t_details)
+- g_variant_unref(task->pv->p2t_details);
++ if (pv->p2t_details)
++ g_variant_unref(pv->p2t_details);
+
+- task->pv->p2t_details = g_variant_dict_end(&dict);
++ pv->p2t_details = g_variant_dict_end(&dict);
+ }
+
+ void abrt_p2_task_set_response(AbrtP2Task *task,
+ GVariant *response)
+ {
+- if (task->pv->p2t_results != NULL)
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ if (pv->p2t_results != NULL)
+ log_warning("Task already has response assigned");
+
+- task->pv->p2t_results = response;
++ pv->p2t_results = response;
+ }
+
+ bool abrt_p2_task_is_cancelled(AbrtP2Task *task)
+ {
+- return (task->pv->p2t_cancellable
+- && g_cancellable_is_cancelled(task->pv->p2t_cancellable))
+- || task->pv->p2t_status == ABRT_P2_TASK_STATUS_CANCELED;
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ return (pv->p2t_cancellable
++ && g_cancellable_is_cancelled(pv->p2t_cancellable))
++ || pv->p2t_status == ABRT_P2_TASK_STATUS_CANCELED;
+ }
+
+ void abrt_p2_task_cancel(AbrtP2Task *task,
+ GError **error)
+ {
++ AbrtP2TaskPrivate *pv;
++
+ if (abrt_p2_task_is_cancelled(task))
+ return;
+
+- if (task->pv->p2t_status == ABRT_P2_TASK_STATUS_RUNNING)
+- g_cancellable_cancel(task->pv->p2t_cancellable);
+- else if (task->pv->p2t_status == ABRT_P2_TASK_STATUS_STOPPED)
++ pv = abrt_p2_task_get_instance_private(task);
++
++ if (pv->p2t_status == ABRT_P2_TASK_STATUS_RUNNING)
++ g_cancellable_cancel(pv->p2t_cancellable);
++ else if (pv->p2t_status == ABRT_P2_TASK_STATUS_STOPPED)
+ {
+ ABRT_P2_TASK_VIRTUAL_CANCEL(task, error);
+
+@@ -157,8 +197,12 @@ void abrt_p2_task_finish(AbrtP2Task *task,
+ gint32 *code,
+ GError **error)
+ {
+- if ( task->pv->p2t_status != ABRT_P2_TASK_STATUS_DONE
+- && task->pv->p2t_status != ABRT_P2_TASK_STATUS_FAILED)
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ if ( pv->p2t_status != ABRT_P2_TASK_STATUS_DONE
++ && pv->p2t_status != ABRT_P2_TASK_STATUS_FAILED)
+ {
+ g_set_error(error, G_DBUS_ERROR, G_DBUS_ERROR_FAILED,
+ "Cannot finalize undone task");
+@@ -170,12 +214,12 @@ void abrt_p2_task_finish(AbrtP2Task *task,
+ if (*error != NULL)
+ return;
+
+- if (task->pv->p2t_results)
+- *result = g_variant_ref(task->pv->p2t_results);
++ if (pv->p2t_results)
++ *result = g_variant_ref(pv->p2t_results);
+ else
+ *result = g_variant_new("a{sv}", NULL);
+
+- *code = task->pv->p2t_code;
++ *code = pv->p2t_code;
+ }
+
+ static void abrt_p2_task_finish_gtask(GObject *source_object,
+@@ -183,6 +227,7 @@ static void abrt_p2_task_finish_gtask(GObject *source_object,
+ gpointer user_data)
+ {
+ AbrtP2Task *task = ABRT_P2_TASK(source_object);
++ AbrtP2TaskPrivate *pv;
+
+ if (!g_task_is_valid(result, task))
+ {
+@@ -190,6 +235,8 @@ static void abrt_p2_task_finish_gtask(GObject *source_object,
+ return;
+ }
+
++ pv = abrt_p2_task_get_instance_private(task);
++
+ GError *error = NULL;
+ const gint32 code = g_task_propagate_int(G_TASK(result), &error);
+
+@@ -203,7 +250,7 @@ static void abrt_p2_task_finish_gtask(GObject *source_object,
+ {
+ log_debug("Task done");
+
+- task->pv->p2t_code = code - ABRT_P2_TASK_CODE_DONE;
++ pv->p2t_code = code - ABRT_P2_TASK_CODE_DONE;
+ abrt_p2_task_change_status(task, ABRT_P2_TASK_STATUS_DONE);
+ }
+ else if (abrt_p2_task_is_cancelled(task))
+@@ -263,8 +310,8 @@ static void abrt_p2_task_finish_gtask(GObject *source_object,
+ abrt_p2_task_change_status(task, ABRT_P2_TASK_STATUS_FAILED);
+ }
+
+- g_object_unref(task->pv->p2t_cancellable);
+- task->pv->p2t_cancellable = NULL;
++ g_object_unref(pv->p2t_cancellable);
++ pv->p2t_cancellable = NULL;
+ }
+
+ static void abrt_p2_task_thread(GTask *task,
+@@ -289,8 +336,12 @@ void abrt_p2_task_start(AbrtP2Task *task,
+ GVariant *options,
+ GError **error)
+ {
+- if ( task->pv->p2t_status != ABRT_P2_TASK_STATUS_NEW
+- && task->pv->p2t_status != ABRT_P2_TASK_STATUS_STOPPED)
++ AbrtP2TaskPrivate *pv;
++
++ pv = abrt_p2_task_get_instance_private(task);
++
++ if ( pv->p2t_status != ABRT_P2_TASK_STATUS_NEW
++ && pv->p2t_status != ABRT_P2_TASK_STATUS_STOPPED)
+ {
+ g_set_error(error, G_DBUS_ERROR, G_DBUS_ERROR_FAILED,
+ "Cannot start task that is not new or stopped");
+@@ -302,9 +353,9 @@ void abrt_p2_task_start(AbrtP2Task *task,
+ if (*error != NULL)
+ return;
+
+- task->pv->p2t_cancellable = g_cancellable_new();
++ pv->p2t_cancellable = g_cancellable_new();
+ GTask *gtask = g_task_new(task,
+- task->pv->p2t_cancellable,
++ pv->p2t_cancellable,
+ abrt_p2_task_finish_gtask,
+ NULL);
+
+diff --git a/src/dbus/abrt_problems2_task.h b/src/dbus/abrt_problems2_task.h
+index 71f765d9..717af47b 100644
+--- a/src/dbus/abrt_problems2_task.h
++++ b/src/dbus/abrt_problems2_task.h
+@@ -45,21 +45,12 @@ G_BEGIN_DECLS
+ GType abrt_p2_task_get_type (void);
+
+ #define ABRT_TYPE_P2_TASK (abrt_p2_task_get_type ())
+-#define ABRT_P2_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ABRT_TYPE_P2_TASK, AbrtP2Task))
+-#define ABRT_P2_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ABRT_TYPE_P2_TASK, AbrtP2TaskClass))
+-#define ABRT_IS_P2_TASK(obj)(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ABRT_TYPE_P2_TASK))
+-#define ABRT_IS_P2_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ABRT_TYPE_P2_TASK))
+-#define ABRT_P2_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ABRT_TYPE_P2_TASK, AbrtP2TaskClass))
++G_DECLARE_DERIVABLE_TYPE(AbrtP2Task, abrt_p2_task, ABRT, P2_TASK, GObject)
+
+ typedef struct _AbrtP2Task AbrtP2Task;
+ typedef struct _AbrtP2TaskClass AbrtP2TaskClass;
+ typedef struct _AbrtP2TaskPrivate AbrtP2TaskPrivate;
+
+-static inline void glib_autoptr_cleanup_AbrtP2Task(AbrtP2Task **task)
+-{
+- glib_autoptr_cleanup_GObject((GObject **)task);
+-}
+-
+ typedef enum {
+ ABRT_P2_TASK_STATUS_NEW,
+ ABRT_P2_TASK_STATUS_RUNNING,
+@@ -96,21 +87,6 @@ struct _AbrtP2TaskClass
+ gpointer padding[12];
+ };
+
+-struct _AbrtP2TaskPrivate
+-{
+- gint32 p2t_status;
+- GVariant *p2t_details;
+- GVariant *p2t_results;
+- gint32 p2t_code;
+- GCancellable *p2t_cancellable;
+-};
+-
+-struct _AbrtP2Task
+-{
+- GObject parent_instance;
+- AbrtP2TaskPrivate *pv;
+-};
+-
+ AbrtP2TaskStatus abrt_p2_task_status(AbrtP2Task *task);
+
+ /* Returns task details in form of key-value entries.
+--
+2.20.1
+
diff --git a/abrt.spec b/abrt.spec
index 2d39a36..7fb2611 100644
--- a/abrt.spec
+++ b/abrt.spec
@@ -53,10 +53,13 @@
Summary: Automatic bug detection and reporting tool
Name: abrt
Version: 2.11.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
URL: https://abrt.readthedocs.org/
Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
+# With new glib it is not possible to build in rawhide
+# https://github.com/abrt/abrt/commit/21bdee7
+Patch0: 0001-dbus-task-Use-modern-GLib-type-macros.patch
BuildRequires: %{dbus_devel}
BuildRequires: hostname
BuildRequires: gtk3-devel
@@ -1239,6 +1242,9 @@ killall abrt-dbus >/dev/null 2>&1 || :
%config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh
%changelog
+* Tue Jan 08 2019 Matej Marusak <mmarusak@redhat.com> 2.11.1-2
+- dbus: task: Use modern GLib type macros
+
* Tue Jan 08 2019 Matej Marusak <mmarusak@redhat.com> 2.11.1-1
- Translation updates
- a-a-install-debuginfo: Clean cache if we need space
reply other threads:[~2026-08-03 11:05 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=178575510403.1.9904635782653790800.rpms-abrt-895d07662461@fedoraproject.org \
--to=mmarusak@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