- New upstream version

- Fixes a nasty bug where the daemon could get locked under heavy load
- Adds collection support for group install and remove
This commit is contained in:
Richard Hughes 2008-09-16 16:18:12 +00:00
parent 6b9d3af14a
commit 4edfdee6f3
7 changed files with 13 additions and 214 deletions

View File

@ -1 +1 @@
PackageKit-0.3.2.tar.gz
PackageKit-0.3.3.tar.gz

View File

@ -7,24 +7,19 @@
Summary: System daemon that is a DBUS abstraction layer for package management
Name: PackageKit
Version: 0.3.2
Release: 3%{?dist}
Version: 0.3.3
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://packagekit.freedesktop.org
Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Upstream: 0bc4ba936db39ccf0466987d964a016363bceeee
Patch0: pk-dont-show-brackets-null.patch
# Upstream: 918dd9d10ef18725776c6a55fe9cf03ec18db047
Patch1: pk-catalog-parameter-fix.patch
Requires: dbus >= %{dbus_version}
Requires: dbus-glib >= %{dbus_glib_version}
Requires: PackageKit-libs = %{version}-%{release}
Requires: yum-packagekit = %{version}-%{release}
Requires: udev-packagekit = %{version}-%{release}
Requires: PackageKit-yum = %{version}-%{release}
Requires: shared-mime-info
Requires: python-sqlite2
@ -57,7 +52,7 @@ cross-architecture API.
%package yum
Summary: PackageKit YUM backend
Group: System Environment/Libraries
Requires: yum >= 3.2.6
Requires: yum >= 3.2.19
Requires: %{name} = %{version}-%{release}
%description yum
@ -144,8 +139,6 @@ using PackageKit.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%configure --enable-yum --enable-smart --with-default-backend=yum --disable-local
@ -188,6 +181,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%dir %{_localstatedir}/lib/PackageKit
%dir %{python_sitelib}/packagekit
%dir %{_localstatedir}/run/PackageKit
%dir %{_localstatedir}/run/PackageKit/udev
%dir %{_localstatedir}/cache/PackageKit
%dir %{_localstatedir}/cache/PackageKit/downloads
%{python_sitelib}/packagekit/*py*
@ -200,6 +194,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_datadir}/man/man1/*.1.gz
%{_datadir}/PolicyKit/policy/*.policy
%{_datadir}/mime/packages/packagekit-*.xml
%{_datadir}/PackageKit/pk-upgrade-distro.sh
%{_sbindir}/packagekitd
%{_bindir}/pkmon
%{_bindir}/pkcon
@ -274,6 +269,11 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_includedir}/*
%changelog
* Tue Sep 16 2008 Richard Hughes <rhughes@redhat.com> - 0.3.3-1
- New upstream version
- Fixes a nasty bug where the daemon could get locked under heavy load
- Adds collection support for group install and remove
* Wed Sep 10 2008 Richard Hughes <rhughes@redhat.com> - 0.3.2-3
- Fix an error where we don't check for existing packages in the catalog
code properly. Also fixes the self tests.

View File

@ -1,32 +0,0 @@
commit 918dd9d10ef18725776c6a55fe9cf03ec18db047
Author: Richard Hughes <richard@hughsie.com>
Date: Wed Sep 10 17:24:24 2008 +0100
bugfix: use a bitfield when searching for files in the catalog else we might return the wrong results
diff --git a/libpackagekit/pk-catalog.c b/libpackagekit/pk-catalog.c
index 3072ad1..fcd14a2 100644
--- a/libpackagekit/pk-catalog.c
+++ b/libpackagekit/pk-catalog.c
@@ -174,12 +174,18 @@ pk_catalog_process_type (PkCatalog *catalog)
/* do the actions */
if (mode == PK_CATALOG_PROGRESS_PACKAGES) {
packages = pk_package_ids_from_id (package);
- ret = pk_client_resolve (catalog->priv->client, PK_FILTER_ENUM_NOT_INSTALLED, packages, &error);
+ ret = pk_client_resolve (catalog->priv->client,
+ pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
+ packages, &error);
g_strfreev (packages);
} else if (mode == PK_CATALOG_PROGRESS_FILES) {
- ret = pk_client_search_file (catalog->priv->client, PK_FILTER_ENUM_NOT_INSTALLED, package, &error);
+ ret = pk_client_search_file (catalog->priv->client,
+ pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
+ package, &error);
} else if (mode == PK_CATALOG_PROGRESS_PROVIDES) {
- ret = pk_client_what_provides (catalog->priv->client, PK_FILTER_ENUM_NOT_INSTALLED, 0, package, &error);
+ ret = pk_client_what_provides (catalog->priv->client,
+ pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
+ PK_PROVIDES_ENUM_ANY, package, &error);
}
if (!ret) {
egg_warning ("method failed: %s", error->message);

View File

@ -1,43 +0,0 @@
commit 0bc4ba936db39ccf0466987d964a016363bceeee
Author: Richard Hughes <richard@hughsie.com>
Date: Wed Sep 10 15:17:01 2008 +0100
bugfix: don't convert null sections of a package_id to '(NULL)' instead use an empty string.
diff --git a/libpackagekit/pk-package-id.c b/libpackagekit/pk-package-id.c
index f328225..9d911fb 100644
--- a/libpackagekit/pk-package-id.c
+++ b/libpackagekit/pk-package-id.c
@@ -218,9 +214,12 @@ pk_package_id_copy (const PkPackageId *id)
gchar *
pk_package_id_to_string (const PkPackageId *id)
{
- return g_strdup_printf ("%s;%s;%s;%s",
- id->name, id->version,
- id->arch, id->data);
+ g_return_val_if_fail (id != NULL, NULL);
+ g_return_val_if_fail (id->name != NULL, NULL);
+ return g_strdup_printf ("%s;%s;%s;%s", id->name,
+ id->version != NULL ? id->version : "",
+ id->arch != NULL ? id->arch : "",
+ id->data != NULL ? id->data : "");
}
/**
@@ -237,11 +236,10 @@ pk_package_id_build (const gchar *name, const gchar *version,
const gchar *arch, const gchar *data)
{
g_return_val_if_fail (name != NULL, NULL);
- g_return_val_if_fail (version != NULL, NULL);
- g_return_val_if_fail (arch != NULL, NULL);
- g_return_val_if_fail (data != NULL, NULL);
-
- return g_strdup_printf ("%s;%s;%s;%s", name, version, arch, data);
+ return g_strdup_printf ("%s;%s;%s;%s", name,
+ version != NULL ? version : "",
+ arch != NULL ? arch : "",
+ data != NULL ? data : "");
}
/**

View File

@ -1,18 +0,0 @@
commit 962d677afcd9a9cfed9f08b4c862b7e3bb175a8c
Author: Richard Hughes <hughsie@localhost.localdomain>
Date: Wed Aug 27 13:36:37 2008 +0100
yum: don't always prefer the first package returned from returnNewestByNameArch() as this will be i386 on x64, and hence the wrong thing will be installed on multiarch
diff --git a/backends/yum/helpers/yumBackend.py b/backends/yum/helpers/yumBackend.py
index 4e3926f..3dd2b2f 100644
--- a/backends/yum/helpers/yumBackend.py
+++ b/backends/yum/helpers/yumBackend.py
@@ -814,7 +814,6 @@ class PackageKitYumBackend(PackageKitBaseBackend):
show = False
if show:
self._show_package(pkg,INFO_AVAILABLE)
- break
@handle_repo_error
def install_packages(self,package_ids):

View File

@ -1,108 +0,0 @@
commit c71eaadafd4115f0d8cf1c39c882f678ce1f004a
Author: Richard Hughes <hughsie@localhost.localdomain>
Date: Wed Aug 27 13:28:43 2008 +0100
bugfix: fix pkcon to treat the filters as bitfields, not enums
diff --git a/client/pk-console.c b/client/pk-console.c
index 91cee17..2bb8bf2 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -506,6 +506,7 @@ pk_console_perhaps_resolve (PkClient *client, PkBitfield filter, const gchar *pa
/* we need to resolve it */
packages = pk_package_ids_from_id (package);
+
ret = pk_client_resolve (client_task, filter, packages, error);
g_strfreev (packages);
if (!ret) {
@@ -585,7 +586,7 @@ pk_console_install_stuff (PkClient *client, gchar **packages, GError **error)
if (is_local) {
g_ptr_array_add (array_files, g_strdup (packages[i]));
} else {
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NOT_INSTALLED, packages[i], error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED), packages[i], error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s: %s", _("Could not find package to install"), packages[i]);
ret = FALSE;
@@ -691,7 +692,7 @@ pk_console_remove_packages (PkClient *client, gchar **packages, GError **error)
list = pk_package_list_new ();
length = g_strv_length (packages);
for (i=2; i<length; i++) {
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_INSTALLED, packages[i], error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), packages[i], error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s:%s\n", _("Could not find package to remove"), packages[i]);
ret = FALSE;
@@ -725,7 +726,7 @@ pk_console_remove_packages (PkClient *client, gchar **packages, GError **error)
pk_debug ("Getting installed requires for %s", package_ids[0]);
/* see if any packages require this one */
- ret = pk_client_get_requires (client_task, PK_FILTER_ENUM_INSTALLED, package_ids, TRUE, error);
+ ret = pk_client_get_requires (client_task, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package_ids, TRUE, error);
if (!ret) {
pk_warning ("failed to get requires");
goto out;
@@ -797,7 +798,7 @@ pk_console_download_packages (PkClient *client, gchar **packages, const gchar *d
array_packages = g_ptr_array_new ();
length = g_strv_length (packages);
for (i=3; i<length; i++) {
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NONE, packages[i], error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), packages[i], error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s: %s", _("Could not find package to download"), packages[i]);
ret = FALSE;
@@ -848,7 +849,7 @@ pk_console_update_package (PkClient *client, const gchar *package, GError **erro
gchar *package_id;
gchar **package_ids;
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_INSTALLED, package, error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package, error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s: %s", _("Could not find package to update"), package);
return FALSE;
@@ -870,7 +871,7 @@ pk_console_get_requires (PkClient *client, PkBitfield filters, const gchar *pack
gboolean ret;
gchar *package_id;
gchar **package_ids;
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NONE, package, error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), package, error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s %s", _("Could not find what packages require"), package);
return FALSE;
@@ -891,7 +892,7 @@ pk_console_get_depends (PkClient *client, PkBitfield filters, const gchar *packa
gboolean ret;
gchar *package_id;
gchar **package_ids;
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NONE, package, error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), package, error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s %s", _("Could not get dependencies for"), package);
return FALSE;
@@ -912,7 +913,7 @@ pk_console_get_details (PkClient *client, const gchar *package, GError **error)
gboolean ret;
gchar *package_id;
gchar **package_ids;
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NONE, package, error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), package, error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s %s", _("Could not find details for"), package);
return FALSE;
@@ -935,7 +936,7 @@ pk_console_get_files (PkClient *client, const gchar *package, GError **error)
gchar **package_ids;
GError *error_local = NULL;
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_NONE, package, &error_local);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), package, &error_local);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s (%s)", _("Could not find the files for this package"), error_local->message);
g_error_free (error_local);
@@ -961,7 +962,7 @@ pk_console_get_update_detail (PkClient *client, const gchar *package, GError **e
gboolean ret;
gchar *package_id;
gchar **package_ids;
- package_id = pk_console_perhaps_resolve (client, PK_FILTER_ENUM_INSTALLED, package, error);
+ package_id = pk_console_perhaps_resolve (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package, error);
if (package_id == NULL) {
*error = g_error_new (1, 0, "%s %s", _("Could not find the update details for"), package);
return FALSE;

View File

@ -1 +1 @@
ecf46fb214287c5ffbcdbe3b13901ffe PackageKit-0.3.2.tar.gz
2c91101359e0331325d2acde7b9130f4 PackageKit-0.3.3.tar.gz