From 4edfdee6f338722942dbc3e1560948e88a3f27ec Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Sep 16 2008 16:18:12 +0000 Subject: - New upstream version - Fixes a nasty bug where the daemon could get locked under heavy load - Adds collection support for group install and remove --- diff --git a/.cvsignore b/.cvsignore index ea5b7e1..681cc84 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -PackageKit-0.3.2.tar.gz +PackageKit-0.3.3.tar.gz diff --git a/PackageKit.spec b/PackageKit.spec index 0301799..1135d20 100644 --- a/PackageKit.spec +++ b/PackageKit.spec @@ -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 - 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 - 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. diff --git a/pk-catalog-parameter-fix.patch b/pk-catalog-parameter-fix.patch deleted file mode 100644 index c69604c..0000000 --- a/pk-catalog-parameter-fix.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 918dd9d10ef18725776c6a55fe9cf03ec18db047 -Author: Richard Hughes -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); diff --git a/pk-dont-show-brackets-null.patch b/pk-dont-show-brackets-null.patch deleted file mode 100644 index 789ba63..0000000 --- a/pk-dont-show-brackets-null.patch +++ /dev/null @@ -1,43 +0,0 @@ -commit 0bc4ba936db39ccf0466987d964a016363bceeee -Author: Richard Hughes -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 : ""); - } - - /** - diff --git a/pk-fix-multiarch-resolve.patch b/pk-fix-multiarch-resolve.patch deleted file mode 100644 index 268b7ef..0000000 --- a/pk-fix-multiarch-resolve.patch +++ /dev/null @@ -1,18 +0,0 @@ -commit 962d677afcd9a9cfed9f08b4c862b7e3bb175a8c -Author: Richard Hughes -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): diff --git a/pk-fix-pkcon-filters.patch b/pk-fix-pkcon-filters.patch deleted file mode 100644 index f007607..0000000 --- a/pk-fix-pkcon-filters.patch +++ /dev/null @@ -1,108 +0,0 @@ -commit c71eaadafd4115f0d8cf1c39c882f678ce1f004a -Author: Richard Hughes -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; imessage); - 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; diff --git a/sources b/sources index 01b7d6e..8b208cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ecf46fb214287c5ffbcdbe3b13901ffe PackageKit-0.3.2.tar.gz +2c91101359e0331325d2acde7b9130f4 PackageKit-0.3.3.tar.gz