diff options
Diffstat (limited to '0001-Lower_glib_dependency_to_2_68.patch')
-rw-r--r-- | 0001-Lower_glib_dependency_to_2_68.patch | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/0001-Lower_glib_dependency_to_2_68.patch b/0001-Lower_glib_dependency_to_2_68.patch new file mode 100644 index 0000000..074dfa1 --- /dev/null +++ b/0001-Lower_glib_dependency_to_2_68.patch @@ -0,0 +1,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; + } |