packagekit: 0.4.9 -> 0.6.0 (with fixes for opkg)

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie 2010-01-29 11:36:06 +00:00
parent db39d570e6
commit 6ca0e13033
6 changed files with 438 additions and 67 deletions

View File

@ -1,21 +0,0 @@
Index: PackageKit-0.3.8/configure.ac
===================================================================
--- PackageKit-0.3.8.orig/configure.ac 2008-11-04 21:37:17.000000000 +0000
+++ PackageKit-0.3.8/configure.ac 2008-11-04 21:37:57.000000000 +0000
@@ -451,11 +451,11 @@
polkit-grant >= $POLKIT_GRANT_REQUIRED)
AC_SUBST(POLKIT_CFLAGS)
AC_SUBST(POLKIT_LIBS)
- AC_CHECK_PROG([POLKIT_POLICY_FILE_VALIDATE],
- [polkit-policy-file-validate], [polkit-policy-file-validate])
- if test -z "$POLKIT_POLICY_FILE_VALIDATE"; then
- AC_MSG_ERROR([polkit-policy-file-validate not found])
- fi
+ #AC_CHECK_PROG([POLKIT_POLICY_FILE_VALIDATE],
+ # [polkit-policy-file-validate], [polkit-policy-file-validate])
+ #if test -z "$POLKIT_POLICY_FILE_VALIDATE"; then
+ # AC_MSG_ERROR([polkit-policy-file-validate not found])
+ #fi
AC_DEFINE(USE_SECURITY_POLKIT, 1, [if we should use PolicyKit])
elif test x$with_security_framework = xdummy; then
AC_DEFINE(USE_SECURITY_DUMMY, 1, [if we should use a dummy security framework])

View File

@ -1,22 +0,0 @@
http://bugs.freedesktop.org/show_bug.cgi?id=20922
--- /tmp/pk-backend-opkg.c 2009-03-28 12:32:28.000000000 +0100
+++ PackageKit-0.4.5/backends/opkg/pk-backend-opkg.c 2009-03-28 12:48:04.000000000 +0100
@@ -47,7 +47,7 @@
} SearchParams;
static void
-opkg_unknown_error (PkBackend *backend, gint error_code, gchar *failed_cmd)
+opkg_unknown_error (PkBackend *backend, gint error_code, const gchar *failed_cmd)
{
gchar *msg;
@@ -105,7 +105,7 @@
*
* returns true if the tag is present
*/
-gboolean
+static gboolean
opkg_check_tag (opkg_package_t *pkg, gchar *tag)
{
if (pkg->tags && tag)

View File

@ -0,0 +1,13 @@
Index: PackageKit-0.6.0/configure.ac
===================================================================
--- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000
+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000
@@ -90,7 +90,7 @@
enable_strict=$default_strict)
if test x$enable_strict != xno; then
if test "$GCC" = "yes"; then
- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror"
+ :
fi
fi

View File

@ -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;
}

View File

@ -1,18 +0,0 @@
Index: PackageKit-0.4.9/configure.ac
===================================================================
--- PackageKit-0.4.9.orig/configure.ac 2009-10-09 17:06:25.000000000 +0100
+++ PackageKit-0.4.9/configure.ac 2009-10-09 17:06:48.000000000 +0100
@@ -271,12 +271,7 @@
dnl - Is NetworkManager available?
dnl ---------------------------------------------------------------------------
PKG_CHECK_MODULES(LIBNM, libnm_glib >= $LIBNM_GLIB_REQUIRED, PK_BUILD_NETWORKMANAGER="yes", PK_BUILD_NETWORKMANAGER="no")
-if test "x$PK_BUILD_NETWORKMANAGER" = "xyes"; then
- networking_apis="${networking_apis},NetworkManager"
- AC_DEFINE(PK_BUILD_NETWORKMANAGER, 1, [define if NetworkManager is installed])
-else
- PK_BUILD_NETWORKMANAGER=no
-fi
+PK_BUILD_NETWORKMANAGER=no
AM_CONDITIONAL(PK_BUILD_NETWORKMANAGER, test x$PK_BUILD_NETWORKMANAGER = xyes)
AC_SUBST(LIBNM_CFLAGS)

View File

@ -8,10 +8,9 @@ RDEPENDS_${PN} = "opkg"
inherit gnome autotools_stage
SRC_URI = "http://www.packagekit.org/releases/PackageKit-${PV}.tar.gz \
file://no_validate.patch;patch=1 \
file://no-nm.patch;patch=1"
PR = "r3"
PE = "1"
file://configurefix.patch;patch=1 \
file://opkgfixes.patch;patch=1"
PR = "r1"
S = "${WORKDIR}/PackageKit-${PV}"
@ -22,14 +21,13 @@ EXTRA_OECONF = "--with-security-framework=dummy \
--disable-qt \
--disable-gstreamer-plugin \
--disable-local \
--disable-networkmanager \
ac_cv_path_XMLTO=no \
"
do_configure_prepend() {
mkdir -p m4
echo "EXTRA_DIST=" > gtk-doc.make
sed -i -e s:0\.1\.5:0\.1\.6:g -e /Werror/d configure.ac
}
do_configure_append() {