summaryrefslogtreecommitdiff
path: root/recipes/packagekit/packagekit-0.5.6/opkgfixes.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2010-04-09 13:05:43 +0200
committerKoen Kooi <koen@openembedded.org>2010-04-09 13:06:33 +0200
commit7ce40cb891421bec1614854d8a30183bd9211f93 (patch)
treedf6cc1758298948c43d8b6942ae3dff5069a48a8 /recipes/packagekit/packagekit-0.5.6/opkgfixes.patch
parentbf7567b7b58c45698ee5342ea3c630292c908ad9 (diff)
packagekit 0.5.6: add recipe from poky
Diffstat (limited to 'recipes/packagekit/packagekit-0.5.6/opkgfixes.patch')
-rw-r--r--recipes/packagekit/packagekit-0.5.6/opkgfixes.patch421
1 files changed, 421 insertions, 0 deletions
diff --git a/recipes/packagekit/packagekit-0.5.6/opkgfixes.patch b/recipes/packagekit/packagekit-0.5.6/opkgfixes.patch
new file mode 100644
index 0000000000..64da86a526
--- /dev/null
+++ b/recipes/packagekit/packagekit-0.5.6/opkgfixes.patch
@@ -0,0 +1,421 @@
+Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c
+===================================================================
+--- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000
++++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000
+@@ -29,8 +29,6 @@
+
+ #include <libopkg/opkg.h>
+
+-static opkg_t *opkg;
+-
+ enum {
+ SEARCH_NAME,
+ SEARCH_DESCRIPTION,
+@@ -62,7 +60,7 @@
+ * check an opkg package for known GUI dependancies
+ */
+ static gboolean
+-opkg_is_gui_pkg (opkg_package_t *pkg)
++opkg_is_gui_pkg (pkg_t *pkg)
+ {
+
+ /* TODO: check appropriate tag */
+@@ -84,7 +82,7 @@
+ * check an opkg package to determine if it is a development package
+ */
+ static gboolean
+-opkg_is_devel_pkg (opkg_package_t *pkg)
++opkg_is_devel_pkg (pkg_t *pkg)
+ {
+ if (g_strrstr (pkg->name, "-dev"))
+ return TRUE;
+@@ -105,7 +103,7 @@
+ * returns true if the tag is present
+ */
+ static gboolean
+-opkg_check_tag (opkg_package_t *pkg, const gchar *tag)
++opkg_check_tag (pkg_t *pkg, const gchar *tag)
+ {
+ if (pkg->tags && tag)
+ return (g_strrstr (pkg->tags, tag) != NULL);
+@@ -118,7 +116,7 @@
+ {
+ switch (err)
+ {
+- case OPKG_NO_ERROR:
++/* case OPKG_NO_ERROR:
+ break;
+ case OPKG_PACKAGE_NOT_INSTALLED:
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
+@@ -140,7 +138,7 @@
+ break;
+ case OPKG_PACKAGE_NOT_AVAILABLE:
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL);
+- break;
++ break;*/
+ default:
+ opkg_unknown_error (backend, err, "Update package");
+ }
+@@ -152,7 +150,7 @@
+ static void
+ backend_initialize (PkBackend *backend)
+ {
+- opkg = opkg_new ();
++ int opkg = opkg_new ();
+
+ if (!opkg) {
+ pk_backend_error_code (backend,
+@@ -162,8 +160,8 @@
+ }
+
+ #ifdef OPKG_OFFLINE_ROOT
+- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT);
+- opkg_re_read_config_files (opkg);
++ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT);
++ opkg_re_read_config_files ();
+ #endif
+
+ }
+@@ -174,22 +172,22 @@
+ static void
+ backend_destroy (PkBackend *backend)
+ {
+- opkg_free (opkg);
++ opkg_free ();
+ }
+
+
+ static void
+-pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data)
++pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data)
+ {
+- PkBackend *backend = PK_BACKEND (data);
++ PkBackend *backend = (PkBackend*) data;
+ if (!backend)
+ return;
+
+ pk_backend_set_percentage (backend, pdata->percentage);
+- if (pdata->package)
++ if (pdata->pkg)
+ {
+ gchar *uid;
+- opkg_package_t *pkg = pdata->package;
++ pkg_t *pkg = pdata->pkg;
+ gint status = PK_INFO_ENUM_UNKNOWN;
+
+ uid = g_strdup_printf ("%s;%s;%s;",
+@@ -225,12 +223,12 @@
+ {
+ int ret;
+
+- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend);
++ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend);
+
+ if (ret) {
+- if (ret == OPKG_DOWNLOAD_FAILED)
+- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
+- else
++// if (ret == OPKG_DOWNLOAD_FAILED)
++// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
++// else
+ opkg_unknown_error (backend, ret, "Refreshing cache");
+ }
+ pk_backend_finished (backend);
+@@ -256,7 +254,7 @@
+ */
+
+ static void
+-pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
++pk_opkg_package_list_cb (pkg_t *pkg, void *data)
+ {
+ SearchParams *params = (SearchParams*) data;
+ gchar *uid;
+@@ -298,7 +296,7 @@
+ uid = g_strdup_printf ("%s;%s;%s;",
+ pkg->name, pkg->version, pkg->architecture);
+
+- if (pkg->installed)
++ if (pkg->state_status == SS_INSTALLED)
+ status = PK_INFO_ENUM_INSTALLED;
+ else
+ status = PK_INFO_ENUM_AVAILABLE;
+@@ -318,10 +316,10 @@
+ opkg_is_gui_pkg (pkg))
+ goto end_handle;
+ if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) &&
+- (!pkg->installed))
++ (pkg->state_status != SS_INSTALLED))
+ goto end_handle;
+ if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) &&
+- (pkg->installed))
++ (pkg->state_status == SS_INSTALLED))
+ goto end_handle;
+
+ pk_backend_package (params->backend, status, uid, pkg->description);
+@@ -338,7 +336,7 @@
+
+ params = pk_backend_get_pointer (backend, "search-params");
+
+- opkg_list_packages (opkg, pk_opkg_package_list_cb, params);
++ opkg_list_packages (pk_opkg_package_list_cb, params);
+
+ pk_backend_finished (params->backend);
+
+@@ -349,7 +347,7 @@
+ }
+
+ static void
+-backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search)
++backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search)
+ {
+ SearchParams *params;
+
+@@ -360,7 +358,7 @@
+ params = g_new0 (SearchParams, 1);
+ params->filters = filters;
+ params->search_type = SEARCH_NAME;
+- params->needle = g_utf8_strdown (search, -1);
++ params->needle = g_utf8_strdown (search[0], -1);
+ params->backend = backend;
+
+ pk_backend_set_pointer (backend, "search-params", params);
+@@ -371,7 +369,7 @@
+ * backend_search_description:
+ */
+ static void
+-backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search)
++backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search)
+ {
+ SearchParams *params;
+
+@@ -382,7 +380,7 @@
+ params = g_new0 (SearchParams, 1);
+ params->filters = filters;
+ params->search_type = SEARCH_DESCRIPTION;
+- params->needle = g_utf8_strdown (search, -1);
++ params->needle = g_utf8_strdown (search[0], -1);
+ params->backend = backend;
+
+ pk_backend_set_pointer (backend, "search-params", params);
+@@ -390,7 +388,7 @@
+ }
+
+ static void
+-backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search)
++backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search)
+ {
+ SearchParams *params;
+
+@@ -401,7 +399,7 @@
+ params = g_new0 (SearchParams, 1);
+ params->filters = filters;
+ params->search_type = SEARCH_TAG;
+- params->needle = g_strdup_printf ("group::%s", search);
++ params->needle = g_strdup_printf ("group::%s", search[0]);
+ params->backend = backend;
+
+ pk_backend_set_pointer (backend, "search-params", params);
+@@ -412,9 +410,9 @@
+ static gboolean
+ backend_install_packages_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
+ gint err, i;
+ gchar **package_ids;
++ gchar **parts;
+
+ package_ids = pk_backend_get_strv (backend, "pkids");
+
+@@ -424,13 +422,13 @@
+ {
+ pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL);
+
+- pi = pk_package_id_new_from_string (package_ids[i]);
++ parts = pk_package_id_split (package_ids[i]);
+
+- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend);
++ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
+ if (err)
+ handle_install_error (backend, err);
+
+- pk_package_id_free (pi);
++ g_strfreev (parts);
+ if (err != 0)
+ break;
+ }
+@@ -453,9 +451,9 @@
+ static gboolean
+ backend_remove_packages_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
+ gint err, i;
+ gchar **package_ids;
++ gchar **parts;
+ gboolean allow_deps;
+ gboolean autoremove;
+ gpointer *data;
+@@ -467,29 +465,30 @@
+ autoremove = GPOINTER_TO_INT (data[2]);
+ g_free (data);
+
+- opkg_set_option (opkg, (char *)"autoremove", &autoremove);
+- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps);
++ opkg_set_option ((char *)"autoremove", &autoremove);
++ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps);
+
+ err = 0;
+
+ for (i = 0; package_ids[i]; i++)
+ {
+- pi = pk_package_id_new_from_string (package_ids[i]);
+ pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL);
+
+- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend);
++ parts = pk_package_id_split (package_ids[i]);
++
++ err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
+
+ switch (err)
+ {
+- case OPKG_NO_ERROR:
+- break;
+- case OPKG_PACKAGE_NOT_INSTALLED:
+- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
+- break;
++ //case OPKG_NO_ERROR:
++ // break;
++ //case OPKG_PACKAGE_NOT_INSTALLED:
++ // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
++ // break;
+ default:
+ opkg_unknown_error (backend, err, "Remove");
+ }
+- pk_package_id_free (pi);
++ g_strfreev (parts);
+
+ if (err != 0)
+ break;
+@@ -540,7 +539,7 @@
+ gint err;
+
+ /* FIXME: support only_trusted */
+- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend);
++ err = opkg_upgrade_all (pk_opkg_progress_cb, backend);
+
+ if (err)
+ opkg_unknown_error (backend, err, "Upgrading system");
+@@ -564,29 +563,28 @@
+ static gboolean
+ backend_update_package_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
++ gchar **parts;
+ gint err = 0;
+ const gchar *package_id;
+
+ /* FIXME: support only_trusted */
+ package_id = pk_backend_get_string (backend, "pkgid");
+- pi = pk_package_id_new_from_string (package_id);
++ parts = pk_package_id_split (package_id);
+
+- if (!pi->name || !pi->version)
++ if (!parts)
+ {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "Package not found");
+- pk_package_id_free (pi);
+ pk_backend_finished (backend);
+ return FALSE;
+ }
+
+- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend);
++ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
+ if (err)
+ handle_install_error (backend, err);
+
+
+- pk_package_id_free (pi);
++ g_strfreev (parts);
+ pk_backend_finished (backend);
+ return (err != 0);
+ }
+@@ -610,13 +608,13 @@
+ */
+
+ static void
+-pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
++pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data)
+ {
+- PkBackend *backend = PK_BACKEND (data);
++ PkBackend *backend = (PkBackend*) data;
+ gchar *uid;
+ gint status;
+
+- if (pkg->installed)
++ if (pkg->state_status == SS_INSTALLED)
+ status = PK_INFO_ENUM_INSTALLED;
+ else
+ status = PK_INFO_ENUM_AVAILABLE;
+@@ -631,7 +629,7 @@
+ static gboolean
+ backend_get_updates_thread (PkBackend *backend)
+ {
+- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend);
++ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend);
+ pk_backend_finished (backend);
+ return TRUE;
+ }
+@@ -668,16 +666,18 @@
+ static gboolean
+ backend_get_details_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
+ gchar **package_ids;
++ gchar **parts;
+ int group_index;
+ PkGroupEnum group = 0;
+- opkg_package_t *pkg;
++ pkg_t *pkg;
+ gchar *newid;
+
+ package_ids = pk_backend_get_strv(backend, "package_ids");
+- pi = pk_package_id_new_from_string (package_ids[0]);
+- if (pi == NULL)
++ parts = pk_package_id_split (package_ids[0]);
++
++
++ if (!parts)
+ {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id");
+ pk_backend_finished (backend);
+@@ -685,8 +685,8 @@
+ }
+
+
+- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data);
+- pk_package_id_free (pi);
++ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]);
++ g_strfreev (parts);
+
+ if (!pkg)
+ {
+@@ -695,7 +695,7 @@
+ return FALSE;
+ }
+
+- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository);
++ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name);
+
+ if (pkg->tags) {
+ for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) {
+@@ -706,9 +706,8 @@
+ }
+ }
+
+- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
++ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size);
+ g_free (newid);
+- opkg_package_free(pkg);
+ pk_backend_finished (backend);
+ return TRUE;
+ }