[packagekit] packagekit: Branch 'master' - 20 commits
Richard Hughes
hughsient at kemper.freedesktop.org
Fri Sep 21 11:33:48 PDT 2007
TODO | 9 -
backends/BACKENDS | 4
backends/alpm/pk-backend-alpm.c | 2
backends/apt/pk-backend-apt.cpp | 2
backends/box/helpers/Makefile.am | 1
backends/box/helpers/install-file.sh | 15 +
backends/box/pk-backend-box.c | 12 +
backends/conary/pk-backend-conary.c | 2
backends/dummy/pk-backend-dummy.c | 22 ++
backends/test/pk-backend-test-fail.c | 22 ++
backends/test/pk-backend-test-nop.c | 2
backends/test/pk-backend-test-spawn.c | 2
backends/test/pk-backend-test-succeed.c | 22 ++
backends/test/pk-backend-test-thread.c | 2
backends/yum/pk-backend-yum.c | 2
client/pk-console.c | 10 +
client/pk-monitor.c | 2
docs/backends.xml | 8
docs/introduction.xml | 71 +++++++
libpackagekit/pk-enum-list.c | 2
libpackagekit/pk-enum.c | 10 -
libpackagekit/pk-enum.h | 10 -
libpackagekit/pk-job-list.c | 18 +-
libpackagekit/pk-task-client.c | 18 +-
libpackagekit/pk-task-list.c | 10 -
libpackagekit/pk-task-monitor.c | 58 ++++--
policy/packagekit.policy | 9 +
python/packagekit.py | 10 -
python/pkt | 8
src/Makefile.am | 2
src/pk-backend-internal.h | 4
src/pk-backend.c | 83 +++++++--
src/pk-backend.h | 11 -
src/pk-engine.c | 287 ++++++++++++++++++++++----------
src/pk-engine.h | 18 +-
src/pk-interface.xml | 47 +++--
src/pk-network.c | 6
src/pk-transaction-id.c | 4
src/pk-transaction-list.c | 10 -
src/pk-transaction-list.h | 2
40 files changed, 625 insertions(+), 214 deletions(-)
New commits:
diff-tree 343a8006de50d8bc90c5d2a9a8a7391b3ecb3ced (from 5751b20539cbbe6d28de9bccb19079d9f7533c30)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 19:27:26 2007 +0100
check for a valid backend before we get the role
diff --git a/src/pk-engine.c b/src/pk-engine.c
index 9ca79af..a72d7dc 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -502,6 +502,11 @@ pk_engine_add_backend (PkEngine *engine,
/* get all the data we know */
item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
+ /* we might not have a backend */
+ if (backend == NULL) {
+ return TRUE;
+ }
+
/* only save into the database for useful stuff */
pk_backend_get_role (backend, &role, NULL);
if (role == PK_ROLE_ENUM_REFRESH_CACHE ||
diff-tree 5751b20539cbbe6d28de9bccb19079d9f7533c30 (from b5e71b2c58324a1ea1fa9703dfd6f54d736a3010)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 19:15:13 2007 +0100
added Resolve into BACKENDS
diff --git a/backends/BACKENDS b/backends/BACKENDS
index 1bd96dd..6ae45eb 100644
--- a/backends/BACKENDS
+++ b/backends/BACKENDS
@@ -2,6 +2,7 @@ Current status of the backends
| conary | yum | apt | box | alpm |
-----------------------------------------------------
+resolve | | | | | |
refresh-cache | X | X | X | X | |
get-updates | X | X | | X | |
update-system | | X | | | |
diff-tree b5e71b2c58324a1ea1fa9703dfd6f54d736a3010 (from parents)
Merge: 5b4f4fa8c5128c27b2286b5ef1b3b8277323928c 8ef7da33bec6ddb99ccc88df1280baee3eefd453
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 19:12:16 2007 +0100
Merge branch 'master' of git+ssh://hughsie@git.packagekit.org/srv/git/PackageKit
diff --cc backends/box/pk-backend-box.c
index 1ba3bf0,644d81f..ad6a906
@@@ -478,10 -488,9 +488,10 @@@
NULL, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
- NULL, /* install_file */
+ backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ NULL, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
NULL, /* search_group */
diff-tree 8ef7da33bec6ddb99ccc88df1280baee3eefd453 (from aa74310961ec2e78153f5f0643e87659b6f4c081)
Author: Grzegorz Dabrowski <gdx at o2.pl>
Date: Fri Sep 21 19:40:01 2007 +0000
[box] added install-file support
diff --git a/backends/BACKENDS b/backends/BACKENDS
index 6127b53..1bd96dd 100644
--- a/backends/BACKENDS
+++ b/backends/BACKENDS
@@ -9,7 +9,8 @@ search-name | X | X | X |
search-details | | X | X | X | |
search-file | | X | | X | |
search-group | | | | | |
-install | | X | | X | X |
+install-package | | X | | X | X |
+install-file | | | | X | |
remove | | X | | X | X |
get-depends | | X | | | |
get-requires | | | | | |
diff --git a/backends/box/helpers/Makefile.am b/backends/box/helpers/Makefile.am
index ecc9b67..70f60ee 100644
--- a/backends/box/helpers/Makefile.am
+++ b/backends/box/helpers/Makefile.am
@@ -4,6 +4,7 @@ helperdir = $(datadir)/PackageKit/helper
NULL =
dist_helper_DATA = \
+ install-file.sh \
install-package.sh \
refresh-cache.sh \
remove-package.sh \
diff --git a/backends/box/helpers/install-file.sh b/backends/box/helpers/install-file.sh
new file mode 100644
index 0000000..3f77679
--- /dev/null
+++ b/backends/box/helpers/install-file.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# Copyright (C) 2007 Grzegorz Dabrowski <gdx at o2.pl>
+#
+# Licensed under the GNU General Public License Version 2
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+echo "no-percentage-updates" > /dev/stderr
+echo "status install" > /dev/stderr
+pkg=$(echo "$1" | cut -f1 -d';')
+box -i "$pkg" 2>&1 >/dev/null
diff --git a/backends/box/pk-backend-box.c b/backends/box/pk-backend-box.c
index 6e6e602..644d81f 100644
--- a/backends/box/pk-backend-box.c
+++ b/backends/box/pk-backend-box.c
@@ -383,6 +383,16 @@ backend_install_package (PkBackend *back
}
/**
+ * backend_install_file:
+ */
+static void
+backend_install_file (PkBackend *backend, const gchar *file)
+{
+ g_return_if_fail (backend != NULL);
+ pk_backend_spawn_helper (backend, "install-file.sh", file, NULL);
+}
+
+/**
* backend_refresh_cache:
*/
static void
@@ -478,7 +488,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
- NULL, /* install_file */
+ backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff-tree 5b4f4fa8c5128c27b2286b5ef1b3b8277323928c (from aa74310961ec2e78153f5f0643e87659b6f4c081)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 19:11:49 2007 +0100
Add the Resolve method. We need this when we know the package name, and want to get the package id
diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
index d132111..6840300 100644
--- a/backends/alpm/pk-backend-alpm.c
+++ b/backends/alpm/pk-backend-alpm.c
@@ -816,6 +816,7 @@ PK_BACKEND_OPTIONS (
NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ NULL, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
backend_search_group, /* search_group */
diff --git a/backends/apt/pk-backend-apt.cpp b/backends/apt/pk-backend-apt.cpp
index 0d6764c..daffa61 100644
--- a/backends/apt/pk-backend-apt.cpp
+++ b/backends/apt/pk-backend-apt.cpp
@@ -664,6 +664,7 @@ extern "C" PK_BACKEND_OPTIONS (
NULL, /* install_name */
backend_refresh_cache, /* refresh_cache */
NULL, /* remove_package */
+ NULL, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
NULL, /* search_group */
diff --git a/backends/box/pk-backend-box.c b/backends/box/pk-backend-box.c
index 6e6e602..1ba3bf0 100644
--- a/backends/box/pk-backend-box.c
+++ b/backends/box/pk-backend-box.c
@@ -481,6 +481,7 @@ PK_BACKEND_OPTIONS (
NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ NULL, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
NULL, /* search_group */
diff --git a/backends/conary/pk-backend-conary.c b/backends/conary/pk-backend-conary.c
index b18f92b..6f6eff6 100644
--- a/backends/conary/pk-backend-conary.c
+++ b/backends/conary/pk-backend-conary.c
@@ -163,6 +163,7 @@ PK_BACKEND_OPTIONS (
NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ NULL, /* resolve */
backend_search_details, /* search_details */
NULL, /* search_file */
NULL, /* search_group */
diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
index c062da5..481c612 100644
--- a/backends/dummy/pk-backend-dummy.c
+++ b/backends/dummy/pk-backend-dummy.c
@@ -206,6 +206,16 @@ backend_refresh_cache (PkBackend *backen
}
/**
+ * backend_resolve:
+ */
+static void
+backend_resolve (PkBackend *backend, const gchar *package_id)
+{
+ g_return_if_fail (backend != NULL);
+ pk_backend_finished (backend);
+}
+
+/**
* backend_remove_package:
*/
static void
@@ -338,6 +348,7 @@ PK_BACKEND_OPTIONS (
backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ backend_resolve, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
backend_search_group, /* search_group */
diff --git a/backends/test/pk-backend-test-fail.c b/backends/test/pk-backend-test-fail.c
index 095dca0..c77caf6 100644
--- a/backends/test/pk-backend-test-fail.c
+++ b/backends/test/pk-backend-test-fail.c
@@ -175,6 +175,16 @@ backend_remove_package (PkBackend *backe
}
/**
+ * backend_resolve:
+ */
+static void
+backend_resolve (PkBackend *backend, const gchar *package_id)
+{
+ g_return_if_fail (backend != NULL);
+ pk_backend_finished (backend);
+}
+
+/**
* backend_search_details:
*/
static void
@@ -258,6 +268,7 @@ PK_BACKEND_OPTIONS (
backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ backend_resolve, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
backend_search_group, /* search_group */
diff --git a/backends/test/pk-backend-test-nop.c b/backends/test/pk-backend-test-nop.c
index 22af68e..7b04a7d 100644
--- a/backends/test/pk-backend-test-nop.c
+++ b/backends/test/pk-backend-test-nop.c
@@ -41,6 +41,7 @@ PK_BACKEND_OPTIONS (
NULL, /* install_file */
NULL, /* refresh_cache */
NULL, /* remove_package */
+ NULL, /* resolve */
NULL, /* search_details */
NULL, /* search_file */
NULL, /* search_group */
diff --git a/backends/test/pk-backend-test-spawn.c b/backends/test/pk-backend-test-spawn.c
index 0a691f5..d2d8465 100644
--- a/backends/test/pk-backend-test-spawn.c
+++ b/backends/test/pk-backend-test-spawn.c
@@ -54,6 +54,7 @@ PK_BACKEND_OPTIONS (
NULL, /* install_file */
NULL, /* refresh_cache */
NULL, /* remove_package */
+ NULL, /* resolve */
NULL, /* search_details */
NULL, /* search_file */
NULL, /* search_group */
diff --git a/backends/test/pk-backend-test-succeed.c b/backends/test/pk-backend-test-succeed.c
index 650ff0e..61354c2 100644
--- a/backends/test/pk-backend-test-succeed.c
+++ b/backends/test/pk-backend-test-succeed.c
@@ -171,6 +171,16 @@ backend_remove_package (PkBackend *backe
}
/**
+ * backend_resolve:
+ */
+static void
+backend_resolve (PkBackend *backend, const gchar *package_id)
+{
+ g_return_if_fail (backend != NULL);
+ pk_backend_finished (backend);
+}
+
+/**
* backend_search_details:
*/
static void
@@ -262,6 +272,7 @@ PK_BACKEND_OPTIONS (
backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ backend_resolve, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
backend_search_group, /* search_group */
diff --git a/backends/test/pk-backend-test-thread.c b/backends/test/pk-backend-test-thread.c
index f63e14f..9675d6e 100644
--- a/backends/test/pk-backend-test-thread.c
+++ b/backends/test/pk-backend-test-thread.c
@@ -101,6 +101,7 @@ PK_BACKEND_OPTIONS (
NULL, /* install_file */
NULL, /* refresh_cache */
NULL, /* remove_package */
+ NULL, /* resolve */
NULL, /* search_details */
NULL, /* search_file */
backend_search_group, /* search_group */
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 3395166..cb37eb8 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -243,6 +243,7 @@ PK_BACKEND_OPTIONS (
NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
+ NULL, /* resolve */
backend_search_details, /* search_details */
backend_search_file, /* search_file */
backend_search_group, /* search_group */
diff --git a/client/pk-console.c b/client/pk-console.c
index d21c2e7..03e541e 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -151,6 +151,7 @@ pk_console_usage (const gchar *error)
g_print (" pkcon [sync] [verbose] remove <package_id>\n");
g_print (" pkcon [sync] [verbose] update <package_id>\n");
g_print (" pkcon [sync] [verbose] refresh\n");
+ g_print (" pkcon [sync] [verbose] resolve\n");
g_print (" pkcon [sync] [verbose] force-refresh\n");
g_print (" pkcon [sync] [verbose] update-system\n");
g_print (" pkcon [sync] [verbose] get updates\n");
@@ -253,6 +254,15 @@ pk_console_parse_multiple_commands (PkTa
pk_task_client_remove_package (tclient, value, FALSE);
remove = 2;
}
+ } else if (strcmp (mode, "resolve") == 0) {
+ if (value == NULL) {
+ pk_console_usage ("you need to specify a package name to resolve");
+ remove = 1;
+ goto out;
+ } else {
+ pk_warning ("TODO!");
+ remove = 2;
+ }
} else if (strcmp (mode, "get") == 0) {
if (value == NULL) {
pk_console_usage ("you need to specify a get type");
diff --git a/docs/backends.xml b/docs/backends.xml
index bd4f443..a44cb25 100644
--- a/docs/backends.xml
+++ b/docs/backends.xml
@@ -75,6 +75,10 @@
<entry><literal>get-depends.*</literal></entry>
</row>
<row>
+ <entry>Resolve</entry>
+ <entry><literal>resolve.*</literal></entry>
+ </row>
+ <row>
<entry>Get Requires</entry>
<entry><literal>get-requires.*</literal></entry>
</row>
diff --git a/docs/introduction.xml b/docs/introduction.xml
index ea47817..44ad21c 100644
--- a/docs/introduction.xml
+++ b/docs/introduction.xml
@@ -862,6 +862,38 @@
</para>
</sect2>
+ <sect2 id="api-resolve">
+ <title>Resolve</title>
+ <para>
+ Resolve turns a single package name into a package_id suitable for the
+ other methods.
+ </para>
+ <para>
+ The arguments are:
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Option</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>package</literal></entry>
+ <entry>A single package name, e.g. <literal>art-clipart</literal>.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ This method typically emits
+ <literal>Error</literal> and
+ <literal>Package</literal>.
+ </para>
+ </sect2>
+
<sect2 id="api-get-update-detail">
<title>Get Update Detail</title>
<para>
diff --git a/libpackagekit/pk-enum.c b/libpackagekit/pk-enum.c
index cd120f0..de1c1b4 100644
--- a/libpackagekit/pk-enum.c
+++ b/libpackagekit/pk-enum.c
@@ -59,6 +59,7 @@ static PkTaskEnumMatch task_status[] = {
static PkTaskEnumMatch task_role[] = {
{PK_ROLE_ENUM_UNKNOWN, "unknown"}, /* fall though value */
{PK_ROLE_ENUM_CANCEL, "cancel"},
+ {PK_ROLE_ENUM_RESOLVE, "resolve"},
{PK_ROLE_ENUM_GET_DEPENDS, "get-depends"},
{PK_ROLE_ENUM_GET_UPDATE_DETAIL, "get-update-detail"},
{PK_ROLE_ENUM_GET_DESCRIPTION, "get-description"},
diff --git a/libpackagekit/pk-enum.h b/libpackagekit/pk-enum.h
index 47ec85d..6028476 100644
--- a/libpackagekit/pk-enum.h
+++ b/libpackagekit/pk-enum.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
/* what we asked to do */
typedef enum {
PK_ROLE_ENUM_CANCEL,
+ PK_ROLE_ENUM_RESOLVE,
PK_ROLE_ENUM_GET_DEPENDS,
PK_ROLE_ENUM_GET_UPDATE_DETAIL,
PK_ROLE_ENUM_GET_DESCRIPTION,
diff --git a/src/pk-backend-internal.h b/src/pk-backend-internal.h
index e16710b..fcb5c15 100644
--- a/src/pk-backend-internal.h
+++ b/src/pk-backend-internal.h
@@ -84,6 +84,8 @@ gboolean pk_backend_remove_package (Pk
gboolean pk_backend_search_details (PkBackend *backend,
const gchar *filter,
const gchar *search);
+gboolean pk_backend_resolve (PkBackend *backend,
+ const gchar *package);
gboolean pk_backend_search_file (PkBackend *backend,
const gchar *filter,
const gchar *search);
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 9f7148d..0ce1257 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -934,6 +934,8 @@ pk_backend_run (PkBackend *backend)
} else if (backend->priv->role == PK_ROLE_ENUM_GET_UPDATE_DETAIL) {
backend->desc->get_update_detail (backend,
backend->priv->xcached_package_id);
+ } else if (backend->priv->role == PK_ROLE_ENUM_RESOLVE) {
+ backend->desc->resolve (backend, backend->priv->xcached_package_id);
} else if (backend->priv->role == PK_ROLE_ENUM_GET_DESCRIPTION) {
backend->desc->get_description (backend,
backend->priv->xcached_package_id);
@@ -1127,6 +1129,22 @@ pk_backend_remove_package (PkBackend *ba
}
/**
+ * pk_backend_resolve:
+ */
+gboolean
+pk_backend_resolve (PkBackend *backend, const gchar *package)
+{
+ g_return_val_if_fail (backend != NULL, FALSE);
+ if (backend->desc->resolve == NULL) {
+ pk_backend_not_implemented_yet (backend, "Resolve");
+ return FALSE;
+ }
+ backend->priv->xcached_package_id = g_strdup (package);
+ pk_backend_set_role (backend, PK_ROLE_ENUM_RESOLVE);
+ return TRUE;
+}
+
+/**
* pk_backend_search_details:
*/
gboolean
@@ -1263,6 +1281,9 @@ pk_backend_get_actions (PkBackend *backe
if (backend->desc->remove_package != NULL) {
pk_enum_list_append (elist, PK_ROLE_ENUM_REMOVE_PACKAGE);
}
+ if (backend->desc->resolve != NULL) {
+ pk_enum_list_append (elist, PK_ROLE_ENUM_RESOLVE);
+ }
if (backend->desc->search_details != NULL) {
pk_enum_list_append (elist, PK_ROLE_ENUM_SEARCH_DETAILS);
}
diff --git a/src/pk-backend.h b/src/pk-backend.h
index e72cfb2..2e37424 100644
--- a/src/pk-backend.h
+++ b/src/pk-backend.h
@@ -102,6 +102,7 @@ struct _PkBackendDesc {
void (*install_file) (PkBackend *backend, const gchar *full_path);
void (*refresh_cache) (PkBackend *backend, gboolean force);
void (*remove_package) (PkBackend *backend, const gchar *package_id, gboolean allow_deps);
+ void (*resolve) (PkBackend *backend, const gchar *package);
void (*search_details) (PkBackend *backend, const gchar *filter, const gchar *search);
void (*search_file) (PkBackend *backend, const gchar *filter, const gchar *search);
void (*search_group) (PkBackend *backend, const gchar *filter, const gchar *search);
@@ -114,7 +115,7 @@ struct _PkBackendDesc {
#define PK_BACKEND_OPTIONS(description, version, author, initialize, destroy, \
get_groups, get_filters, cancel, get_depends, get_description, \
get_requires, get_update_detail, get_updates, install_package, install_file, \
- refresh_cache, remove_package, search_details, \
+ refresh_cache, remove_package, resolve, search_details, \
search_file, search_group, search_name, \
update_package, update_system) \
G_MODULE_EXPORT const PkBackendDesc pk_backend_desc = { \
@@ -135,6 +136,7 @@ struct _PkBackendDesc {
install_file, \
refresh_cache, \
remove_package, \
+ resolve, \
search_details, \
search_file, \
search_group, \
diff --git a/src/pk-engine.c b/src/pk-engine.c
index 6e69401..9ca79af 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -942,6 +942,45 @@ pk_engine_search_file (PkEngine *engine,
}
/**
+ * pk_engine_resolve:
+ **/
+gboolean
+pk_engine_resolve (PkEngine *engine, const gchar *package, gchar **tid, GError **error)
+{
+ gboolean ret;
+ PkBackend *backend;
+ PkTransactionItem *item;
+
+ g_return_val_if_fail (engine != NULL, FALSE);
+ g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
+
+ /* create a new backend and start it */
+ backend = pk_engine_new_backend (engine);
+ if (backend == NULL) {
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_INITIALIZE_FAILED,
+ "Backend '%s' could not be initialized", engine->priv->backend);
+ return FALSE;
+ }
+
+ ret = pk_backend_resolve (backend, package);
+ if (ret == FALSE) {
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NOT_SUPPORTED,
+ "Operation not yet supported by backend");
+ pk_engine_delete_backend (engine, backend);
+ return FALSE;
+ }
+ pk_engine_add_backend (engine, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
+ if (item == NULL) {
+ pk_warning ("could not find backend");
+ return FALSE;
+ }
+ *tid = g_strdup (item->tid);
+
+ return TRUE;
+}
+
+/**
* pk_engine_get_depends:
**/
gboolean
diff --git a/src/pk-engine.h b/src/pk-engine.h
index 0f39d00..e3cc859 100644
--- a/src/pk-engine.h
+++ b/src/pk-engine.h
@@ -115,6 +115,10 @@ gboolean pk_engine_get_description (Pk
const gchar *package_id,
gchar **tid,
GError **error);
+gboolean pk_engine_resolve (PkEngine *engine,
+ const gchar *package,
+ gchar **tid,
+ GError **error);
gboolean pk_engine_refresh_cache (PkEngine *engine,
gboolean force,
gchar **tid,
diff --git a/src/pk-interface.xml b/src/pk-interface.xml
index 270e74e..46b79f4 100644
--- a/src/pk-interface.xml
+++ b/src/pk-interface.xml
@@ -14,6 +14,10 @@
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg type="s" name="tid" direction="out"/>
</method>
+ <method name="Resolve">
+ <arg type="s" name="package" direction="in"/>
+ <arg type="s" name="tid" direction="out"/>
+ </method>
<method name="SearchName">
<arg type="s" name="filter" direction="in"/>
<arg type="s" name="search" direction="in"/>
diff-tree aa74310961ec2e78153f5f0643e87659b6f4c081 (from db408c58f946cd17847416681da743369a0249c0)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 18:25:27 2007 +0100
remove manually added GetOldTransactions
diff --git a/src/pk-engine.c b/src/pk-engine.c
index 626d8e1..6e69401 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -527,11 +527,17 @@ pk_engine_add_backend (PkEngine *engine,
gboolean
pk_engine_delete_backend (PkEngine *engine, PkBackend *backend)
{
+ PkTransactionItem *item;
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
+ /* get item, and remove it */
+ item = pk_transaction_list_get_item_from_backend(engine->priv->transaction_list, backend);
+ if (item == NULL) {
+ return FALSE;
+ }
pk_debug ("removing backend %p as it failed", backend);
- pk_transaction_list_remove (engine->priv->transaction_list, backend);
+ pk_transaction_list_remove (engine->priv->transaction_list, item);
/* we don't do g_object_unref (backend) here as it is done in the
::finished handler */
@@ -1579,6 +1585,8 @@ pk_engine_get_old_transactions (PkEngine
pk_debug ("emitting finished transaction:%s, '%s', %i", item->tid, "", 0);
g_signal_emit (engine, signals [PK_ENGINE_FINISHED], 0, item->tid, "", 0);
+ pk_transaction_list_remove (engine->priv->transaction_list, item);
+
return TRUE;
//xxx
}
diff --git a/src/pk-transaction-list.c b/src/pk-transaction-list.c
index f78c868..1fd32ad 100644
--- a/src/pk-transaction-list.c
+++ b/src/pk-transaction-list.c
@@ -113,16 +113,12 @@ pk_transaction_list_add (PkTransactionLi
* pk_transaction_list_remove:
**/
gboolean
-pk_transaction_list_remove (PkTransactionList *tlist, PkBackend *backend)
+pk_transaction_list_remove (PkTransactionList *tlist, PkTransactionItem *item)
{
- PkTransactionItem *item;
g_return_val_if_fail (tlist != NULL, FALSE);
g_return_val_if_fail (PK_IS_TRANSACTION_LIST (tlist), FALSE);
- item = pk_transaction_list_get_item_from_backend (tlist, backend);
- if (item == NULL) {
- return FALSE;
- }
+ /* valid item */
g_ptr_array_remove (tlist->priv->array, item);
g_free (item->tid);
g_free (item);
@@ -152,7 +148,7 @@ pk_transaction_list_backend_finished_cb
pk_error ("moo!");
}
pk_debug ("transaction %s completed, removing", item->tid);
- pk_transaction_list_remove (tlist, backend);
+ pk_transaction_list_remove (tlist, item);
/* do the next transaction now if we have another queued */
length = tlist->priv->array->len;
diff --git a/src/pk-transaction-list.h b/src/pk-transaction-list.h
index 75842fe..3101927 100644
--- a/src/pk-transaction-list.h
+++ b/src/pk-transaction-list.h
@@ -62,7 +62,7 @@ PkTransactionList *pk_transaction_list_n
PkTransactionItem *pk_transaction_list_add (PkTransactionList *tlist,
PkBackend *backend);
gboolean pk_transaction_list_remove (PkTransactionList *tlist,
- PkBackend *backend);
+ PkTransactionItem *item);
gboolean pk_transaction_list_commit (PkTransactionList *tlist,
PkBackend *backend);
gboolean pk_transaction_list_role_present (PkTransactionList *tlist,
diff-tree db408c58f946cd17847416681da743369a0249c0 (from 107f6aff3281b0ea542b87ab9d59a4a4c95a3517)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 18:15:43 2007 +0100
don't unref as networkmanager is broken right now
diff --git a/src/pk-engine.c b/src/pk-engine.c
index 3b74114..626d8e1 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -1564,13 +1564,23 @@ pk_engine_get_package (PkEngine *engine,
* pk_engine_get_old_transactions:
**/
gboolean
-pk_engine_get_old_transactions (PkEngine *engine, guint number, GError **error)
+pk_engine_get_old_transactions (PkEngine *engine, guint number, gchar **tid, GError **error)
{
+ PkTransactionItem *item;
+
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- pk_debug ("get %i old transactions", number);
- return pk_transaction_db_get_list (engine->priv->transaction_db, number);
+ item = pk_transaction_list_add (engine->priv->transaction_list, NULL);
+ pk_transaction_db_get_list (engine->priv->transaction_db, number);
+ *tid = g_strdup (item->tid);
+// pk_engine_finished_cb ();
+
+ pk_debug ("emitting finished transaction:%s, '%s', %i", item->tid, "", 0);
+ g_signal_emit (engine, signals [PK_ENGINE_FINISHED], 0, item->tid, "", 0);
+
+ return TRUE;
+//xxx
}
/**
diff --git a/src/pk-engine.h b/src/pk-engine.h
index f913482..0f39d00 100644
--- a/src/pk-engine.h
+++ b/src/pk-engine.h
@@ -179,6 +179,7 @@ gboolean pk_engine_get_package (PkEng
GError **error);
gboolean pk_engine_get_old_transactions (PkEngine *engine,
guint number,
+ gchar **tid,
GError **error);
G_END_DECLS
diff --git a/src/pk-interface.xml b/src/pk-interface.xml
index 4b57ca4..270e74e 100644
--- a/src/pk-interface.xml
+++ b/src/pk-interface.xml
@@ -174,9 +174,11 @@
<!-- Transaction methods -->
<method name="GetOldTransactions">
<arg type="u" name="number" direction="in"/>
+ <arg type="s" name="tid" direction="out"/>
</method>
<signal name="Transaction">
<arg type="s" name="tid" direction="out"/>
+ <arg type="s" name="old_tid" direction="out"/>
<arg type="s" name="timespec" direction="out"/>
<arg type="b" name="succeeded" direction="out"/>
<arg type="s" name="role" direction="out"/>
diff --git a/src/pk-network.c b/src/pk-network.c
index aad74be..80d843e 100644
--- a/src/pk-network.c
+++ b/src/pk-network.c
@@ -145,7 +145,7 @@ pk_network_finalize (GObject *object)
g_return_if_fail (network->priv != NULL);
libnm_glib_unregister_callback (network->priv->ctx, network->priv->callbackid);
- libnm_glib_shutdown (network->priv->ctx);
+// libnm_glib_shutdown (network->priv->ctx);
G_OBJECT_CLASS (pk_network_parent_class)->finalize (object);
}
diff-tree 107f6aff3281b0ea542b87ab9d59a4a4c95a3517 (from 4206ebb1bb571868357db8f09dd3a1e99c9052f8)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 18:12:46 2007 +0100
space fix
diff --git a/src/pk-network.c b/src/pk-network.c
index 91de8cd..aad74be 100644
--- a/src/pk-network.c
+++ b/src/pk-network.c
@@ -144,7 +144,7 @@ pk_network_finalize (GObject *object)
network = PK_NETWORK (object);
g_return_if_fail (network->priv != NULL);
- libnm_glib_unregister_callback (network->priv->ctx, network->priv->callbackid);
+ libnm_glib_unregister_callback (network->priv->ctx, network->priv->callbackid);
libnm_glib_shutdown (network->priv->ctx);
G_OBJECT_CLASS (pk_network_parent_class)->finalize (object);
diff-tree 4206ebb1bb571868357db8f09dd3a1e99c9052f8 (from parents)
Merge: d29d6c9c2b8b6538f2eccaae7e8a4186395648ac ab8ba192bd855d1648df2decd3241beb4b469856
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 17:47:46 2007 +0100
Merge branch 'master' of git+ssh://hughsie@git.packagekit.org/srv/git/PackageKit
diff-tree ab8ba192bd855d1648df2decd3241beb4b469856 (from parents)
Merge: 84a4c05f3314292847c6f99648f44d9cbefd31b7 879aa918da5c7cc342e15d412c832a225984455e
Author: Grzegorz Dabrowski <gdx at o2.pl>
Date: Fri Sep 21 18:36:28 2007 +0000
Merge branch 'master' of git+ssh://kaliber@git.packagekit.org/srv/git/PackageKit
diff-tree 84a4c05f3314292847c6f99648f44d9cbefd31b7 (from 7da31b14365a674f0353c8c387fd9288223aa1ed)
Author: Grzegorz Dabrowski <gdx at o2.pl>
Date: Fri Sep 21 18:35:56 2007 +0000
fixed build problem with NetworkManager
diff --git a/src/Makefile.am b/src/Makefile.am
index e1c00b4..6b0f3fe 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,7 +16,7 @@ INCLUDES = \
$(DBUS_CFLAGS) \
$(SQLITE_CFLAGS) \
$(POLKIT_CFLAGS) \
- $(NM_CFLAGS) \
+ $(LIBNM_CFLAGS) \
-DBINDIR=\"$(bindir)\" \
-DDATADIR=\"$(datadir)\" \
-DPREFIX=\""$(prefix)"\" \
diff --git a/src/pk-network.c b/src/pk-network.c
index 86b643e..91de8cd 100644
--- a/src/pk-network.c
+++ b/src/pk-network.c
@@ -37,7 +37,7 @@
#include <fcntl.h>
#include <glib/gi18n.h>
-#include <libnm-glib/libnm_glib.h>
+#include <libnm_glib.h>
#include "pk-debug.h"
#include "pk-network.h"
diff-tree d29d6c9c2b8b6538f2eccaae7e8a4186395648ac (from 879aa918da5c7cc342e15d412c832a225984455e)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 17:46:30 2007 +0100
no more, she can't take it anymore captain
diff --git a/client/pk-monitor.c b/client/pk-monitor.c
index 06f57c4..2a19321 100644
--- a/client/pk-monitor.c
+++ b/client/pk-monitor.c
@@ -101,7 +101,7 @@ main (int argc, char *argv[])
pk_debug ("refreshing task list");
ret = pk_task_list_refresh (tlist);
if (ret == FALSE) {
- g_error ("cannot refresh job list");
+ g_error ("cannot refresh transaction list");
}
task_list = pk_task_list_get_latest (tlist);
pk_task_list_print (tlist);
diff --git a/libpackagekit/pk-task-client.c b/libpackagekit/pk-task-client.c
index af9cb5b..550957d 100644
--- a/libpackagekit/pk-task-client.c
+++ b/libpackagekit/pk-task-client.c
@@ -66,7 +66,7 @@ struct PkTaskClientPrivate
};
typedef enum {
- PK_TASK_CLIENT_JOB_STATUS_CHANGED,
+ PK_TASK_CLIENT_TRANSACTION_STATUS_CHANGED,
PK_TASK_CLIENT_PERCENTAGE_CHANGED,
PK_TASK_CLIENT_SUB_PERCENTAGE_CHANGED,
PK_TASK_CLIENT_NO_PERCENTAGE_UPDATES,
@@ -1108,10 +1108,10 @@ pk_task_client_no_percentage_updates_cb
}
/**
- * pk_task_client_job_status_changed_cb:
+ * pk_task_client_transaction_status_changed_cb:
*/
static void
-pk_task_client_job_status_changed_cb (PkTaskMonitor *tmonitor,
+pk_task_client_transaction_status_changed_cb (PkTaskMonitor *tmonitor,
PkStatusEnum status,
PkTaskClient *tclient)
{
@@ -1119,7 +1119,7 @@ pk_task_client_job_status_changed_cb (Pk
g_return_if_fail (PK_IS_TASK_CLIENT (tclient));
pk_debug ("emit transaction-status-changed %i", status);
- g_signal_emit (tclient , signals [PK_TASK_CLIENT_JOB_STATUS_CHANGED], 0, status);
+ g_signal_emit (tclient , signals [PK_TASK_CLIENT_TRANSACTION_STATUS_CHANGED], 0, status);
tclient->priv->last_status = status;
}
@@ -1254,7 +1254,7 @@ pk_task_client_class_init (PkTaskClientC
object_class->finalize = pk_task_client_finalize;
- signals [PK_TASK_CLIENT_JOB_STATUS_CHANGED] =
+ signals [PK_TASK_CLIENT_TRANSACTION_STATUS_CHANGED] =
g_signal_new ("transaction-status-changed",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
0, NULL, NULL, g_cclosure_marshal_VOID__UINT,
@@ -1381,7 +1381,7 @@ pk_task_client_init (PkTaskClient *tclie
g_signal_connect (tclient->priv->tmonitor, "no-percentage-updates",
G_CALLBACK (pk_task_client_no_percentage_updates_cb), tclient);
g_signal_connect (tclient->priv->tmonitor, "transaction-status-changed",
- G_CALLBACK (pk_task_client_job_status_changed_cb), tclient);
+ G_CALLBACK (pk_task_client_transaction_status_changed_cb), tclient);
g_signal_connect (tclient->priv->tmonitor, "package",
G_CALLBACK (pk_task_client_package_cb), tclient);
g_signal_connect (tclient->priv->tmonitor, "transaction",
diff --git a/libpackagekit/pk-task-list.c b/libpackagekit/pk-task-list.c
index 5b2d384..39521d2 100644
--- a/libpackagekit/pk-task-list.c
+++ b/libpackagekit/pk-task-list.c
@@ -257,10 +257,10 @@ pk_task_list_get_latest (PkTaskList *tli
}
/**
- * pk_task_list_job_list_changed_cb:
+ * pk_task_list_transaction_list_changed_cb:
**/
static void
-pk_task_list_job_list_changed_cb (PkJobList *jlist, PkTaskList *tlist)
+pk_task_list_transaction_list_changed_cb (PkJobList *jlist, PkTaskList *tlist)
{
/* for now, just refresh all the jobs. a little inefficient me thinks */
pk_task_list_refresh (tlist);
@@ -308,7 +308,7 @@ pk_task_list_init (PkTaskList *tlist)
/* get the changing job list */
tlist->priv->job_list = pk_job_list_new ();
g_signal_connect (tlist->priv->job_list, "transaction-list-changed",
- G_CALLBACK (pk_task_list_job_list_changed_cb), tlist);
+ G_CALLBACK (pk_task_list_transaction_list_changed_cb), tlist);
/* we maintain a local copy */
tlist->priv->task_list = g_ptr_array_new ();
diff --git a/libpackagekit/pk-task-monitor.c b/libpackagekit/pk-task-monitor.c
index ddd2462..0202fef 100644
--- a/libpackagekit/pk-task-monitor.c
+++ b/libpackagekit/pk-task-monitor.c
@@ -377,10 +377,10 @@ pk_task_monitor_no_percentage_updates_cb
}
/**
- * pk_task_monitor_job_status_changed_cb:
+ * pk_task_monitor_transaction_status_changed_cb:
*/
static void
-pk_task_monitor_job_status_changed_cb (DBusGProxy *proxy,
+pk_task_monitor_transaction_status_changed_cb (DBusGProxy *proxy,
const gchar *tid,
const gchar *status_text,
PkTaskMonitor *tmonitor)
@@ -701,7 +701,7 @@ pk_task_monitor_init (PkTaskMonitor *tmo
dbus_g_proxy_add_signal (proxy, "TransactionStatusChanged",
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
dbus_g_proxy_connect_signal (proxy, "TransactionStatusChanged",
- G_CALLBACK (pk_task_monitor_job_status_changed_cb), tmonitor, NULL);
+ G_CALLBACK (pk_task_monitor_transaction_status_changed_cb), tmonitor, NULL);
dbus_g_proxy_add_signal (proxy, "Package",
G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
@@ -758,7 +758,7 @@ pk_task_monitor_finalize (GObject *objec
dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "NoPercentageUpdates",
G_CALLBACK (pk_task_monitor_no_percentage_updates_cb), tmonitor);
dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "TransactionStatusChanged",
- G_CALLBACK (pk_task_monitor_job_status_changed_cb), tmonitor);
+ G_CALLBACK (pk_task_monitor_transaction_status_changed_cb), tmonitor);
dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "Package",
G_CALLBACK (pk_task_monitor_package_cb), tmonitor);
dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "Transaction",
diff --git a/python/packagekit.py b/python/packagekit.py
index 98daaba..28b7359 100644
--- a/python/packagekit.py
+++ b/python/packagekit.py
@@ -43,7 +43,7 @@ class PackageKitNotStarted(PackageKitExc
class PackageKitAccessDenied(PackageKitException):
pass
-class PackageKitJobFailure(PackageKitException):
+class PackageKitTransactionFailure(PackageKitException):
pass
class PackageKitBackendFailure(PackageKitException):
@@ -71,7 +71,7 @@ class PackageKit:
def wrapper(*args,**kwargs):
jid = func(*args,**kwargs)
if jid == -1:
- raise PackageKitJobFailure
+ raise PackageKitTransactionFailure
else:
return jid
return wrapper
diff --git a/python/pkt b/python/pkt
index 3bbc44d..ab8b71b 100755
--- a/python/pkt
+++ b/python/pkt
@@ -39,19 +39,19 @@ def search(*args):
patt = " ".join(args[0])
if len(patt)==0:
print "need something to search for"
- raise PackageKitJobFailure
+ raise PackageKitTransactionFailure
return p.SearchName(patt)
def desc(*args):
if len(args)!=1 or len(args[0])!=1:
print "desc only takes single arg"
- raise PackageKitJobFailure
+ raise PackageKitTransactionFailure
return p.GetDescription(args[0][0])
def update(args):
if len(args)>0 and len(args[0])>0:
print "update doesn't take args"
- raise PackageKitJobFailure
+ raise PackageKitTransactionFailure
return p.RefreshCache()
def usage():
@@ -80,7 +80,7 @@ try:
except PackageKitAccessDenied:
print "You don't have sufficient permissions to access PackageKit (on the org.freedesktop.PackageKit dbus service)"
exit(1)
-except PackageKitJobFailure:
+except PackageKitTransactionFailure:
usage()
p.run()
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 1ac1d14..9f7148d 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -55,7 +55,7 @@ struct _PkBackendPrivate
{
GModule *handle;
gchar *name;
- PkStatusEnum role; /* this never changes for the lifetime of a job */
+ PkStatusEnum role; /* this never changes for the lifetime of a transaction */
PkStatusEnum status; /* this changes */
gboolean xcached_force;
gboolean xcached_allow_deps;
@@ -847,7 +847,7 @@ pk_backend_finished (PkBackend *backend)
pk_error ("Internal error, cannot continue (will segfault in the near future...)");
}
- /* we have to run this idle as the command may finish before the job
+ /* we have to run this idle as the command may finish before the transaction
* has been sent to the client. I love async... */
pk_debug ("adding finished %p to timeout loop", backend);
g_timeout_add (50, pk_backend_finished_delay, backend);
diff --git a/src/pk-engine.c b/src/pk-engine.c
index 828892b..3b74114 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -171,10 +171,10 @@ pk_engine_transaction_list_changed_cb (P
}
/**
- * pk_engine_job_status_changed_cb:
+ * pk_engine_transaction_status_changed_cb:
**/
static void
-pk_engine_job_status_changed_cb (PkBackend *backend, PkStatusEnum status, PkEngine *engine)
+pk_engine_transaction_status_changed_cb (PkBackend *backend, PkStatusEnum status, PkEngine *engine)
{
PkTransactionItem *item;
const gchar *status_text;
@@ -400,7 +400,7 @@ pk_engine_finished_cb (PkBackend *backen
pk_debug ("backend was running for %f seconds", time);
pk_transaction_db_set_finished (engine->priv->transaction_db, item->tid, TRUE, time);
- pk_debug ("emitting finished job:%s, '%s', %i", item->tid, exit_text, (guint) time);
+ pk_debug ("emitting finished transaction:%s, '%s', %i", item->tid, exit_text, (guint) time);
g_signal_emit (engine, signals [PK_ENGINE_FINISHED], 0, item->tid, exit_text, (guint) time);
/* unref */
@@ -452,7 +452,7 @@ pk_engine_new_backend (PkEngine *engine)
/* connect up signals */
g_signal_connect (backend, "transaction-status-changed",
- G_CALLBACK (pk_engine_job_status_changed_cb), engine);
+ G_CALLBACK (pk_engine_transaction_status_changed_cb), engine);
g_signal_connect (backend, "percentage-changed",
G_CALLBACK (pk_engine_percentage_changed_cb), engine);
g_signal_connect (backend, "sub-percentage-changed",
@@ -480,7 +480,7 @@ pk_engine_new_backend (PkEngine *engine)
pk_transaction_list_add (engine->priv->transaction_list, backend);
/* we don't add to the array or do the transaction-list-changed yet
- * as this job might fail */
+ * as this transaction might fail */
return backend;
}
@@ -1423,7 +1423,7 @@ pk_engine_get_transaction_list (PkEngine
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- pk_debug ("getting job list");
+ pk_debug ("getting transaction list");
*transaction_list = pk_transaction_list_get_array (engine->priv->transaction_list);
return TRUE;
@@ -1713,11 +1713,11 @@ pk_engine_get_seconds_idle (PkEngine *en
g_return_val_if_fail (engine != NULL, 0);
g_return_val_if_fail (PK_IS_ENGINE (engine), 0);
- /* check for jobs running - a job that takes a *long* time might not
+ /* check for transactions running - a transaction that takes a *long* time might not
* give sufficient percentage updates to not be marked as idle */
size = pk_transaction_list_get_size (engine->priv->transaction_list);
if (size != 0) {
- pk_debug ("engine idle zero as %i jobs in progress", size);
+ pk_debug ("engine idle zero as %i transactions in progress", size);
return 0;
}
diff-tree 879aa918da5c7cc342e15d412c832a225984455e (from e4272897795e9000ab86066f267f85f43446467d)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 17:35:19 2007 +0100
fix make check
diff --git a/libpackagekit/pk-enum-list.c b/libpackagekit/pk-enum-list.c
index 2a18d68..028a1dc 100644
--- a/libpackagekit/pk-enum-list.c
+++ b/libpackagekit/pk-enum-list.c
@@ -341,7 +341,7 @@ libst_enum_list (LibSelfTest *test)
/************************************************************/
libst_title (test, "add multiple");
- ret = pk_enum_list_append_multiple (elist, PK_ROLE_ENUM_SEARCH_DETAILS, PK_ACTION_ENUM_SEARCH_GROUP, -1);
+ ret = pk_enum_list_append_multiple (elist, PK_ROLE_ENUM_SEARCH_DETAILS, PK_ROLE_ENUM_SEARCH_GROUP, -1);
if (ret == TRUE) {
libst_success (test, NULL);
} else {
diff-tree e4272897795e9000ab86066f267f85f43446467d (from 7da31b14365a674f0353c8c387fd9288223aa1ed)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 17:34:30 2007 +0100
convert more job'isms
diff --git a/libpackagekit/pk-job-list.c b/libpackagekit/pk-job-list.c
index 5f88d92..24e54c9 100644
--- a/libpackagekit/pk-job-list.c
+++ b/libpackagekit/pk-job-list.c
@@ -54,7 +54,7 @@ struct PkJobListPrivate
};
typedef enum {
- PK_JOB_LIST_CHANGED,
+ PK_TRANSACTION_LIST_CHANGED,
PK_JOB_LIST_LAST_SIGNAL
} PkSignals;
@@ -154,8 +154,8 @@ pk_job_list_changed_cb (DBusGProxy *prox
g_strfreev (jlist->priv->array);
}
jlist->priv->array = g_strdupv (array);
- pk_debug ("emit job-list-changed");
- g_signal_emit (jlist , signals [PK_JOB_LIST_CHANGED], 0);
+ pk_debug ("emit transaction-list-changed");
+ g_signal_emit (jlist , signals [PK_TRANSACTION_LIST_CHANGED], 0);
}
/**
@@ -168,8 +168,8 @@ pk_job_list_class_init (PkJobListClass *
object_class->finalize = pk_job_list_finalize;
- signals [PK_JOB_LIST_CHANGED] =
- g_signal_new ("job-list-changed",
+ signals [PK_TRANSACTION_LIST_CHANGED] =
+ g_signal_new ("transaction-list-changed",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
diff --git a/libpackagekit/pk-task-client.c b/libpackagekit/pk-task-client.c
index ae8562c..af9cb5b 100644
--- a/libpackagekit/pk-task-client.c
+++ b/libpackagekit/pk-task-client.c
@@ -1118,7 +1118,7 @@ pk_task_client_job_status_changed_cb (Pk
g_return_if_fail (tclient != NULL);
g_return_if_fail (PK_IS_TASK_CLIENT (tclient));
- pk_debug ("emit job-status-changed %i", status);
+ pk_debug ("emit transaction-status-changed %i", status);
g_signal_emit (tclient , signals [PK_TASK_CLIENT_JOB_STATUS_CHANGED], 0, status);
tclient->priv->last_status = status;
}
@@ -1255,7 +1255,7 @@ pk_task_client_class_init (PkTaskClientC
object_class->finalize = pk_task_client_finalize;
signals [PK_TASK_CLIENT_JOB_STATUS_CHANGED] =
- g_signal_new ("job-status-changed",
+ g_signal_new ("transaction-status-changed",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
0, NULL, NULL, g_cclosure_marshal_VOID__UINT,
G_TYPE_NONE, 1, G_TYPE_UINT);
@@ -1380,7 +1380,7 @@ pk_task_client_init (PkTaskClient *tclie
G_CALLBACK (pk_task_client_sub_percentage_changed_cb), tclient);
g_signal_connect (tclient->priv->tmonitor, "no-percentage-updates",
G_CALLBACK (pk_task_client_no_percentage_updates_cb), tclient);
- g_signal_connect (tclient->priv->tmonitor, "job-status-changed",
+ g_signal_connect (tclient->priv->tmonitor, "transaction-status-changed",
G_CALLBACK (pk_task_client_job_status_changed_cb), tclient);
g_signal_connect (tclient->priv->tmonitor, "package",
G_CALLBACK (pk_task_client_package_cb), tclient);
diff --git a/libpackagekit/pk-task-list.c b/libpackagekit/pk-task-list.c
index 266f02b..5b2d384 100644
--- a/libpackagekit/pk-task-list.c
+++ b/libpackagekit/pk-task-list.c
@@ -209,7 +209,7 @@ pk_task_list_refresh (PkTaskList *tlist)
item = g_new0 (PkTaskListItem, 1);
item->tid = g_strdup (tid);
item->monitor = pk_task_monitor_new ();
- g_signal_connect (item->monitor, "job-status-changed",
+ g_signal_connect (item->monitor, "transaction-status-changed",
G_CALLBACK (pk_task_list_job_status_changed_cb), tlist);
g_signal_connect (item->monitor, "finished",
G_CALLBACK (pk_task_list_job_finished_cb), tlist);
@@ -307,7 +307,7 @@ pk_task_list_init (PkTaskList *tlist)
/* get the changing job list */
tlist->priv->job_list = pk_job_list_new ();
- g_signal_connect (tlist->priv->job_list, "job-list-changed",
+ g_signal_connect (tlist->priv->job_list, "transaction-list-changed",
G_CALLBACK (pk_task_list_job_list_changed_cb), tlist);
/* we maintain a local copy */
diff --git a/libpackagekit/pk-task-monitor.c b/libpackagekit/pk-task-monitor.c
index ab17893..ddd2462 100644
--- a/libpackagekit/pk-task-monitor.c
+++ b/libpackagekit/pk-task-monitor.c
@@ -54,7 +54,7 @@ struct PkTaskMonitorPrivate
};
typedef enum {
- PK_TASK_MONITOR_JOB_STATUS_CHANGED,
+ PK_TASK_MONITOR_TRANSACTION_STATUS_CHANGED,
PK_TASK_MONITOR_PERCENTAGE_CHANGED,
PK_TASK_MONITOR_SUB_PERCENTAGE_CHANGED,
PK_TASK_MONITOR_NO_PERCENTAGE_UPDATES,
@@ -393,8 +393,8 @@ pk_task_monitor_job_status_changed_cb (D
status = pk_status_enum_from_text (status_text);
if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
- pk_debug ("emit job-status-changed %i", status);
- g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_JOB_STATUS_CHANGED], 0, status);
+ pk_debug ("emit transaction-status-changed %i", status);
+ g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_TRANSACTION_STATUS_CHANGED], 0, status);
}
}
@@ -535,8 +535,8 @@ pk_task_monitor_class_init (PkTaskMonito
object_class->finalize = pk_task_monitor_finalize;
- signals [PK_TASK_MONITOR_JOB_STATUS_CHANGED] =
- g_signal_new ("job-status-changed",
+ signals [PK_TASK_MONITOR_TRANSACTION_STATUS_CHANGED] =
+ g_signal_new ("transaction-status-changed",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
0, NULL, NULL, g_cclosure_marshal_VOID__UINT,
G_TYPE_NONE, 1, G_TYPE_UINT);
@@ -698,9 +698,9 @@ pk_task_monitor_init (PkTaskMonitor *tmo
dbus_g_proxy_connect_signal (proxy, "NoPercentageUpdates",
G_CALLBACK (pk_task_monitor_no_percentage_updates_cb), tmonitor, NULL);
- dbus_g_proxy_add_signal (proxy, "JobStatusChanged",
+ dbus_g_proxy_add_signal (proxy, "TransactionStatusChanged",
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
- dbus_g_proxy_connect_signal (proxy, "JobStatusChanged",
+ dbus_g_proxy_connect_signal (proxy, "TransactionStatusChanged",
G_CALLBACK (pk_task_monitor_job_status_changed_cb), tmonitor, NULL);
dbus_g_proxy_add_signal (proxy, "Package",
@@ -757,7 +757,7 @@ pk_task_monitor_finalize (GObject *objec
G_CALLBACK (pk_task_monitor_sub_percentage_changed_cb), tmonitor);
dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "NoPercentageUpdates",
G_CALLBACK (pk_task_monitor_no_percentage_updates_cb), tmonitor);
- dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "JobStatusChanged",
+ dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "TransactionStatusChanged",
G_CALLBACK (pk_task_monitor_job_status_changed_cb), tmonitor);
dbus_g_proxy_disconnect_signal (tmonitor->priv->proxy, "Package",
G_CALLBACK (pk_task_monitor_package_cb), tmonitor);
diff --git a/python/packagekit.py b/python/packagekit.py
index a86e574..98daaba 100644
--- a/python/packagekit.py
+++ b/python/packagekit.py
@@ -109,7 +109,7 @@ class PackageKit:
elif kwargs['member'] == "SubPercentageChanged":
progress = (float(args[1])/100.0)+int(progress)
self.Percentage(progress)
- elif kwargs['member'] == "JobStatusChanged":
+ elif kwargs['member'] == "TransactionStatusChanged":
self.JobStatus(args[1])
elif kwargs['member'] == "Package":
self.Package(args[2],args[3])
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 862fcd5..1ac1d14 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -82,7 +82,7 @@ struct _PkBackendPrivate
};
enum {
- PK_BACKEND_JOB_STATUS_CHANGED,
+ PK_BACKEND_TRANSACTION_STATUS_CHANGED,
PK_BACKEND_PERCENTAGE_CHANGED,
PK_BACKEND_SUB_PERCENTAGE_CHANGED,
PK_BACKEND_NO_PERCENTAGE_UPDATES,
@@ -605,8 +605,8 @@ pk_backend_change_status (PkBackend *bac
g_return_val_if_fail (backend != NULL, FALSE);
g_return_val_if_fail (PK_IS_BACKEND (backend), FALSE);
backend->priv->status = status;
- pk_debug ("emiting job-status-changed %i", status);
- g_signal_emit (backend, signals [PK_BACKEND_JOB_STATUS_CHANGED], 0, status);
+ pk_debug ("emiting transaction-status-changed %i", status);
+ g_signal_emit (backend, signals [PK_BACKEND_TRANSACTION_STATUS_CHANGED], 0, status);
return TRUE;
}
@@ -1383,8 +1383,8 @@ pk_backend_class_init (PkBackendClass *k
object_class->finalize = pk_backend_finalize;
- signals [PK_BACKEND_JOB_STATUS_CHANGED] =
- g_signal_new ("job-status-changed",
+ signals [PK_BACKEND_TRANSACTION_STATUS_CHANGED] =
+ g_signal_new ("transaction-status-changed",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
0, NULL, NULL, g_cclosure_marshal_VOID__UINT,
G_TYPE_NONE, 1, G_TYPE_UINT);
diff --git a/src/pk-engine.c b/src/pk-engine.c
index c68ba8c..828892b 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -62,13 +62,13 @@ struct PkEnginePrivate
PolKitContext *pk_context;
DBusConnection *connection;
gchar *backend;
- PkTransactionList *job_list;
+ PkTransactionList *transaction_list;
PkTransactionDb *transaction_db;
};
enum {
- PK_ENGINE_JOB_LIST_CHANGED,
- PK_ENGINE_JOB_STATUS_CHANGED,
+ PK_ENGINE_TRANSACTION_LIST_CHANGED,
+ PK_ENGINE_TRANSACTION_STATUS_CHANGED,
PK_ENGINE_PERCENTAGE_CHANGED,
PK_ENGINE_SUB_PERCENTAGE_CHANGED,
PK_ENGINE_NO_PERCENTAGE_UPDATES,
@@ -158,15 +158,15 @@ pk_engine_reset_timer (PkEngine *engine)
static void
pk_engine_transaction_list_changed_cb (PkTransactionList *tlist, PkEngine *engine)
{
- gchar **job_list;
+ gchar **transaction_list;
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- job_list = pk_transaction_list_get_array (engine->priv->job_list);
+ transaction_list = pk_transaction_list_get_array (engine->priv->transaction_list);
- pk_debug ("emitting job-list-changed");
- g_signal_emit (engine, signals [PK_ENGINE_JOB_LIST_CHANGED], 0, job_list);
+ pk_debug ("emitting transaction-list-changed");
+ g_signal_emit (engine, signals [PK_ENGINE_TRANSACTION_LIST_CHANGED], 0, transaction_list);
pk_engine_reset_timer (engine);
}
@@ -182,15 +182,15 @@ pk_engine_job_status_changed_cb (PkBacke
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
}
status_text = pk_status_enum_to_text (status);
- pk_debug ("emitting job-status-changed tid:%s, '%s'", item->tid, status_text);
- g_signal_emit (engine, signals [PK_ENGINE_JOB_STATUS_CHANGED], 0, item->tid, status_text);
+ pk_debug ("emitting transaction-status-changed tid:%s, '%s'", item->tid, status_text);
+ g_signal_emit (engine, signals [PK_ENGINE_TRANSACTION_STATUS_CHANGED], 0, item->tid, status_text);
pk_engine_reset_timer (engine);
}
@@ -205,7 +205,7 @@ pk_engine_percentage_changed_cb (PkBacke
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -226,7 +226,7 @@ pk_engine_sub_percentage_changed_cb (PkB
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -247,7 +247,7 @@ pk_engine_no_percentage_updates_cb (PkBa
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -268,7 +268,7 @@ pk_engine_package_cb (PkBackend *backend
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -292,7 +292,7 @@ pk_engine_update_detail_cb (PkBackend *b
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -316,7 +316,7 @@ pk_engine_error_code_cb (PkBackend *back
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -339,7 +339,7 @@ pk_engine_require_restart_cb (PkBackend
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -363,7 +363,7 @@ pk_engine_description_cb (PkBackend *bac
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -387,7 +387,7 @@ pk_engine_finished_cb (PkBackend *backen
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -419,7 +419,7 @@ pk_engine_allow_interrupt_cb (PkBackend
g_return_if_fail (engine != NULL);
g_return_if_fail (PK_IS_ENGINE (engine));
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -451,7 +451,7 @@ pk_engine_new_backend (PkEngine *engine)
pk_debug ("adding backend %p", backend);
/* connect up signals */
- g_signal_connect (backend, "job-status-changed",
+ g_signal_connect (backend, "transaction-status-changed",
G_CALLBACK (pk_engine_job_status_changed_cb), engine);
g_signal_connect (backend, "percentage-changed",
G_CALLBACK (pk_engine_percentage_changed_cb), engine);
@@ -477,9 +477,9 @@ pk_engine_new_backend (PkEngine *engine)
/* initialise some stuff */
pk_engine_reset_timer (engine);
- pk_transaction_list_add (engine->priv->job_list, backend);
+ pk_transaction_list_add (engine->priv->transaction_list, backend);
- /* we don't add to the array or do the job-list-changed yet
+ /* we don't add to the array or do the transaction-list-changed yet
* as this job might fail */
return backend;
}
@@ -497,10 +497,10 @@ pk_engine_add_backend (PkEngine *engine,
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
/* commit, so it appears in the JobList */
- pk_transaction_list_commit (engine->priv->job_list, backend);
+ pk_transaction_list_commit (engine->priv->transaction_list, backend);
/* get all the data we know */
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
/* only save into the database for useful stuff */
pk_backend_get_role (backend, &role, NULL);
@@ -531,7 +531,7 @@ pk_engine_delete_backend (PkEngine *engi
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
pk_debug ("removing backend %p as it failed", backend);
- pk_transaction_list_remove (engine->priv->job_list, backend);
+ pk_transaction_list_remove (engine->priv->transaction_list, backend);
/* we don't do g_object_unref (backend) here as it is done in the
::finished handler */
@@ -626,7 +626,7 @@ pk_engine_refresh_cache (PkEngine *engin
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -665,7 +665,7 @@ pk_engine_get_updates (PkEngine *engine,
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -769,7 +769,7 @@ pk_engine_search_name (PkEngine *engine,
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -821,7 +821,7 @@ pk_engine_search_details (PkEngine *engi
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -873,7 +873,7 @@ pk_engine_search_group (PkEngine *engine
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -925,7 +925,7 @@ pk_engine_search_file (PkEngine *engine,
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -973,7 +973,7 @@ pk_engine_get_depends (PkEngine *engine,
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -1021,7 +1021,7 @@ pk_engine_get_requires (PkEngine *engine
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -1069,7 +1069,7 @@ pk_engine_get_update_detail (PkEngine *e
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -1109,7 +1109,7 @@ pk_engine_get_description (PkEngine *eng
return FALSE;
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return FALSE;
@@ -1142,7 +1142,7 @@ pk_engine_update_system (PkEngine *engin
}
/* are we already performing an update? */
- if (pk_transaction_list_role_present (engine->priv->job_list, PK_ROLE_ENUM_UPDATE_SYSTEM) == TRUE) {
+ if (pk_transaction_list_role_present (engine->priv->transaction_list, PK_ROLE_ENUM_UPDATE_SYSTEM) == TRUE) {
error = g_error_new (PK_ENGINE_ERROR, PK_ENGINE_ERROR_TRANSACTION_EXISTS_WITH_ROLE,
"Already performing system update");
dbus_g_method_return_error (context, error);
@@ -1168,7 +1168,7 @@ pk_engine_update_system (PkEngine *engin
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -1226,7 +1226,7 @@ pk_engine_remove_package (PkEngine *engi
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -1286,7 +1286,7 @@ pk_engine_install_package (PkEngine *eng
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -1346,7 +1346,7 @@ pk_engine_install_file (PkEngine *engine
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -1406,7 +1406,7 @@ pk_engine_update_package (PkEngine *engi
}
pk_engine_add_backend (engine, backend);
- item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ item = pk_transaction_list_get_item_from_backend (engine->priv->transaction_list, backend);
if (item == NULL) {
pk_warning ("could not find backend");
return;
@@ -1418,13 +1418,13 @@ pk_engine_update_package (PkEngine *engi
* pk_engine_get_transaction_list:
**/
gboolean
-pk_engine_get_transaction_list (PkEngine *engine, gchar ***job_list, GError **error)
+pk_engine_get_transaction_list (PkEngine *engine, gchar ***transaction_list, GError **error)
{
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
pk_debug ("getting job list");
- *job_list = pk_transaction_list_get_array (engine->priv->job_list);
+ *transaction_list = pk_transaction_list_get_array (engine->priv->transaction_list);
return TRUE;
}
@@ -1442,7 +1442,7 @@ pk_engine_get_status (PkEngine *engine,
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
+ item = pk_transaction_list_get_item_from_tid (engine->priv->transaction_list, tid);
if (item == NULL) {
g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
@@ -1467,7 +1467,7 @@ pk_engine_get_role (PkEngine *engine, co
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
+ item = pk_transaction_list_get_item_from_tid (engine->priv->transaction_list, tid);
if (item == NULL) {
g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
@@ -1491,7 +1491,7 @@ pk_engine_get_percentage (PkEngine *engi
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
+ item = pk_transaction_list_get_item_from_tid (engine->priv->transaction_list, tid);
if (item == NULL) {
g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
@@ -1518,7 +1518,7 @@ pk_engine_get_sub_percentage (PkEngine *
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
+ item = pk_transaction_list_get_item_from_tid (engine->priv->transaction_list, tid);
if (item == NULL) {
g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
@@ -1545,7 +1545,7 @@ pk_engine_get_package (PkEngine *engine,
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
+ item = pk_transaction_list_get_item_from_tid (engine->priv->transaction_list, tid);
if (item == NULL) {
g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
@@ -1585,7 +1585,7 @@ pk_engine_cancel (PkEngine *engine, cons
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
- item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
+ item = pk_transaction_list_get_item_from_tid (engine->priv->transaction_list, tid);
if (item == NULL) {
g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
@@ -1715,7 +1715,7 @@ pk_engine_get_seconds_idle (PkEngine *en
/* check for jobs running - a job that takes a *long* time might not
* give sufficient percentage updates to not be marked as idle */
- size = pk_transaction_list_get_size (engine->priv->job_list);
+ size = pk_transaction_list_get_size (engine->priv->transaction_list);
if (size != 0) {
pk_debug ("engine idle zero as %i jobs in progress", size);
return 0;
@@ -1738,13 +1738,13 @@ pk_engine_class_init (PkEngineClass *kla
object_class->finalize = pk_engine_finalize;
/* set up signal that emits 'au' */
- signals [PK_ENGINE_JOB_LIST_CHANGED] =
- g_signal_new ("job-list-changed",
+ signals [PK_ENGINE_TRANSACTION_LIST_CHANGED] =
+ g_signal_new ("transaction-list-changed",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
0, NULL, NULL, g_cclosure_marshal_VOID__BOXED,
G_TYPE_NONE, 1, G_TYPE_STRV);
- signals [PK_ENGINE_JOB_STATUS_CHANGED] =
- g_signal_new ("job-status-changed",
+ signals [PK_ENGINE_TRANSACTION_STATUS_CHANGED] =
+ g_signal_new ("transaction-status-changed",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
0, NULL, NULL, pk_marshal_VOID__STRING_STRING,
G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
@@ -1824,8 +1824,8 @@ pk_engine_init (PkEngine *engine)
engine->priv->timer = g_timer_new ();
engine->priv->backend = NULL;
- engine->priv->job_list = pk_transaction_list_new ();
- g_signal_connect (engine->priv->job_list, "changed",
+ engine->priv->transaction_list = pk_transaction_list_new ();
+ g_signal_connect (engine->priv->transaction_list, "changed",
G_CALLBACK (pk_engine_transaction_list_changed_cb), engine);
/* we use a trasaction db to store old transactions and to do rollbacks */
@@ -1870,7 +1870,7 @@ pk_engine_finalize (GObject *object)
g_timer_destroy (engine->priv->timer);
g_free (engine->priv->backend);
polkit_context_unref (engine->priv->pk_context);
- g_object_unref (engine->priv->job_list);
+ g_object_unref (engine->priv->transaction_list);
g_object_unref (engine->priv->transaction_db);
G_OBJECT_CLASS (pk_engine_parent_class)->finalize (object);
diff --git a/src/pk-engine.h b/src/pk-engine.h
index e60273d..f913482 100644
--- a/src/pk-engine.h
+++ b/src/pk-engine.h
@@ -139,8 +139,8 @@ void pk_engine_update_package (PkEngi
const gchar *package_id,
DBusGMethodInvocation *context,
GError **error);
-gboolean pk_engine_get_transaction_list (PkEngine *engine,
- gchar ***job_list,
+gboolean pk_engine_get_transaction_list (PkEngine *engine,
+ gchar ***transaction_list,
GError **error);
gboolean pk_engine_get_status (PkEngine *engine,
const gchar *tid,
diff --git a/src/pk-interface.xml b/src/pk-interface.xml
index f057b01..4b57ca4 100644
--- a/src/pk-interface.xml
+++ b/src/pk-interface.xml
@@ -2,7 +2,7 @@
<node name="/">
<interface name="org.freedesktop.PackageKit">
- <!-- Schedule new jobs -->
+ <!-- Schedule new transactions -->
<method name="GetUpdates">
<arg type="s" name="tid" direction="out"/>
</method>
@@ -72,12 +72,12 @@
<arg type="s" name="tid" direction="out"/>
</method>
- <!-- signals emitted from any job -->
- <signal name="JobStatusChanged">
+ <!-- signals emitted from any transaction -->
+ <signal name="TransactionStatusChanged">
<arg type="s" name="tid" direction="out"/>
<arg type="s" name="status" direction="out"/> <!-- invalid,setup,download,install,update,exit -->
</signal>
- <signal name="PercentageChanged"> <!-- progress of the whole job -->
+ <signal name="PercentageChanged"> <!-- progress of the whole transaction -->
<arg type="s" name="tid" direction="out"/>
<arg type="u" name="percentage" direction="out"/>
</signal>
@@ -114,11 +114,11 @@
<signal name="Finished">
<arg type="s" name="tid" direction="out"/>
<arg type="s" name="status" direction="out"/> <!-- success,failed,canceled -->
- <arg type="u" name="runtime" direction="out"/> <!-- amount of time job has been running in seconds -->
+ <arg type="u" name="runtime" direction="out"/> <!-- amount of time transaction has been running in seconds -->
</signal>
<signal name="AllowInterrupt">
<arg type="s" name="tid" direction="out"/>
- <arg type="b" name="allow_kill" direction="out"/> <!-- if the job can be SIGKILL'd -->
+ <arg type="b" name="allow_kill" direction="out"/> <!-- if the transaction can be SIGKILL'd -->
</signal>
<signal name="ErrorCode">
<arg type="s" name="tid" direction="out"/>
@@ -131,17 +131,17 @@
<arg type="s" name="details" direction="out"/> <!-- non-localized detail -->
</signal>
- <!-- Do things or query jobs -->
+ <!-- Do things or query transactions -->
<method name="Cancel"> <!-- might not succeed for all manner or reasons -->
<!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
</method>
- <method name="GetStatus"> <!-- this is what the job is currrently doing, and might change -->
+ <method name="GetStatus"> <!-- this is what the transaction is currrently doing, and might change -->
<!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
<arg type="s" name="status" direction="out"/> <!-- query,download,install,exit -->
</method>
- <method name="GetRole"> <!-- this is the master role, i.e. won't change for the lifetime of the job -->
+ <method name="GetRole"> <!-- this is the master role, i.e. won't change for the lifetime of the transaction -->
<!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
<arg type="s" name="status" direction="out"/> <!-- query,download,install,exit -->
diff-tree 7da31b14365a674f0353c8c387fd9288223aa1ed (from c5e0f41d4db3fa360a6528566675b2ba11258067)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 17:21:58 2007 +0100
remove some of the job'isms
diff --git a/TODO b/TODO
index 1d411e1..647b139 100644
--- a/TODO
+++ b/TODO
@@ -1,8 +1,6 @@
Order of no particular importance:
*** API Changes ***
-s/GetJobList/GetTransactions
-s/JobListChanged/TransactionListChanged
s/GetOldTransactions/GetTransactionDetails
*** Have to have an UpdatesChanged signal ***
diff --git a/libpackagekit/pk-job-list.c b/libpackagekit/pk-job-list.c
index 1fc2361..5f88d92 100644
--- a/libpackagekit/pk-job-list.c
+++ b/libpackagekit/pk-job-list.c
@@ -109,7 +109,7 @@ pk_job_list_refresh (PkJobList *jlist)
jlist->priv->array = NULL;
}
error = NULL;
- ret = dbus_g_proxy_call (jlist->priv->proxy, "GetJobList", &error,
+ ret = dbus_g_proxy_call (jlist->priv->proxy, "GetTransactionList", &error,
G_TYPE_INVALID,
G_TYPE_STRV, &array,
G_TYPE_INVALID);
@@ -119,7 +119,7 @@ pk_job_list_refresh (PkJobList *jlist)
}
if (ret == FALSE) {
/* abort as the DBUS method failed */
- pk_warning ("GetJobList failed!");
+ pk_warning ("GetTransactionList failed!");
jlist->priv->array = NULL;
return FALSE;
}
@@ -240,9 +240,9 @@ pk_job_list_init (PkJobList *jlist)
}
jlist->priv->proxy = proxy;
- dbus_g_proxy_add_signal (proxy, "JobListChanged",
+ dbus_g_proxy_add_signal (proxy, "TransactionListChanged",
G_TYPE_STRV, G_TYPE_INVALID);
- dbus_g_proxy_connect_signal (proxy, "JobListChanged",
+ dbus_g_proxy_connect_signal (proxy, "TransactionListChanged",
G_CALLBACK(pk_job_list_changed_cb), jlist, NULL);
/* force a refresh so we have valid data*/
diff --git a/python/packagekit.py b/python/packagekit.py
index 58304d0..a86e574 100644
--- a/python/packagekit.py
+++ b/python/packagekit.py
@@ -97,7 +97,7 @@ class PackageKit:
self.loop.run()
def catchall_signal_handler(self,*args, **kwargs):
- #if args[0] != self.job and kwargs['member']!="JobListChanged":
+ #if args[0] != self.job and kwargs['member']!="TransactionListChanged":
# print "args",args,kwargs
# return
if kwargs['member'] == "Finished":
@@ -113,7 +113,7 @@ class PackageKit:
self.JobStatus(args[1])
elif kwargs['member'] == "Package":
self.Package(args[2],args[3])
- elif kwargs['member'] in ["NoPercentageUpdates","JobListChanged"]:
+ elif kwargs['member'] in ["NoPercentageUpdates","TransactionListChanged"]:
pass
else:
print "Caught signal %s"% kwargs['member']
diff --git a/src/pk-engine.c b/src/pk-engine.c
index 86196c7..c68ba8c 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -115,9 +115,9 @@ pk_engine_error_get_type (void)
{
ENUM_ENTRY (PK_ENGINE_ERROR_DENIED, "PermissionDenied"),
ENUM_ENTRY (PK_ENGINE_ERROR_NOT_SUPPORTED, "NotSupported"),
- ENUM_ENTRY (PK_ENGINE_ERROR_NO_SUCH_JOB, "NoSuchJob"),
+ ENUM_ENTRY (PK_ENGINE_ERROR_NO_SUCH_TRANSACTION, "NoSuchTransaction"),
ENUM_ENTRY (PK_ENGINE_ERROR_NO_SUCH_FILE, "NoSuchFile"),
- ENUM_ENTRY (PK_ENGINE_ERROR_JOB_EXISTS_WITH_ROLE, "JobExistsWithRole"),
+ ENUM_ENTRY (PK_ENGINE_ERROR_TRANSACTION_EXISTS_WITH_ROLE, "TransactionExistsWithRole"),
ENUM_ENTRY (PK_ENGINE_ERROR_REFUSED_BY_POLICY, "RefusedByPolicy"),
ENUM_ENTRY (PK_ENGINE_ERROR_PACKAGE_ID_INVALID, "PackageIdInvalid"),
ENUM_ENTRY (PK_ENGINE_ERROR_SEARCH_INVALID, "SearchInvalid"),
@@ -1143,7 +1143,7 @@ pk_engine_update_system (PkEngine *engin
/* are we already performing an update? */
if (pk_transaction_list_role_present (engine->priv->job_list, PK_ROLE_ENUM_UPDATE_SYSTEM) == TRUE) {
- error = g_error_new (PK_ENGINE_ERROR, PK_ENGINE_ERROR_JOB_EXISTS_WITH_ROLE,
+ error = g_error_new (PK_ENGINE_ERROR, PK_ENGINE_ERROR_TRANSACTION_EXISTS_WITH_ROLE,
"Already performing system update");
dbus_g_method_return_error (context, error);
return;
@@ -1415,10 +1415,10 @@ pk_engine_update_package (PkEngine *engi
}
/**
- * pk_engine_get_job_list:
+ * pk_engine_get_transaction_list:
**/
gboolean
-pk_engine_get_job_list (PkEngine *engine, gchar ***job_list, GError **error)
+pk_engine_get_transaction_list (PkEngine *engine, gchar ***job_list, GError **error)
{
g_return_val_if_fail (engine != NULL, FALSE);
g_return_val_if_fail (PK_IS_ENGINE (engine), FALSE);
@@ -1444,7 +1444,7 @@ pk_engine_get_status (PkEngine *engine,
item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
if (item == NULL) {
- g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_JOB,
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
return FALSE;
}
@@ -1469,7 +1469,7 @@ pk_engine_get_role (PkEngine *engine, co
item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
if (item == NULL) {
- g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_JOB,
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
return FALSE;
}
@@ -1493,7 +1493,7 @@ pk_engine_get_percentage (PkEngine *engi
item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
if (item == NULL) {
- g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_JOB,
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
return FALSE;
}
@@ -1520,7 +1520,7 @@ pk_engine_get_sub_percentage (PkEngine *
item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
if (item == NULL) {
- g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_JOB,
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
return FALSE;
}
@@ -1547,7 +1547,7 @@ pk_engine_get_package (PkEngine *engine,
item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
if (item == NULL) {
- g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_JOB,
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
return FALSE;
}
@@ -1587,7 +1587,7 @@ pk_engine_cancel (PkEngine *engine, cons
item = pk_transaction_list_get_item_from_tid (engine->priv->job_list, tid);
if (item == NULL) {
- g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_JOB,
+ g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
"No tid:%s", tid);
return FALSE;
}
diff --git a/src/pk-engine.h b/src/pk-engine.h
index 03e835f..e60273d 100644
--- a/src/pk-engine.h
+++ b/src/pk-engine.h
@@ -57,9 +57,9 @@ typedef enum
{
PK_ENGINE_ERROR_DENIED,
PK_ENGINE_ERROR_NOT_SUPPORTED,
- PK_ENGINE_ERROR_NO_SUCH_JOB,
+ PK_ENGINE_ERROR_NO_SUCH_TRANSACTION,
PK_ENGINE_ERROR_NO_SUCH_FILE,
- PK_ENGINE_ERROR_JOB_EXISTS_WITH_ROLE,
+ PK_ENGINE_ERROR_TRANSACTION_EXISTS_WITH_ROLE,
PK_ENGINE_ERROR_REFUSED_BY_POLICY,
PK_ENGINE_ERROR_PACKAGE_ID_INVALID,
PK_ENGINE_ERROR_SEARCH_INVALID,
@@ -139,7 +139,7 @@ void pk_engine_update_package (PkEngi
const gchar *package_id,
DBusGMethodInvocation *context,
GError **error);
-gboolean pk_engine_get_job_list (PkEngine *engine,
+gboolean pk_engine_get_transaction_list (PkEngine *engine,
gchar ***job_list,
GError **error);
gboolean pk_engine_get_status (PkEngine *engine,
diff --git a/src/pk-interface.xml b/src/pk-interface.xml
index 18b548a..f057b01 100644
--- a/src/pk-interface.xml
+++ b/src/pk-interface.xml
@@ -133,41 +133,41 @@
<!-- Do things or query jobs -->
<method name="Cancel"> <!-- might not succeed for all manner or reasons -->
- <!-- throws NoSuchJob -->
+ <!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
</method>
<method name="GetStatus"> <!-- this is what the job is currrently doing, and might change -->
- <!-- throws NoSuchJob -->
+ <!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
<arg type="s" name="status" direction="out"/> <!-- query,download,install,exit -->
</method>
<method name="GetRole"> <!-- this is the master role, i.e. won't change for the lifetime of the job -->
- <!-- throws NoSuchJob -->
+ <!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
<arg type="s" name="status" direction="out"/> <!-- query,download,install,exit -->
<arg type="s" name="package_id" direction="out"/> <!-- what we are doing the action to, or NULL -->
</method>
<method name="GetPercentage">
- <!-- throws NoSuchJob -->
+ <!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
<arg type="u" name="percentage" direction="out"/>
</method>
<method name="GetSubPercentage">
- <!-- throws NoSuchJob -->
+ <!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
<arg type="u" name="percentage" direction="out"/>
</method>
<method name="GetPackage">
- <!-- throws NoSuchJob -->
+ <!-- throws NoSuchTransaction -->
<arg type="s" name="tid" direction="in"/>
<arg type="s" name="package" direction="out"/>
</method>
- <!-- Job list -->
- <method name="GetJobList">
+ <!-- Transaction list -->
+ <method name="GetTransactionList">
<arg type="as" name="transactions" direction="out"/>
</method>
- <signal name="JobListChanged">
+ <signal name="TransactionListChanged">
<arg type="as" name="transactions" direction="out"/>
</signal>
diff-tree c5e0f41d4db3fa360a6528566675b2ba11258067 (from 7c5034c969073de0549e0e05065ea2987e40e6ba)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 17:01:58 2007 +0100
make the enum name match the order of the dbus methods
diff --git a/libpackagekit/pk-enum.c b/libpackagekit/pk-enum.c
index 6b8807f..cd120f0 100644
--- a/libpackagekit/pk-enum.c
+++ b/libpackagekit/pk-enum.c
@@ -69,11 +69,11 @@ static PkTaskEnumMatch task_role[] = {
{PK_ROLE_ENUM_SEARCH_GROUP, "search-group"},
{PK_ROLE_ENUM_SEARCH_NAME, "search-name"},
{PK_ROLE_ENUM_REFRESH_CACHE, "refresh-cache"},
- {PK_ROLE_ENUM_PACKAGE_REMOVE, "package-remove"},
- {PK_ROLE_ENUM_PACKAGE_INSTALL, "package-install"},
- {PK_ROLE_ENUM_FILE_INSTALL, "file-install"},
- {PK_ROLE_ENUM_PACKAGE_UPDATE, "package-update"},
- {PK_ROLE_ENUM_SYSTEM_UPDATE, "system-update"},
+ {PK_ROLE_ENUM_REMOVE_PACKAGE, "remove-package"},
+ {PK_ROLE_ENUM_INSTALL_PACKAGE, "install-package"},
+ {PK_ROLE_ENUM_INSTALL_FILE, "install-file"},
+ {PK_ROLE_ENUM_UPDATE_PACKAGE, "update-package"},
+ {PK_ROLE_ENUM_UPDATE_SYSTEM, "update-system"},
{0, NULL},
};
diff --git a/libpackagekit/pk-enum.h b/libpackagekit/pk-enum.h
index 8aefe65..47ec85d 100644
--- a/libpackagekit/pk-enum.h
+++ b/libpackagekit/pk-enum.h
@@ -40,11 +40,11 @@ typedef enum {
PK_ROLE_ENUM_SEARCH_GROUP,
PK_ROLE_ENUM_SEARCH_NAME,
PK_ROLE_ENUM_REFRESH_CACHE,
- PK_ROLE_ENUM_SYSTEM_UPDATE,
- PK_ROLE_ENUM_PACKAGE_REMOVE,
- PK_ROLE_ENUM_PACKAGE_INSTALL,
- PK_ROLE_ENUM_FILE_INSTALL,
- PK_ROLE_ENUM_PACKAGE_UPDATE,
+ PK_ROLE_ENUM_UPDATE_SYSTEM,
+ PK_ROLE_ENUM_REMOVE_PACKAGE,
+ PK_ROLE_ENUM_INSTALL_PACKAGE,
+ PK_ROLE_ENUM_INSTALL_FILE,
+ PK_ROLE_ENUM_UPDATE_PACKAGE,
PK_ROLE_ENUM_UNKNOWN
} PkRoleEnum;
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 8abd5cd..862fcd5 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -958,23 +958,23 @@ pk_backend_run (PkBackend *backend)
backend->desc->search_name (backend,
backend->priv->xcached_filter,
backend->priv->xcached_search);
- } else if (backend->priv->role == PK_ROLE_ENUM_PACKAGE_INSTALL) {
+ } else if (backend->priv->role == PK_ROLE_ENUM_INSTALL_PACKAGE) {
backend->desc->install_package (backend,
backend->priv->xcached_package_id);
- } else if (backend->priv->role == PK_ROLE_ENUM_FILE_INSTALL) {
+ } else if (backend->priv->role == PK_ROLE_ENUM_INSTALL_FILE) {
backend->desc->install_file (backend,
backend->priv->xcached_full_path);
} else if (backend->priv->role == PK_ROLE_ENUM_REFRESH_CACHE) {
backend->desc->refresh_cache (backend,
backend->priv->xcached_force);
- } else if (backend->priv->role == PK_ROLE_ENUM_PACKAGE_REMOVE) {
+ } else if (backend->priv->role == PK_ROLE_ENUM_REMOVE_PACKAGE) {
backend->desc->remove_package (backend,
backend->priv->xcached_package_id,
backend->priv->xcached_allow_deps);
- } else if (backend->priv->role == PK_ROLE_ENUM_PACKAGE_UPDATE) {
+ } else if (backend->priv->role == PK_ROLE_ENUM_UPDATE_PACKAGE) {
backend->desc->update_package (backend,
backend->priv->xcached_package_id);
- } else if (backend->priv->role == PK_ROLE_ENUM_SYSTEM_UPDATE) {
+ } else if (backend->priv->role == PK_ROLE_ENUM_UPDATE_SYSTEM) {
backend->desc->update_system (backend);
} else {
return FALSE;
@@ -1073,7 +1073,7 @@ pk_backend_install_package (PkBackend *b
return FALSE;
}
backend->priv->xcached_package_id = g_strdup (package_id);
- pk_backend_set_role (backend, PK_ROLE_ENUM_PACKAGE_INSTALL);
+ pk_backend_set_role (backend, PK_ROLE_ENUM_INSTALL_PACKAGE);
return TRUE;
}
@@ -1089,7 +1089,7 @@ pk_backend_install_file (PkBackend *back
return FALSE;
}
backend->priv->xcached_full_path = g_strdup (full_path);
- pk_backend_set_role (backend, PK_ROLE_ENUM_FILE_INSTALL);
+ pk_backend_set_role (backend, PK_ROLE_ENUM_INSTALL_FILE);
return TRUE;
}
@@ -1122,7 +1122,7 @@ pk_backend_remove_package (PkBackend *ba
}
backend->priv->xcached_allow_deps = allow_deps;
backend->priv->xcached_package_id = g_strdup (package_id);
- pk_backend_set_role (backend, PK_ROLE_ENUM_PACKAGE_REMOVE);
+ pk_backend_set_role (backend, PK_ROLE_ENUM_REMOVE_PACKAGE);
return TRUE;
}
@@ -1206,7 +1206,7 @@ pk_backend_update_package (PkBackend *ba
return FALSE;
}
backend->priv->xcached_package_id = g_strdup (package_id);
- pk_backend_set_role (backend, PK_ROLE_ENUM_PACKAGE_UPDATE);
+ pk_backend_set_role (backend, PK_ROLE_ENUM_UPDATE_PACKAGE);
return TRUE;
}
@@ -1221,7 +1221,7 @@ pk_backend_update_system (PkBackend *bac
pk_backend_not_implemented_yet (backend, "UpdateSystem");
return FALSE;
}
- pk_backend_set_role (backend, PK_ROLE_ENUM_SYSTEM_UPDATE);
+ pk_backend_set_role (backend, PK_ROLE_ENUM_UPDATE_SYSTEM);
return TRUE;
}
@@ -1252,16 +1252,16 @@ pk_backend_get_actions (PkBackend *backe
pk_enum_list_append (elist, PK_ROLE_ENUM_GET_UPDATES);
}
if (backend->desc->install_package != NULL) {
- pk_enum_list_append (elist, PK_ROLE_ENUM_PACKAGE_INSTALL);
+ pk_enum_list_append (elist, PK_ROLE_ENUM_INSTALL_PACKAGE);
}
if (backend->desc->install_file != NULL) {
- pk_enum_list_append (elist, PK_ROLE_ENUM_FILE_INSTALL);
+ pk_enum_list_append (elist, PK_ROLE_ENUM_INSTALL_FILE);
}
if (backend->desc->refresh_cache != NULL) {
pk_enum_list_append (elist, PK_ROLE_ENUM_REFRESH_CACHE);
}
if (backend->desc->remove_package != NULL) {
- pk_enum_list_append (elist, PK_ROLE_ENUM_PACKAGE_REMOVE);
+ pk_enum_list_append (elist, PK_ROLE_ENUM_REMOVE_PACKAGE);
}
if (backend->desc->search_details != NULL) {
pk_enum_list_append (elist, PK_ROLE_ENUM_SEARCH_DETAILS);
@@ -1276,10 +1276,10 @@ pk_backend_get_actions (PkBackend *backe
pk_enum_list_append (elist, PK_ROLE_ENUM_SEARCH_NAME);
}
if (backend->desc->update_package != NULL) {
- pk_enum_list_append (elist, PK_ROLE_ENUM_PACKAGE_UPDATE);
+ pk_enum_list_append (elist, PK_ROLE_ENUM_UPDATE_PACKAGE);
}
if (backend->desc->update_system != NULL) {
- pk_enum_list_append (elist, PK_ROLE_ENUM_SYSTEM_UPDATE);
+ pk_enum_list_append (elist, PK_ROLE_ENUM_UPDATE_SYSTEM);
}
return elist;
}
diff --git a/src/pk-engine.c b/src/pk-engine.c
index edbd7e1..86196c7 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -505,10 +505,10 @@ pk_engine_add_backend (PkEngine *engine,
/* only save into the database for useful stuff */
pk_backend_get_role (backend, &role, NULL);
if (role == PK_ROLE_ENUM_REFRESH_CACHE ||
- role == PK_ROLE_ENUM_SYSTEM_UPDATE ||
- role == PK_ROLE_ENUM_PACKAGE_REMOVE ||
- role == PK_ROLE_ENUM_PACKAGE_INSTALL ||
- role == PK_ROLE_ENUM_PACKAGE_UPDATE) {
+ role == PK_ROLE_ENUM_UPDATE_SYSTEM ||
+ role == PK_ROLE_ENUM_REMOVE_PACKAGE ||
+ role == PK_ROLE_ENUM_INSTALL_PACKAGE ||
+ role == PK_ROLE_ENUM_UPDATE_PACKAGE) {
/* add to database */
pk_transaction_db_add (engine->priv->transaction_db, item->tid);
@@ -1142,7 +1142,7 @@ pk_engine_update_system (PkEngine *engin
}
/* are we already performing an update? */
- if (pk_transaction_list_role_present (engine->priv->job_list, PK_ROLE_ENUM_SYSTEM_UPDATE) == TRUE) {
+ if (pk_transaction_list_role_present (engine->priv->job_list, PK_ROLE_ENUM_UPDATE_SYSTEM) == TRUE) {
error = g_error_new (PK_ENGINE_ERROR, PK_ENGINE_ERROR_JOB_EXISTS_WITH_ROLE,
"Already performing system update");
dbus_g_method_return_error (context, error);
diff-tree 7c5034c969073de0549e0e05065ea2987e40e6ba (from 95c1055bc67f4e33d5f7ca07cf5aadd454f2c4e2)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 16:45:54 2007 +0100
add the method call InstallFile so we can install rpms and debs like we can in pirut
diff --git a/TODO b/TODO
index de75950..1d411e1 100644
--- a/TODO
+++ b/TODO
@@ -12,9 +12,6 @@ NOTE: RELEASE BLOCKER
*** Add a way to import GPG keys ***
In fedora, if you add a signed repo you have to agree to the GPG key.
-*** Add a way to locally install packages ***
-We have to be very careful with this, and not allow automatic installs.
-
*** Split up PolicyKit install into different types ***
Have different permissions for signed and unsigned repos.
diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
index 95e6d30..d132111 100644
--- a/backends/alpm/pk-backend-alpm.c
+++ b/backends/alpm/pk-backend-alpm.c
@@ -813,6 +813,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
+ NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff --git a/backends/apt/pk-backend-apt.cpp b/backends/apt/pk-backend-apt.cpp
index 76d4b31..0d6764c 100644
--- a/backends/apt/pk-backend-apt.cpp
+++ b/backends/apt/pk-backend-apt.cpp
@@ -661,6 +661,7 @@ extern "C" PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
NULL, /* get_updates */
NULL, /* install_package */
+ NULL, /* install_name */
backend_refresh_cache, /* refresh_cache */
NULL, /* remove_package */
backend_search_details, /* search_details */
diff --git a/backends/box/pk-backend-box.c b/backends/box/pk-backend-box.c
index 59adc21..6e6e602 100644
--- a/backends/box/pk-backend-box.c
+++ b/backends/box/pk-backend-box.c
@@ -478,6 +478,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
+ NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff --git a/backends/conary/pk-backend-conary.c b/backends/conary/pk-backend-conary.c
index d1b42c9..b18f92b 100644
--- a/backends/conary/pk-backend-conary.c
+++ b/backends/conary/pk-backend-conary.c
@@ -160,6 +160,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
+ NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
index 1090f38..c062da5 100644
--- a/backends/dummy/pk-backend-dummy.c
+++ b/backends/dummy/pk-backend-dummy.c
@@ -186,6 +186,16 @@ backend_install_package (PkBackend *back
}
/**
+ * backend_install_file:
+ */
+static void
+backend_install_file (PkBackend *backend, const gchar *full_path)
+{
+ g_return_if_fail (backend != NULL);
+ pk_backend_finished (backend);
+}
+
+/**
* backend_refresh_cache:
*/
static void
@@ -325,6 +335,7 @@ PK_BACKEND_OPTIONS (
backend_get_update_detail, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
+ backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff --git a/backends/test/pk-backend-test-fail.c b/backends/test/pk-backend-test-fail.c
index b503196..095dca0 100644
--- a/backends/test/pk-backend-test-fail.c
+++ b/backends/test/pk-backend-test-fail.c
@@ -145,6 +145,16 @@ backend_install_package (PkBackend *back
}
/**
+ * backend_install_file:
+ */
+static void
+backend_install_file (PkBackend *backend, const gchar *full_path)
+{
+ g_return_if_fail (backend != NULL);
+ pk_backend_finished (backend);
+}
+
+/**
* backend_refresh_cache:
*/
static void
@@ -245,6 +255,7 @@ PK_BACKEND_OPTIONS (
backend_get_update_detail, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
+ backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff --git a/backends/test/pk-backend-test-nop.c b/backends/test/pk-backend-test-nop.c
index 6774698..22af68e 100644
--- a/backends/test/pk-backend-test-nop.c
+++ b/backends/test/pk-backend-test-nop.c
@@ -38,6 +38,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
NULL, /* get_updates */
NULL, /* install_package */
+ NULL, /* install_file */
NULL, /* refresh_cache */
NULL, /* remove_package */
NULL, /* search_details */
diff --git a/backends/test/pk-backend-test-spawn.c b/backends/test/pk-backend-test-spawn.c
index 4a9c098..0a691f5 100644
--- a/backends/test/pk-backend-test-spawn.c
+++ b/backends/test/pk-backend-test-spawn.c
@@ -51,6 +51,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
NULL, /* get_updates */
NULL, /* install_package */
+ NULL, /* install_file */
NULL, /* refresh_cache */
NULL, /* remove_package */
NULL, /* search_details */
diff --git a/backends/test/pk-backend-test-succeed.c b/backends/test/pk-backend-test-succeed.c
index 34904d6..650ff0e 100644
--- a/backends/test/pk-backend-test-succeed.c
+++ b/backends/test/pk-backend-test-succeed.c
@@ -141,6 +141,16 @@ backend_install_package (PkBackend *back
}
/**
+ * backend_install_file:
+ */
+static void
+backend_install_file (PkBackend *backend, const gchar *full_path)
+{
+ g_return_if_fail (backend != NULL);
+ pk_backend_finished (backend);
+}
+
+/**
* backend_refresh_cache:
*/
static void
@@ -249,6 +259,7 @@ PK_BACKEND_OPTIONS (
backend_get_update_detail, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
+ backend_install_file, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff --git a/backends/test/pk-backend-test-thread.c b/backends/test/pk-backend-test-thread.c
index 2c4488f..f63e14f 100644
--- a/backends/test/pk-backend-test-thread.c
+++ b/backends/test/pk-backend-test-thread.c
@@ -98,6 +98,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
NULL, /* get_updates */
NULL, /* install_package */
+ NULL, /* install_file */
NULL, /* refresh_cache */
NULL, /* remove_package */
NULL, /* search_details */
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 8e1a664..3395166 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -240,6 +240,7 @@ PK_BACKEND_OPTIONS (
NULL, /* get_update_detail */
backend_get_updates, /* get_updates */
backend_install_package, /* install_package */
+ NULL, /* install_file */
backend_refresh_cache, /* refresh_cache */
backend_remove_package, /* remove_package */
backend_search_details, /* search_details */
diff --git a/docs/backends.xml b/docs/backends.xml
index d83b8ce..bd4f443 100644
--- a/docs/backends.xml
+++ b/docs/backends.xml
@@ -63,6 +63,10 @@
<entry><literal>install.*</literal></entry>
</row>
<row>
+ <entry>Install File</entry>
+ <entry><literal>install-file.*</literal></entry>
+ </row>
+ <row>
<entry>Remove Package</entry>
<entry><literal>remove.*</literal></entry>
</row>
diff --git a/docs/introduction.xml b/docs/introduction.xml
index 2136244..ea47817 100644
--- a/docs/introduction.xml
+++ b/docs/introduction.xml
@@ -708,7 +708,7 @@
</para>
</sect2>
- <sect2 id="api-install">
+ <sect2 id="api-install-package">
<title>Install Package</title>
<para>
The installer should always install extra packages automatically
@@ -750,6 +750,43 @@
</para>
</sect2>
+ <sect2 id="api-install-file">
+ <title>Install File</title>
+ <para>
+ The installer should always install extra packages automatically
+ as the use could call GetDepends prior to the install if a confirmation
+ is required in the UI.
+ </para>
+ <para>
+ The arguments are:
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Option</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>full_path</literal></entry>
+ <entry>A full path and filename to a single package.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ This method typically emits
+ <literal>Percentage</literal>,
+ <literal>Subpercentage</literal>,
+ <literal>NoPercentageUpdates</literal>,
+ <literal>Status</literal> and
+ <literal>Error</literal> and
+ <literal>Package</literal>.
+ </para>
+ </sect2>
+
<sect2 id="api-remove">
<title>Remove Package</title>
<para>
diff --git a/libpackagekit/pk-enum.c b/libpackagekit/pk-enum.c
index b5c132c..6b8807f 100644
--- a/libpackagekit/pk-enum.c
+++ b/libpackagekit/pk-enum.c
@@ -71,6 +71,7 @@ static PkTaskEnumMatch task_role[] = {
{PK_ROLE_ENUM_REFRESH_CACHE, "refresh-cache"},
{PK_ROLE_ENUM_PACKAGE_REMOVE, "package-remove"},
{PK_ROLE_ENUM_PACKAGE_INSTALL, "package-install"},
+ {PK_ROLE_ENUM_FILE_INSTALL, "file-install"},
{PK_ROLE_ENUM_PACKAGE_UPDATE, "package-update"},
{PK_ROLE_ENUM_SYSTEM_UPDATE, "system-update"},
{0, NULL},
diff --git a/libpackagekit/pk-enum.h b/libpackagekit/pk-enum.h
index 8555aff..8aefe65 100644
--- a/libpackagekit/pk-enum.h
+++ b/libpackagekit/pk-enum.h
@@ -43,6 +43,7 @@ typedef enum {
PK_ROLE_ENUM_SYSTEM_UPDATE,
PK_ROLE_ENUM_PACKAGE_REMOVE,
PK_ROLE_ENUM_PACKAGE_INSTALL,
+ PK_ROLE_ENUM_FILE_INSTALL,
PK_ROLE_ENUM_PACKAGE_UPDATE,
PK_ROLE_ENUM_UNKNOWN
} PkRoleEnum;
diff --git a/policy/packagekit.policy b/policy/packagekit.policy
index c8a372c..fceb17e 100644
--- a/policy/packagekit.policy
+++ b/policy/packagekit.policy
@@ -18,6 +18,15 @@ Copyright (c) 2007 Richard Hughes <richa
</defaults>
</action>
+ <action id="org.freedesktop.packagekit.localinstall">
+ <description>Install local file</description>
+ <message>System policy prevents installing file</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ </action>
+
<action id="org.freedesktop.packagekit.update">
<description>Update package</description>
<message>System policy prevents updating package</message>
diff --git a/src/pk-backend-internal.h b/src/pk-backend-internal.h
index c7398d4..e16710b 100644
--- a/src/pk-backend-internal.h
+++ b/src/pk-backend-internal.h
@@ -74,6 +74,8 @@ gboolean pk_backend_get_requires (PkBa
gboolean pk_backend_get_updates (PkBackend *backend);
gboolean pk_backend_install_package (PkBackend *backend,
const gchar *package_id);
+gboolean pk_backend_install_file (PkBackend *backend,
+ const gchar *full_path);
gboolean pk_backend_refresh_cache (PkBackend *backend,
gboolean force);
gboolean pk_backend_remove_package (PkBackend *backend,
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 80e41e8..8abd5cd 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -60,6 +60,7 @@ struct _PkBackendPrivate
gboolean xcached_force;
gboolean xcached_allow_deps;
gchar *xcached_package_id;
+ gchar *xcached_full_path;
gchar *xcached_filter;
gchar *xcached_search;
PkExitEnum exit;
@@ -960,6 +961,9 @@ pk_backend_run (PkBackend *backend)
} else if (backend->priv->role == PK_ROLE_ENUM_PACKAGE_INSTALL) {
backend->desc->install_package (backend,
backend->priv->xcached_package_id);
+ } else if (backend->priv->role == PK_ROLE_ENUM_FILE_INSTALL) {
+ backend->desc->install_file (backend,
+ backend->priv->xcached_full_path);
} else if (backend->priv->role == PK_ROLE_ENUM_REFRESH_CACHE) {
backend->desc->refresh_cache (backend,
backend->priv->xcached_force);
@@ -1074,6 +1078,22 @@ pk_backend_install_package (PkBackend *b
}
/**
+ * pk_backend_install_file:
+ */
+gboolean
+pk_backend_install_file (PkBackend *backend, const gchar *full_path)
+{
+ g_return_val_if_fail (backend != NULL, FALSE);
+ if (backend->desc->install_file == NULL) {
+ pk_backend_not_implemented_yet (backend, "InstallFile");
+ return FALSE;
+ }
+ backend->priv->xcached_full_path = g_strdup (full_path);
+ pk_backend_set_role (backend, PK_ROLE_ENUM_FILE_INSTALL);
+ return TRUE;
+}
+
+/**
* pk_backend_refresh_cache:
*/
gboolean
@@ -1234,6 +1254,9 @@ pk_backend_get_actions (PkBackend *backe
if (backend->desc->install_package != NULL) {
pk_enum_list_append (elist, PK_ROLE_ENUM_PACKAGE_INSTALL);
}
+ if (backend->desc->install_file != NULL) {
+ pk_enum_list_append (elist, PK_ROLE_ENUM_FILE_INSTALL);
+ }
if (backend->desc->refresh_cache != NULL) {
pk_enum_list_append (elist, PK_ROLE_ENUM_REFRESH_CACHE);
}
@@ -1435,6 +1458,7 @@ pk_backend_init (PkBackend *backend)
backend->priv->spawn = NULL;
backend->priv->handle = NULL;
backend->priv->xcached_package_id = NULL;
+ backend->priv->xcached_full_path = NULL;
backend->priv->xcached_filter = NULL;
backend->priv->xcached_search = NULL;
backend->priv->last_percentage = PK_BACKEND_PERCENTAGE_INVALID;
diff --git a/src/pk-backend.h b/src/pk-backend.h
index 2b711d9..e72cfb2 100644
--- a/src/pk-backend.h
+++ b/src/pk-backend.h
@@ -99,6 +99,7 @@ struct _PkBackendDesc {
void (*get_update_detail) (PkBackend *backend, const gchar *package_id);
void (*get_updates) (PkBackend *backend);
void (*install_package) (PkBackend *backend, const gchar *package_id);
+ void (*install_file) (PkBackend *backend, const gchar *full_path);
void (*refresh_cache) (PkBackend *backend, gboolean force);
void (*remove_package) (PkBackend *backend, const gchar *package_id, gboolean allow_deps);
void (*search_details) (PkBackend *backend, const gchar *filter, const gchar *search);
@@ -111,9 +112,8 @@ struct _PkBackendDesc {
};
#define PK_BACKEND_OPTIONS(description, version, author, initialize, destroy, \
- get_groups, get_filters, \
- cancel, get_depends, get_description, \
- get_requires, get_update_detail, get_updates, install_package, \
+ get_groups, get_filters, cancel, get_depends, get_description, \
+ get_requires, get_update_detail, get_updates, install_package, install_file, \
refresh_cache, remove_package, search_details, \
search_file, search_group, search_name, \
update_package, update_system) \
@@ -132,6 +132,7 @@ struct _PkBackendDesc {
get_update_detail, \
get_updates, \
install_package, \
+ install_file, \
refresh_cache, \
remove_package, \
search_details, \
diff --git a/src/pk-engine.c b/src/pk-engine.c
index aff40b7..edbd7e1 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -116,6 +116,7 @@ pk_engine_error_get_type (void)
ENUM_ENTRY (PK_ENGINE_ERROR_DENIED, "PermissionDenied"),
ENUM_ENTRY (PK_ENGINE_ERROR_NOT_SUPPORTED, "NotSupported"),
ENUM_ENTRY (PK_ENGINE_ERROR_NO_SUCH_JOB, "NoSuchJob"),
+ ENUM_ENTRY (PK_ENGINE_ERROR_NO_SUCH_FILE, "NoSuchFile"),
ENUM_ENTRY (PK_ENGINE_ERROR_JOB_EXISTS_WITH_ROLE, "JobExistsWithRole"),
ENUM_ENTRY (PK_ENGINE_ERROR_REFUSED_BY_POLICY, "RefusedByPolicy"),
ENUM_ENTRY (PK_ENGINE_ERROR_PACKAGE_ID_INVALID, "PackageIdInvalid"),
@@ -1294,6 +1295,66 @@ pk_engine_install_package (PkEngine *eng
}
/**
+ * pk_engine_install_file:
+ *
+ * This is async, so we have to treat it a bit carefully
+ **/
+void
+pk_engine_install_file (PkEngine *engine, const gchar *full_path,
+ DBusGMethodInvocation *context, GError **dead_error)
+{
+ gboolean ret;
+ PkTransactionItem *item;
+ PkBackend *backend;
+ GError *error;
+
+ g_return_if_fail (engine != NULL);
+ g_return_if_fail (PK_IS_ENGINE (engine));
+
+ /* check file exists */
+ ret = g_file_test (full_path, G_FILE_TEST_EXISTS);
+ if (ret == FALSE) {
+ error = g_error_new (PK_ENGINE_ERROR, PK_ENGINE_ERROR_NO_SUCH_FILE,
+ "No such file '%s'", full_path);
+ dbus_g_method_return_error (context, error);
+ return;
+ }
+
+ /* check with PolicyKit if the action is allowed from this client - if not, set an error */
+ ret = pk_engine_action_is_allowed (engine, context, "org.freedesktop.packagekit.localinstall", &error);
+ if (ret == FALSE) {
+ dbus_g_method_return_error (context, error);
+ return;
+ }
+
+ /* create a new backend and start it */
+ backend = pk_engine_new_backend (engine);
+ if (backend == NULL) {
+ error = g_error_new (PK_ENGINE_ERROR, PK_ENGINE_ERROR_NOT_SUPPORTED,
+ "Operation not yet supported by backend");
+ dbus_g_method_return_error (context, error);
+ return;
+ }
+
+ ret = pk_backend_install_file (backend, full_path);
+ if (ret == FALSE) {
+ error = g_error_new (PK_ENGINE_ERROR, PK_ENGINE_ERROR_NOT_SUPPORTED,
+ "Operation not yet supported by backend");
+ pk_engine_delete_backend (engine, backend);
+ dbus_g_method_return_error (context, error);
+ return;
+ }
+ pk_engine_add_backend (engine, backend);
+
+ item = pk_transaction_list_get_item_from_backend (engine->priv->job_list, backend);
+ if (item == NULL) {
+ pk_warning ("could not find backend");
+ return;
+ }
+ dbus_g_method_return (context, item->tid);
+}
+
+/**
* pk_engine_update_package:
*
* This is async, so we have to treat it a bit carefully
diff --git a/src/pk-engine.h b/src/pk-engine.h
index ea2e336..03e835f 100644
--- a/src/pk-engine.h
+++ b/src/pk-engine.h
@@ -58,6 +58,7 @@ typedef enum
PK_ENGINE_ERROR_DENIED,
PK_ENGINE_ERROR_NOT_SUPPORTED,
PK_ENGINE_ERROR_NO_SUCH_JOB,
+ PK_ENGINE_ERROR_NO_SUCH_FILE,
PK_ENGINE_ERROR_JOB_EXISTS_WITH_ROLE,
PK_ENGINE_ERROR_REFUSED_BY_POLICY,
PK_ENGINE_ERROR_PACKAGE_ID_INVALID,
@@ -130,6 +131,10 @@ void pk_engine_install_package (PkEng
const gchar *package_id,
DBusGMethodInvocation *context,
GError **error);
+void pk_engine_install_file (PkEngine *engine,
+ const gchar *full_path,
+ DBusGMethodInvocation *context,
+ GError **error);
void pk_engine_update_package (PkEngine *engine,
const gchar *package_id,
DBusGMethodInvocation *context,
diff --git a/src/pk-interface.xml b/src/pk-interface.xml
index 4bc92c8..18b548a 100644
--- a/src/pk-interface.xml
+++ b/src/pk-interface.xml
@@ -66,6 +66,11 @@
<arg type="s" name="package_id" direction="in"/>
<arg type="s" name="tid" direction="out"/>
</method>
+ <method name="InstallFile">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg type="s" name="full_path" direction="in"/>
+ <arg type="s" name="tid" direction="out"/>
+ </method>
<!-- signals emitted from any job -->
<signal name="JobStatusChanged">
diff-tree 95c1055bc67f4e33d5f7ca07cf5aadd454f2c4e2 (from 0fae6644906d1d061dd7fd18fbe71d0a6cbfe8ec)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 16:09:22 2007 +0100
don't use a package_db, it's feature creep
diff --git a/TODO b/TODO
index 9195f28..de75950 100644
--- a/TODO
+++ b/TODO
@@ -36,10 +36,6 @@ Client programs using libpackagekit shou
*** Log what was installed/removed and when ***
Need to monitor the Package's emitted by the task and encoded to a string
-*** Add "when installed" and "installed by" data into UI ***
-Is this useful?
-We would need to store package_id,installed_by,when_installed in a sqlite database
-
*** Dummy backend should use subpercent and install deps ***
It's not a great test case right now...
diff-tree 0fae6644906d1d061dd7fd18fbe71d0a6cbfe8ec (from dbd5f5584fc626e383189a5e8b54306b67209c0a)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 16:07:38 2007 +0100
NetworkManager has changed the install path of libnm-glib
diff --git a/src/pk-network.c b/src/pk-network.c
index cb2f04b..86b643e 100644
--- a/src/pk-network.c
+++ b/src/pk-network.c
@@ -37,7 +37,7 @@
#include <fcntl.h>
#include <glib/gi18n.h>
-#include <NetworkManager/libnm_glib.h>
+#include <libnm-glib/libnm_glib.h>
#include "pk-debug.h"
#include "pk-network.h"
diff-tree dbd5f5584fc626e383189a5e8b54306b67209c0a (from 06a79c186ebe8c0acdc5a477a2d59856d1462577)
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Sep 21 16:06:53 2007 +0100
check for a null transaction id to try to investigate a segfault
diff --git a/libpackagekit/pk-task-monitor.c b/libpackagekit/pk-task-monitor.c
index 9dd87c3..ab17893 100644
--- a/libpackagekit/pk-task-monitor.c
+++ b/libpackagekit/pk-task-monitor.c
@@ -288,6 +288,20 @@ pk_task_monitor_get_role (PkTaskMonitor
}
/**
+ * pk_transaction_id_equal:
+ * TODO: only compare first two sections...
+ **/
+static gboolean
+pk_transaction_id_equal (const gchar *tid1, const gchar *tid2)
+{
+ if (tid1 == NULL || tid2 == NULL) {
+ pk_warning ("tid compare invalid '%s' and '%s'", tid1, tid2);
+ return FALSE;
+ }
+ return (strcmp (tid1, tid2) == 0);
+}
+
+/**
* pk_task_monitor_finished_cb:
*/
static void
@@ -302,7 +316,7 @@ pk_task_monitor_finished_cb (DBusGProxy
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
exit = pk_exit_enum_from_text (exit_text);
pk_debug ("emit finished %i, %i", exit, runtime);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_FINISHED], 0, exit, runtime);
@@ -321,7 +335,7 @@ pk_task_monitor_percentage_changed_cb (D
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
pk_debug ("emit percentage-changed %i", percentage);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_PERCENTAGE_CHANGED], 0, percentage);
}
@@ -339,7 +353,7 @@ pk_task_monitor_sub_percentage_changed_c
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
pk_debug ("emit sub-percentage-changed %i", percentage);
g_signal_emit (tmonitor, signals [PK_TASK_MONITOR_SUB_PERCENTAGE_CHANGED], 0, percentage);
}
@@ -356,7 +370,7 @@ pk_task_monitor_no_percentage_updates_cb
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
pk_debug ("emit no-percentage-updates");
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_NO_PERCENTAGE_UPDATES], 0);
}
@@ -378,7 +392,7 @@ pk_task_monitor_job_status_changed_cb (D
status = pk_status_enum_from_text (status_text);
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
pk_debug ("emit job-status-changed %i", status);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_JOB_STATUS_CHANGED], 0, status);
}
@@ -398,7 +412,7 @@ pk_task_monitor_package_cb (DBusGProxy
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
pk_debug ("emit package %i, %s, %s", value, package, summary);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_PACKAGE], 0, value, package, summary);
}
@@ -437,7 +451,7 @@ pk_task_monitor_update_detail_cb (DBusGP
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
pk_debug ("emit update-detail %s, %s, %s, %s, %s, %s",
package_id, updates, obsoletes, url, restart, update_text);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_UPDATE_DETAIL], 0,
@@ -462,7 +476,7 @@ pk_task_monitor_description_cb (DBusGPro
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
group = pk_group_enum_from_text (group_text);
pk_debug ("emit description %s, %s, %i, %s, %s", package_id, licence, group, description, url);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_DESCRIPTION], 0, package_id, licence, group, description, url);
@@ -483,7 +497,7 @@ pk_task_monitor_error_code_cb (DBusGProx
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
code = pk_error_enum_from_text (code_text);
pk_debug ("emit error-code %i, %s", code, details);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_ERROR_CODE], 0, code, details);
@@ -504,7 +518,7 @@ pk_task_monitor_require_restart_cb (DBus
g_return_if_fail (tmonitor != NULL);
g_return_if_fail (PK_IS_TASK_MONITOR (tmonitor));
- if (strcmp (tid, tmonitor->priv->tid) == 0) {
+ if (pk_transaction_id_equal (tid, tmonitor->priv->tid) == TRUE) {
restart = pk_restart_enum_from_text (restart_text);
pk_debug ("emit require-restart %i, %s", restart, details);
g_signal_emit (tmonitor , signals [PK_TASK_MONITOR_REQUIRE_RESTART], 0, restart, details);
diff --git a/src/pk-transaction-id.c b/src/pk-transaction-id.c
index ee20b4e..e8e3e0b 100644
--- a/src/pk-transaction-id.c
+++ b/src/pk-transaction-id.c
@@ -102,6 +102,10 @@ pk_transaction_id_save_job_count (guint
gboolean
pk_transaction_id_equal (const gchar *tid1, const gchar *tid2)
{
+ if (tid1 == NULL || tid2 == NULL) {
+ pk_warning ("transaction id compare invalid '%s' and '%s'", tid1, tid2);
+ return FALSE;
+ }
return (strcmp (tid1, tid2) == 0);
}
More information about the PackageKit
mailing list