Projects
Mega:24.09
PackageKit
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
_service:tar_scm:PackageKit.spec
Changed
@@ -1,11 +1,12 @@ Name: PackageKit Version: 1.2.8 -Release: 1 +Release: 2 License: GPLv2+ and LGPLv2+ Summary: Package management service URL: https://www.freedesktop.org/software/PackageKit/ Source0: https://www.freedesktop.org/software/PackageKit/releases/%{name}-%{version}.tar.xz +Patch6000: backport-pkcon-Use-appropriate-callbacks-for-client-task-asyn.patch BuildRequires: glib2-devel xmlto gtk-doc sqlite-devel polkit-devel libtool gtk2-devel gtk3-devel docbook-utils BuildRequires: gnome-doc-utils intltool gettext vala gstreamer1-devel gstreamer1-plugins-base-devel pango-devel @@ -170,6 +171,12 @@ %config(noreplace) %{_sysconfdir}/PackageKit/CommandNotFound.conf %changelog +* Tue Jul 23 2024 zhouyihang <zhouyihang3@h-partners.com> - 1.2.8-2 +- Type: bugfix +- ID: NA +- SUG: NA +- DESC: pkcon: Use appropriate callbacks for client / task async calls + * Tue Feb 06 2024 zhouwenpei <zhouwenpei1@h-partners.com> - 1.2.8-1 - Type: update - ID: NA
View file
_service:tar_scm:backport-pkcon-Use-appropriate-callbacks-for-client-task-asyn.patch
Added
@@ -0,0 +1,432 @@ +From 671ef87143c0a68e5f11cfbd0c305caaebecc204 Mon Sep 17 00:00:00 2001 +From: sid <sidtosh4@gmail.com> +Date: Fri, 10 May 2024 21:46:54 +0100 +Subject: PATCH 1/1 pkcon: Use appropriate callbacks for client / task async + calls + +Fixes: #747 + +Conflict:NA +Reference:https://github.com/PackageKit/PackageKit/commit/671ef87143c0a68e5f11cfbd0c305caaebecc204 +--- + client/pk-console.c | 112 ++++++++++++++++++++++++++------------------ + 1 file changed, 66 insertions(+), 46 deletions(-) + +diff --git a/client/pk-console.c b/client/pk-console.c +index 056e37e65..ad42c3b49 100644 +--- a/client/pk-console.c ++++ b/client/pk-console.c +@@ -637,7 +637,7 @@ pk_console_progress_cb (PkProgress *progress, PkProgressType type, gpointer data + } + + static void +-pk_console_finished_cb (GObject *object, GAsyncResult *res, gpointer data) ++pk_console_process_results (PkResults *results, PkConsoleCtx *ctx, const GError *finish_error) + { + const gchar *filename; + gboolean ret; +@@ -645,11 +645,8 @@ pk_console_finished_cb (GObject *object, GAsyncResult *res, gpointer data) + PkPackageSack *sack; + PkRestartEnum restart; + PkRoleEnum role; +- PkConsoleCtx *ctx = (PkConsoleCtx *) data; +- g_autoptr(GError) error = NULL; + g_autoptr(GFile) file = NULL; + g_autoptr(PkError) error_code = NULL; +- g_autoptr(PkResults) results = NULL; + + /* no more progress */ + if (ctx->is_console) { +@@ -659,13 +656,11 @@ pk_console_finished_cb (GObject *object, GAsyncResult *res, gpointer data) + g_print ("%s\n", _("Results:")); + } + +- /* get the results */ +- results = pk_task_generic_finish (PK_TASK (ctx->task), res, &error); + if (results == NULL) { + /* TRANSLATORS: we failed to get any results, which is pretty + * fatal in my book */ +- g_print ("%s: %s\n", _("Fatal error"), error->message); +- switch (error->code - 0xff) { ++ g_print ("%s: %s\n", _("Fatal error"), finish_error->message); ++ switch (finish_error->code - 0xff) { + case PK_ERROR_ENUM_ALL_PACKAGES_ALREADY_INSTALLED: + case PK_ERROR_ENUM_REPO_NOT_AVAILABLE: + ctx->retval = PK_EXIT_CODE_NOTHING_USEFUL; +@@ -821,6 +816,7 @@ pk_console_finished_cb (GObject *object, GAsyncResult *res, gpointer data) + + /* write the sack to disk */ + if (role == PK_ROLE_ENUM_GET_PACKAGES && filename != NULL) { ++ g_autoptr(GError) error = NULL; + file = g_file_new_for_path (filename); + ret = pk_package_sack_to_file (sack, file, &error); + if (!ret) { +@@ -833,6 +829,30 @@ out: + g_main_loop_quit (ctx->loop); + } + ++static void ++pk_console_client_finished_cb (GObject *object, GAsyncResult *res, gpointer data) ++{ ++ g_autoptr(GError) error = NULL; ++ g_autoptr(PkResults) results = NULL; ++ PkConsoleCtx *ctx = (PkConsoleCtx *) data; ++ ++ results = pk_client_generic_finish (PK_CLIENT (ctx->task), res, &error); ++ ++ pk_console_process_results (results, ctx, error); ++} ++ ++static void ++pk_console_task_finished_cb (GObject *object, GAsyncResult *res, gpointer data) ++{ ++ g_autoptr(GError) error = NULL; ++ g_autoptr(PkResults) results = NULL; ++ PkConsoleCtx *ctx = (PkConsoleCtx *) data; ++ ++ results = pk_task_generic_finish (PK_TASK (ctx->task), res, &error); ++ ++ pk_console_process_results (results, ctx, error); ++} ++ + static gchar * + pk_console_resolve_package (PkConsoleCtx *ctx, const gchar *package_name, GError **error) + { +@@ -1057,7 +1077,7 @@ pk_console_install_packages (PkConsoleCtx *ctx, gchar **packages, GError **error + pk_task_install_packages_async (PK_TASK (ctx->task), + package_ids, ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1086,7 +1106,7 @@ pk_console_remove_packages (PkConsoleCtx *ctx, gchar **packages, gboolean autore + TRUE, autoremove, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1115,7 +1135,7 @@ pk_console_download_packages (PkConsoleCtx *ctx, gchar **packages, const gchar * + directory, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1145,7 +1165,7 @@ pk_console_update_packages (PkConsoleCtx *ctx, gchar **packages, GError **error) + package_ids, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1188,7 +1208,7 @@ pk_console_update_system (PkConsoleCtx *ctx, GError **error) + package_ids, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1200,7 +1220,7 @@ pk_console_upgrade_system (PkConsoleCtx *ctx, const gchar *distro_id, const gcha + pk_upgrade_kind_enum_from_string (upgrade_kind), + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1230,7 +1250,7 @@ pk_console_required_by (PkConsoleCtx *ctx, gchar **packages, GError **error) + TRUE, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1259,7 +1279,7 @@ pk_console_depends_on (PkConsoleCtx *ctx, gchar **packages, GError **error) + FALSE, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1275,7 +1295,7 @@ pk_console_get_details (PkConsoleCtx *ctx, gchar **packages, GError **error) + packages, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_client_finished_cb, ctx); + return TRUE; + } + +@@ -1296,7 +1316,7 @@ pk_console_get_details (PkConsoleCtx *ctx, gchar **packages, GError **error) + package_ids, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_task_finished_cb, ctx); + return TRUE; + } + +@@ -1307,7 +1327,7 @@ pk_console_get_details_local (PkConsoleCtx *ctx, gchar **files, GError **error) + files, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_client_finished_cb, ctx); + return TRUE; + } + +@@ -1318,7 +1338,7 @@ pk_console_get_files_local (PkConsoleCtx *ctx, gchar **files, GError **error) + files, + ctx->cancellable, + pk_console_progress_cb, ctx, +- pk_console_finished_cb, ctx); ++ pk_console_client_finished_cb, ctx);
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="scm">git</param> <param name="url">git@gitee.com:src-openeuler/PackageKit.git</param> - <param name="revision">master</param> + <param name="revision">openEuler-24.09</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2