1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
|
diff --git a/lib/gs-fedora-third-party.c b/lib/gs-fedora-third-party.c
index e79bba8..9e7115a 100644
--- a/lib/gs-fedora-third-party.c
+++ b/lib/gs-fedora-third-party.c
@@ -11,6 +11,10 @@
#include "gs-fedora-third-party.h"
+#if !GLIB_CHECK_VERSION(2, 70, 0)
+#define g_spawn_check_wait_status g_spawn_check_exit_status
+#endif
+
struct _GsFedoraThirdParty
{
GObject parent_instance;
diff --git a/lib/gs-icon-downloader.c b/lib/gs-icon-downloader.c
index a1a669c..577fda2 100644
--- a/lib/gs-icon-downloader.c
+++ b/lib/gs-icon-downloader.c
@@ -41,7 +41,7 @@ struct _GsIconDownloader
GCancellable *cancellable; /* (owned) */
};
-G_DEFINE_FINAL_TYPE (GsIconDownloader, gs_icon_downloader, G_TYPE_OBJECT)
+G_DEFINE_TYPE (GsIconDownloader, gs_icon_downloader, G_TYPE_OBJECT)
typedef enum {
PROP_MAXIMUM_SIZE = 1,
diff --git a/lib/gs-job-manager.c b/lib/gs-job-manager.c
index 98d79a7..694a157 100644
--- a/lib/gs-job-manager.c
+++ b/lib/gs-job-manager.c
@@ -100,7 +100,9 @@ watch_data_unref (WatchData *data)
watch_free_data_cb,
g_steal_pointer (&data),
(GDestroyNotify) watch_data_unref);
+ #if GLIB_CHECK_VERSION(2, 70, 0)
g_source_set_static_name (idle_source, G_STRFUNC);
+ #endif
g_source_attach (idle_source, callback_context);
/* Freeing will eventually happen in watch_free_data_cb(). */
@@ -359,7 +361,9 @@ gs_job_manager_add_job (GsJobManager *self,
watch_call_handler_cb,
g_steal_pointer (&idle_data),
(GDestroyNotify) watch_call_handler_data_free);
+ #if GLIB_CHECK_VERSION(2, 70, 0)
g_source_set_static_name (idle_source, G_STRFUNC);
+ #endif
g_source_attach (idle_source, data->callback_context);
}
}
@@ -420,7 +424,9 @@ gs_job_manager_remove_job (GsJobManager *self,
watch_call_handler_cb,
g_steal_pointer (&idle_data),
(GDestroyNotify) watch_call_handler_data_free);
+ #if GLIB_CHECK_VERSION(2, 70, 0)
g_source_set_static_name (idle_source, G_STRFUNC);
+ #endif
g_source_attach (idle_source, data->callback_context);
}
}
diff --git a/lib/gs-plugin-loader.c b/lib/gs-plugin-loader.c
index 93b33f3..204d55f 100644
--- a/lib/gs-plugin-loader.c
+++ b/lib/gs-plugin-loader.c
@@ -1965,7 +1965,7 @@ get_session_bus_cb (GObject *object,
plugin_loader->session_bus_connection = g_bus_get_finish (result, &local_error);
if (plugin_loader->session_bus_connection == NULL) {
notify_setup_complete (plugin_loader);
- g_prefix_error_literal (&local_error, "Error getting session bus: ");
+ g_prefix_error (&local_error, "%s", "Error getting session bus: ");
g_task_return_error (task, g_steal_pointer (&local_error));
return;
}
@@ -1987,7 +1987,7 @@ get_system_bus_cb (GObject *object,
plugin_loader->system_bus_connection = g_bus_get_finish (result, &local_error);
if (plugin_loader->system_bus_connection == NULL) {
notify_setup_complete (plugin_loader);
- g_prefix_error_literal (&local_error, "Error getting system bus: ");
+ g_prefix_error (&local_error, "%s", "Error getting system bus: ");
g_task_return_error (task, g_steal_pointer (&local_error));
return;
}
@@ -2753,12 +2753,21 @@ gs_plugin_loader_init (GsPluginLoader *plugin_loader)
/* Set up a thread pool for running old-style jobs
* FIXME: This will eventually disappear when all jobs are ported to
* be subclasses of #GsPluginJob. */
+ #if GLIB_CHECK_VERSION(2, 70, 0)
plugin_loader->old_api_thread_pool = g_thread_pool_new_full (gs_plugin_loader_process_old_api_job_cb,
plugin_loader,
(GDestroyNotify) g_object_unref,
20,
FALSE,
NULL);
+ #else
+ /* pre-glib 2.70.0 - The items will leak when the thread pool is freed before all jobs are finished */
+ plugin_loader->old_api_thread_pool = g_thread_pool_new (gs_plugin_loader_process_old_api_job_cb,
+ plugin_loader,
+ 20,
+ FALSE,
+ NULL);
+ #endif
/* get the job manager */
plugin_loader->job_manager = gs_job_manager_new ();
diff --git a/meson.build b/meson.build
index da9e7ac..4c847c9 100644
--- a/meson.build
+++ b/meson.build
@@ -156,7 +156,7 @@ gtk = dependency('gtk4',
'demos=false',
]
)
-glib = dependency('glib-2.0', version : '>= 2.70.0')
+glib = dependency('glib-2.0', version : '>= 2.68.0')
json_glib = dependency('json-glib-1.0', version : '>= 1.6.0')
libm = cc.find_library('m', required: false)
if get_option('soup2')
diff --git a/plugins/flatpak/gs-flatpak.c b/plugins/flatpak/gs-flatpak.c
index c84db84..009a425 100644
--- a/plugins/flatpak/gs-flatpak.c
+++ b/plugins/flatpak/gs-flatpak.c
@@ -4738,7 +4738,7 @@ gs_flatpak_purge_sync (GsFlatpak *self,
g_autoptr(FlatpakTransaction) transaction = NULL;
transaction = gs_flatpak_transaction_new (installation, GS_FLATPAK_ERROR_MODE_STOP_ON_FIRST_ERROR, cancellable, error);
if (transaction == NULL) {
- g_prefix_error_literal (error, "failed to build transaction: ");
+ g_prefix_error (error, "%s", "failed to build transaction: ");
return FALSE;
}
flatpak_transaction_set_no_interaction (transaction, TRUE);
diff --git a/plugins/fwupd/gs-plugin-fwupd.c b/plugins/fwupd/gs-plugin-fwupd.c
index e931b2b..43c4e9f 100644
--- a/plugins/fwupd/gs-plugin-fwupd.c
+++ b/plugins/fwupd/gs-plugin-fwupd.c
@@ -1653,7 +1653,7 @@ finish_update_apps_op (GTask *task,
g_autoptr(GsPluginEvent) event = NULL;
event_error = g_error_copy (error_owned);
- g_prefix_error_literal (&event_error, _("Firmware update could not be applied: "));
+ g_prefix_error (&event_error, "%s", _("Firmware update could not be applied: "));
gs_plugin_fwupd_error_convert (&event_error);
event = gs_plugin_event_new ("app", self->app_current,
diff --git a/plugins/packagekit/gs-plugin-packagekit.c b/plugins/packagekit/gs-plugin-packagekit.c
index 3c5f926..409e831 100644
--- a/plugins/packagekit/gs-plugin-packagekit.c
+++ b/plugins/packagekit/gs-plugin-packagekit.c
@@ -2040,7 +2040,7 @@ search_files_cb (GObject *source_object,
results = pk_client_generic_finish (client, result, &local_error);
if (!gs_plugin_packagekit_results_valid (results, g_task_get_cancellable (refine_task), &local_error)) {
- g_prefix_error_literal (&local_error, "failed to search files: ");
+ g_prefix_error (&local_error, "%s", "failed to search files: ");
refine_task_complete_operation_with_error (refine_task, g_steal_pointer (&local_error));
return;
}
@@ -3071,7 +3071,7 @@ gs_plugin_packagekit_convert_error (GError **error,
break;
}
if (prefix != NULL)
- g_prefix_error_literal (error, prefix);
+ g_prefix_error (error, "%s", prefix);
return FALSE;
}
diff --git a/src/gs-common.c b/src/gs-common.c
index 997025a..d665c98 100644
--- a/src/gs-common.c
+++ b/src/gs-common.c
@@ -1027,7 +1027,7 @@ gs_utils_invoke_reboot_ready2_got_session_bus_cb (GObject *source_object,
bus = g_bus_get_finish (result, &local_error);
if (bus == NULL) {
g_dbus_error_strip_remote_error (local_error);
- g_prefix_error_literal (&local_error, "Failed to get D-Bus session bus: ");
+ g_prefix_error (&local_error, "%s", "Failed to get D-Bus session bus: ");
g_task_return_error (task, g_steal_pointer (&local_error));
return;
}
@@ -1098,7 +1098,7 @@ gs_utils_invoke_reboot_ready1_got_system_bus_cb (GObject *source_object,
bus = g_bus_get_finish (result, &local_error);
if (bus == NULL) {
g_dbus_error_strip_remote_error (local_error);
- g_prefix_error_literal (&local_error, "Failed to get D-Bus system bus: ");
+ g_prefix_error (&local_error, "%s", "Failed to get D-Bus system bus: ");
g_task_return_error (task, g_steal_pointer (&local_error));
return;
}
@@ -1171,7 +1171,7 @@ gs_utils_invoke_reboot_got_session_bus_cb (GObject *source_object,
bus = g_bus_get_finish (result, &local_error);
if (bus == NULL) {
g_dbus_error_strip_remote_error (local_error);
- g_prefix_error_literal (&local_error, "Failed to get D-Bus session bus: ");
+ g_prefix_error (&local_error, "%s", "Failed to get D-Bus session bus: ");
g_task_return_error (task, g_steal_pointer (&local_error));
return;
}
|