Hello community,

here is the log from the commit of package PackageKit for openSUSE:Factory 
checked in at 2013-01-20 08:23:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/PackageKit (Old)
 and      /work/SRC/openSUSE:Factory/.PackageKit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "PackageKit", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/PackageKit/PackageKit.changes    2012-11-19 
07:07:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.PackageKit.new/PackageKit.changes       
2013-01-20 08:23:16.000000000 +0100
@@ -1,0 +2,128 @@
+Sat Jan 19 15:32:49 UTC 2013 - [email protected]
+
+- Add 0005-zypp-fix-removing-packages.patch: fix removing packages
+  and hopefully also some crashes (bnc#769764).
+
+-------------------------------------------------------------------
+Sat Jan 19 09:29:27 UTC 2013 - [email protected]
+
+- Add 0004-zypp-use-the-right-functions-to-get-solvables.patch:
+  make sure we're not hitting random packages. This also makes it
+  able to install patters with pkconf.
+
+-------------------------------------------------------------------
+Fri Jan 18 13:18:30 UTC 2013 - [email protected]
+
+- Make the new libpackagekit-glib package conflict with older
+  versions of PackageKit: together with the Recommends, we bring
+  the latest version in but don't forcibly require it.
+
+-------------------------------------------------------------------
+Thu Jan 17 16:10:55 UTC 2013 - [email protected]
+
+- Added 0003-zypp-fix-download-progress.patch: fix download
+  progress (in apper).
+
+-------------------------------------------------------------------
+Thu Jan 17 10:01:11 UTC 2013 - [email protected]
+
+- Added patch (fix-policies-opensuse.patch) to be within the 
+  openSUSE guidelines for PolicyKit files.
+- Removed PackageKit-rpmlintrc due to above mentioned patch
+
+-------------------------------------------------------------------
+Wed Jan 16 19:38:47 UTC 2013 - [email protected]
+
+- Update to version 0.8.7: 
+  + ZYpp Backend:
+    - Adjust PK_FILTER_ENUM_NOT_DEVELOPMENT (bnc#770028)
+    - Construct PoolItem from sat::Solvable rather than doing 
+      a search
+    - Don't retrieve raw package attributes but use zypp::ResObject
+      (bnc#764677)
+    - Don't waste time comparing zypp::Arch string representations
+    - Fix missing dtor
+    - No longer use the old and deprecated ZYppCommitResult members
+      (bnc#769764)
+    - No need to retrieve installed packages attributes from rpm
+      database
+    - Set CXXFLAGS and use --std=c++0x as libzypp does (bnc#769764)
+    - Use pre-increment in for-loops to avoid temporaries
+    - always solve dependencies with 'IgnoreAlreadyRecommended ON'
+      (bnc#747751)
+    - check for best architecture and version when looking for the
+      'newest' package 
+    - finish port of backend to 0.8 API
+    - match the patch name to prevent an internal error
+    - return package list ordered witht respect to solver policies
+    - TODO is old and outdated, removed 
+  + GLib library:
+    - Add a PkItemProgress helper object to remove the workaround
+      in PkProgress
+    - Make the 'update-vendor-urls' property have a proper char**
+      type
+    - Make the updates and obsoletes items in
+      Transaction::UpdateDetail actual arrays
+    - Make the URL items in Transaction::UpdateDetail actual arrays
+    - Don't update the transaction role to 'unknown' 
+    - Remove support for UpdateSystem() 
+    - Save the transaction flags when removing packages 
+    - Ensure remote error is stripped before showing it to the user
+    - Add pk_package_sack_to_file() to save the sack to disk
+    - Check for failure to copy files when making a service pack
+    - Remove some unused code spotted by coverity
+  + New Features:
+    - Add an optional binary to update the system when offline
+    - Add an optional pkexec binary to create the system-update
+      symlink
+    - Add a --only-download option to pkcon for testing
+    - Added Transaction property DownloadSizeRemaining, so backends
+      can tell how much download is left to do
+    - Add logind support which is enabled by default
+    - Add pkexec executable pk-clear-offline-update to be able to
+      clear the offline-update message
+  + Bugfixes:
+    - Drop the unused polkit-backend-1 check from configure as
+      it's gone upstream
+    - Fix a crash where NetworkManager is restarted whilst
+      packagekitd is running
+    - Pause the plymouth progress when applying offline updates
+    - Do not run the plugins when using only-download
+    - systemd-updates: Add environment PK_OFFLINE_UPDATE_TEST=1 for
+      testing funcitonality
+    - systemd-updates: If the upgrade tool exits with an error
+      reboot the system
+    - systemd-updates: Remove the prepared-updates file if
+      GetUpdates() returns no packages
+    - systemd-updates: Remove the prepared-updates file if the
+      daemon state changes
+    - systemd-updates: Write package_ids into
+      /var/lib/PackageKit/prepared-update
+    - We don't need to authenticate at all to just download
+      packages
+- Dropped patches due to upstream incorporation :
+  + 0003-Revert-packagekit-qt2-Since-new-methods-and-enums-wh.patch
+  + 0004-zypp-use-pre-increment-in-for-loops-to-avoid-tempora.patch
+  + 0005-zypp-don-t-waste-time-comparing-zypp-Arch-string-rep.patch
+  + 0006-zypp-set-CXXFLAGS-and-use-std-c-0x-as-libzypp-does-b.patch
+  + 0007-zypp-fix-missing-dtor.patch
+  + 0008-zypp-no-longer-use-the-old-and-deprecated-ZYppCommit.patch
+  + 0009-zypp-adjust-PK_FILTER_ENUM_NOT_DEVELOPMENT-bnc-77002.patch
+  + PackageKit-zypp-packagesize.patch
+  + PackageKit-bnc775651-ignore-accept-eula.patch
+  + PackageKit-bnc780058-zypp-backend-match-patches.patch
+  + PackageKit-gstreamer-1.0.patch
+  + PackageKit-no-polkit-backend-1.patch
+- Add pkgconfig(systemd) BuildRequires: new depenency.
+- Remove obsolete xulrunner version matches: we build against npapi
+  now.
+- Drop obsolete suse_version checks.
+- Rename libpackagekit-glib2-14 to libpackagekit-glib2-16,
+  following upstreams soname bump (also in baselibs.conf)
+- Drop libpackagekit-qt2-devel and libpackagekit-qt2-2 subpackages:
+  upstream split this in an own source tarball.
+- Pass --enable-gstreamer-plugin to configure.
+- Remove references to libpackagekit-qt14 and libpackagekit-qt2-2
+  from baselibs.conf: those libraries are no longer built.
+
+-------------------------------------------------------------------

Old:
----
  0003-Revert-packagekit-qt2-Since-new-methods-and-enums-wh.patch
  0004-zypp-use-pre-increment-in-for-loops-to-avoid-tempora.patch
  0005-zypp-don-t-waste-time-comparing-zypp-Arch-string-rep.patch
  0006-zypp-set-CXXFLAGS-and-use-std-c-0x-as-libzypp-does-b.patch
  0007-zypp-fix-missing-dtor.patch
  0008-zypp-no-longer-use-the-old-and-deprecated-ZYppCommit.patch
  0009-zypp-adjust-PK_FILTER_ENUM_NOT_DEVELOPMENT-bnc-77002.patch
  PackageKit-0.7.4.tar.xz
  PackageKit-bnc775651-ignore-accept-eula.patch
  PackageKit-bnc780058-zypp-backend-match-patches.patch
  PackageKit-gstreamer-1.0.patch
  PackageKit-no-polkit-backend-1.patch
  PackageKit-zypp-packagesize.patch

New:
----
  0003-zypp-fix-download-progress.patch
  0004-zypp-use-the-right-functions-to-get-solvables.patch
  0005-zypp-fix-removing-packages.patch
  PackageKit-0.8.7.tar.xz
  fix-policies-opensuse.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ PackageKit.spec ++++++
--- /var/tmp/diff_new_pack.uwcJYp/_old  2013-01-20 08:23:24.000000000 +0100
+++ /var/tmp/diff_new_pack.uwcJYp/_new  2013-01-20 08:23:24.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package PackageKit
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,22 +19,8 @@
 # $ pkcon search file /usr/bin/anjuta
 %define BUILD_CNF 1
 
-%if 0%{suse_version} > 1130
-%define xulrunner_version 20
-%else
-%if 0%{suse_version} > 1120
-%define xulrunner_version 192
-%else
-%if 0%{suse_version} > 1110
-%define xulrunner_version 191
-%else
-%define xulrunner_version 190
-%endif
-%endif
-%endif
-
 Name:           PackageKit
-Version:        0.7.4
+Version:        0.8.7
 Release:        0
 Summary:        Simple software installation management software
 License:        GPL-2.0+
@@ -42,6 +28,18 @@
 Url:            http://packagekit.org/
 Source:         http://www.packagekit.org/releases/%{name}-%{version}.tar.xz
 Source2:        baselibs.conf
+# PATCH-FEATURE-OPENSUSE 
0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch 
[email protected] -- Change the configuration of the cron script to a 
sysconfig-like config
+Patch1:         0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch
+# PATCH-FIX-UPSTREAM PackageKit-npapi.patch fdo#40026 [email protected] -- 
Build against npapi-sdk instead of xulrunner
+Patch2:         0002-Build-against-npapi-sdk-instead-of-xulrunner.patch
+# PATCH-FIX-OPENSUSE fix-policies-opensuse.patch [email protected] -- Make 
sure that the Policy settings are conform openSUSE standards
+Patch3:         fix-policies-opensuse.patch
+# PATCH-FIX-UPSTREAM 0003-zypp-fix-download-progress.patch [email protected] -- 
Fix download progress
+Patch4:         0003-zypp-fix-download-progress.patch
+# PATCH-FIX-UPSTREAM 0004-zypp-use-the-right-functions-to-get-solvables.patch 
[email protected] -- Several fixes for package_id
+Patch5:         0004-zypp-use-the-right-functions-to-get-solvables.patch
+# PATCH-FIX-UPSTREAM 0005-zypp-use-the-right-functions-to-get-solvables.patch 
[email protected] -- fix removing
+Patch6:         0005-zypp-fix-removing-packages.patch
 # To update this package, please git-format-patch the tag of the
 # tarball version (eg: PACKAGEKIT_0_6_19) vs the distro tag (eg: 
openSUSE_Factory)
 # in https://github.com/openSUSE/PackageKit and keep the patches
@@ -49,35 +47,6 @@
 # When updating the package you can rebase the distro branch against
 # the new release tag.
 #
-# PATCH-FEATURE-OPENSUSE 
0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch 
[email protected] -- Change the configuration of the cron script to a 
sysconfig-like config
-Patch0:         0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch
-# PATCH-FIX-UPSTREAM PackageKit-npapi.patch fdo#40026 [email protected] -- 
Build against npapi-sdk instead of xulrunner
-Patch1:         0002-Build-against-npapi-sdk-instead-of-xulrunner.patch
-# PATCH-FIX-UPSTREAM 
0003-Revert-packagekit-qt2-Since-new-methods-and-enums-wh.patch 
[email protected] -- Fix broken soversion of libpackagekit-qt2, will be fixed 
properly in next upstream version
-Patch2:         0003-Revert-packagekit-qt2-Since-new-methods-and-enums-wh.patch
-# PATCH-FIX-UPSTREAM 
0004-zypp-use-pre-increment-in-for-loops-to-avoid-tempora.patch 
[email protected] -- zypp: use pre-increment in for-loops to avoid 
temporaries
-Patch3:         0004-zypp-use-pre-increment-in-for-loops-to-avoid-tempora.patch
-# PATCH-FIX-UPSTREAM 
0005-zypp-don-t-waste-time-comparing-zypp-Arch-string-rep.patch 
[email protected] -- don't waste time comparing zypp::Arch string 
representations
-Patch4:         0005-zypp-don-t-waste-time-comparing-zypp-Arch-string-rep.patch
-# PATCH-FIX-UPSTREAM 
0006-zypp-set-CXXFLAGS-and-use-std-c-0x-as-libzypp-does-b.patch bnc#769764 
[email protected] -- set CXXFLAGS and use --std=c++0x as libzypp does
-Patch5:         0006-zypp-set-CXXFLAGS-and-use-std-c-0x-as-libzypp-does-b.patch
-# PATCH-FIX-UPSTREAM 0007-zypp-fix-missing-dtor.patch [email protected] -- 
fix missing dtor
-Patch6:         0007-zypp-fix-missing-dtor.patch
-# PATCH-FIX-UPSTREAM 
0008-zypp-no-longer-use-the-old-and-deprecated-ZYppCommit.patch bnc#769764 
[email protected] -- no longer use the old and deprecated ZYppCommitResult 
members
-Patch7:         0008-zypp-no-longer-use-the-old-and-deprecated-ZYppCommit.patch
-# PATCH-FIX-UPSTREAM 
0009-zypp-adjust-PK_FILTER_ENUM_NOT_DEVELOPMENT-bnc-77002.patch bnc#770028 
[email protected] -- adjust PK_FILTER_ENUM_NOT_DEVELOPMENT
-Patch8:         0009-zypp-adjust-PK_FILTER_ENUM_NOT_DEVELOPMENT-bnc-77002.patch
-#
-# PATCH-FIX-UPSTREAM PackageKit-zypp-packagesize.patch bnc#764677 
[email protected] -- libzypp changed API and now returns Bytes instead of 
KBytes.
-Patch9:         PackageKit-zypp-packagesize.patch
-# PATCH-FIX-UPSTREAM PackageKit-bnc775651-ignore-accept-eula.patch bnc#775651 
fdo#53532 [email protected] -- ignore "accept-eula" transactions to avoid crash
-Patch10:        PackageKit-bnc775651-ignore-accept-eula.patch
-# PATCH-FIX-UPSTREAM PackageKit-bnc780058-zypp-backend-match-patches.patch 
bnc#780058 fdo#55267 [email protected] -- zypp: match the patch names to prevent 
the internal error
-Patch11:        PackageKit-bnc780058-zypp-backend-match-patches.patch
-# PATCH-FIX-UPSTREAM PackageKit-gstreamer-1.0.patch [email protected] -- 
Support GStreamer 1.0, taken from upstream git.
-Patch12:        PackageKit-gstreamer-1.0.patch
-# PATCH-FIX-UPSTREAM PackageKit-no-polkit-backend-1.patch [email protected] 
-- Drop unused polkit-backend-1 dependency.
-Patch13:        PackageKit-no-polkit-backend-1.patch
 BuildRequires:  NetworkManager-devel
 BuildRequires:  automake
 BuildRequires:  docbook-utils
@@ -97,18 +66,15 @@
 BuildRequires:  libtool
 BuildRequires:  libzypp-devel
 BuildRequires:  mozilla-nspr-devel >= 4.8
-%if 0%{suse_version} > 1140
-BuildRequires:  pkgconfig(npapi-sdk)
-%else
-BuildRequires:  mozilla-xulrunner%{xulrunner_version}-devel
-%endif
 BuildRequires:  pm-utils
 BuildRequires:  polkit-devel >= 0.98
 BuildRequires:  python-devel
+BuildRequires:  pkgconfig(npapi-sdk)
 # We need the %%mime_database_* macros
 BuildRequires:  shared-mime-info
 BuildRequires:  sqlite-devel
 BuildRequires:  translation-update-upstream
+BuildRequires:  pkgconfig(systemd)
 Requires:       %{name}-branding = %{version}
 # We really want a working backend (likely zypp)
 Requires:       %{name}-backend
@@ -122,9 +88,7 @@
 Obsoletes:      ruck <= 0.6.3
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %py_requires
-%if %suse_version <= 1110
-%define python_sitelib %{py_sitedir}
-%endif
+%{?systemd_requires}
 
 %description
 PackageKit is a system designed to make installing and updating
@@ -162,21 +126,6 @@
 This package provides the GObject Introspection bindings for the
 PackageKit plugin library.
 
-%package browser-plugin
-Summary:        Simple software installation management software
-License:        GPL-2.0+
-Group:          Productivity/Networking/Web/Browsers
-Recommends:     %{name} = %{version}
-Supplements:    packageand(%{name}:MozillaFirefox)
-Supplements:    packageand(%{name}:epiphany)
-
-%description browser-plugin
-PackageKit is a system designed to make installing and updating
-software on your computer easier.  The primary design goal is to unify
-all the software graphical tools used in different distributions, and
-use some of the latest technology like PolicyKit to make the process
-suck less.
-
 %package gstreamer-plugin
 Summary:        Simple software installation management software
 License:        GPL-2.0+
@@ -185,10 +134,8 @@
 Requires(postun): update-alternatives
 Recommends:     %{name} = %{version}
 Supplements:    packageand(%{name}:gstreamer-0_10-plugins-base)
-%if %suse_version > 1130
 Provides:       opensuse-codecs-installer = 10.3.1
 Obsoletes:      opensuse-codecs-installer <= 10.3.1
-%endif
 
 %description gstreamer-plugin
 PackageKit is a system designed to make installing and updating
@@ -225,15 +172,16 @@
 configuration files and development tools (with manual pages) needed to
 compile and link applications using PackageKit.
 
-%package -n libpackagekit-glib2-14
+%package -n libpackagekit-glib2-16
 Summary:        Simple software installation management software
 License:        LGPL-2.1+
 Group:          System/Libraries
 Recommends:     %{name}
+Conflicts:      %{name} < %{version}
 Provides:       libpackagekit-glib12 = %{version}
 Obsoletes:      libpackagekit-glib12 < %{version}
 
-%description -n libpackagekit-glib2-14
+%description -n libpackagekit-glib2-16
 PackageKit is a system designed to make installing and updating
 software on your computer easier.  The primary design goal is to unify
 all the software graphical tools used in different distributions, and
@@ -259,7 +207,7 @@
 Summary:        Simple software installation management software
 License:        LGPL-2.1+
 Group:          Development/Libraries/GNOME
-Requires:       libpackagekit-glib2-14 = %{version}
+Requires:       libpackagekit-glib2-16 = %{version}
 Requires:       typelib-1_0-PackageKitGlib-1_0 = %{version}
 Provides:       libpackagekit-glib12-devel = %{version}
 Obsoletes:      libpackagekit-glib12-devel < %{version}
@@ -271,26 +219,15 @@
 use some of the latest technology like PolicyKit to make the process
 suck less.
 
-%package -n libpackagekit-qt2-2
-Summary:        Simple software installation management software
-License:        LGPL-2.1+
-Group:          System/Libraries
-Recommends:     %{name}
-
-%description -n libpackagekit-qt2-2
-PackageKit is a system designed to make installing and updating
-software on your computer easier.  The primary design goal is to unify
-all the software graphical tools used in different distributions, and
-use some of the latest technology like PolicyKit to make the process
-suck less.
-
-%package -n libpackagekit-qt2-devel
+%package browser-plugin
 Summary:        Simple software installation management software
-License:        LGPL-2.1+
-Group:          Development/Libraries/C and C++
-Requires:       libpackagekit-qt2-2 = %{version}
+License:        GPL-2.0+
+Group:          Productivity/Networking/Web/Browsers
+Recommends:     %{name} = %{version}
+Supplements:    packageand(%{name}:MozillaFirefox)
+Supplements:    packageand(%{name}:epiphany)
 
-%description -n libpackagekit-qt2-devel
+%description browser-plugin
 PackageKit is a system designed to make installing and updating
 software on your computer easier.  The primary design goal is to unify
 all the software graphical tools used in different distributions, and
@@ -321,23 +258,13 @@
 %lang_package
 %prep
 %setup -q
-translation-update-upstream
-%patch0 -p1
-%if 0%{?suse_version} > 1140
 %patch1 -p1
-%endif
 %patch2 -p1
-%patch3 -p1
+%patch3 -p0
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
+translation-update-upstream
 
 %build
 # Needed due to patch3 and patch13
@@ -345,11 +272,14 @@
 %configure \
        --disable-static \
        --enable-zypp \
+       --enable-gstreamer-plugin \
        --with-default-backend=zypp \
        --with-security-framework=polkit \
        --with-mozilla-plugin-dir=%{_libdir}/browser-plugins \
 %if ! %BUILD_CNF
         --disable-command-not-found \
+%else
+       --enable-command-not-found \
 %endif
         %{nil}
 make %{?_smp_mflags} V=1
@@ -357,7 +287,7 @@
 %install
 %makeinstall
 mv %{buildroot}%{_sysconfdir}/bash_completion.d/pk-completion.{ba,}sh
-find %{buildroot} -type f -name "*.la" -exec %{__rm} -fv {} +
+find %{buildroot} -type f -name "*.la" -delete -print
 # the pm-utils package in openSUSE uses libexecdir and not libdir
 %if "%{_libdir}" != "%{_libexecdir}"
     test ! -e %{buildroot}%{_libexecdir}/pm-utils
@@ -371,12 +301,20 @@
 %find_lang %{name} %{?no_lang_C}
 %fdupes $RPM_BUILD_ROOT
 
+%pre 
+%service_add_pre packagekit-offline-update.service
+
 %post
 %{fillup_only -n packagekit-background}
 %mime_database_post
+%service_add_post packagekit-offline-update.service
+
+%preun 
+%service_del_preun packagekit-offline-update.service
 
 %postun
 %mime_database_postun
+%service_del_postun packagekit-offline-update.service
 
 %post gstreamer-plugin
 update-alternatives --install %{_libexecdir}/gst-install-plugins-helper 
gst-install-plugins-helper %{_libexecdir}/pk-gstreamer-install 10
@@ -393,13 +331,9 @@
 %postun gtk3-module
 %glib2_gsettings_schema_postun
 
-%post -n libpackagekit-glib2-14 -p /sbin/ldconfig
-
-%post -n libpackagekit-qt2-2 -p /sbin/ldconfig
+%post -n libpackagekit-glib2-16 -p /sbin/ldconfig
 
-%postun -n libpackagekit-glib2-14 -p /sbin/ldconfig
-
-%postun -n libpackagekit-qt2-2 -p /sbin/ldconfig
+%postun -n libpackagekit-glib2-16 -p /sbin/ldconfig
 
 %files lang -f %{name}.lang
 
@@ -435,13 +369,19 @@
 %{_bindir}/pkgenpack
 %{_libdir}/packagekit-backend/libpk_backend_dummy.so
 %{_libdir}/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so
-%{_libdir}/packagekit-plugins/libpk-plugin-clear-firmware-requests.so
 %{_libdir}/packagekit-plugins/libpk_plugin-no-update-process.so
 %{_libdir}/packagekit-plugins/libpk_plugin-scan-desktop-files.so
 %{_libdir}/packagekit-plugins/libpk_plugin_scripts.so
 %{_libdir}/packagekit-plugins/libpk_plugin-update-check-processes.so
-%{_libdir}/packagekit-plugins/libpk_plugin-update-package-list.so
+%{_libdir}/packagekit-plugins/libpk_plugin-clear-firmware-requests.so
+%{_libdir}/packagekit-plugins/libpk_plugin-clear-system-update.so
+%{_libdir}/packagekit-plugins/libpk_plugin-require-restart.so
+%{_libdir}/packagekit-plugins/libpk_plugin-systemd-updates.so
+%{_libdir}/packagekit-plugins/libpk_plugin-update-package-cache.so
 %{_libexecdir}/packagekitd
+%{_libexecdir}/pk-clear-offline-update
+%{_libexecdir}/pk-offline-update
+%{_libexecdir}/pk-trigger-offline-update
 %{_libexecdir}/pm-utils/sleep.d/95packagekit
 %if %BUILD_CNF
 %{_libexecdir}/pk-command-not-found
@@ -457,6 +397,7 @@
 %{_datadir}/dbus-1/system-services/*
 %doc %{_mandir}/man?/*.*
 %verify(not md5 size mtime) %{_localstatedir}/lib/PackageKit/transactions.db
+%{_unitdir}/packagekit-offline-update.service
 
 %files backend-zypp
 %defattr(-,root,root)
@@ -466,10 +407,6 @@
 %defattr(-,root,root)
 %{_libdir}/girepository-1.0/PackageKitPlugin-1.0.typelib
 
-%files browser-plugin
-%defattr(-,root,root)
-%{_libdir}/browser-plugins/packagekit-plugin.so
-
 %files gstreamer-plugin
 %defattr(-,root,root)
 %ghost %attr(755,root,root) %{_libexecdir}/gst-install-plugins-helper
@@ -481,7 +418,7 @@
 %dir %{_libdir}/gnome-settings-daemon-3.0/gtk-modules
 %{_libdir}/gnome-settings-daemon-3.0/gtk-modules/pk-gtk-module.desktop
 %{_libdir}/gtk-3.0/modules/*
-%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.gtk-modules-packagekit.gschema.xml
+%{_libdir}/gtk-2.0/modules/*
 
 %files devel
 %defattr(-,root,root)
@@ -494,11 +431,10 @@
 %{_libdir}/packagekit-backend/libpk_backend_test_thread.so
 %{_libdir}/pkgconfig/packagekit-plugin.pc
 %dir %{_includedir}/PackageKit
-%{_includedir}/PackageKit/backend/
 %{_includedir}/PackageKit/plugin/
 %{_datadir}/gir-1.0/PackageKitPlugin-1.0.gir
 
-%files -n libpackagekit-glib2-14
+%files -n libpackagekit-glib2-16
 %defattr(-,root,root)
 %doc lib/packagekit-glib2/COPYING
 %{_libdir}/libpackagekit-glib2.so.*
@@ -515,17 +451,9 @@
 %{_includedir}/PackageKit/packagekit-glib2/
 %{_datadir}/gir-1.0/PackageKitGlib-1.0.gir
 
-%files -n libpackagekit-qt2-2
-%defattr(-,root,root)
-%{_libdir}/libpackagekit-qt2.so.*
-
-%files -n libpackagekit-qt2-devel
+%files browser-plugin
 %defattr(-,root,root)
-%{_libdir}/libpackagekit-qt2.so
-%{_libdir}/cmake/packagekit-qt2/
-%{_libdir}/pkgconfig/packagekit-qt2.pc
-%dir %{_includedir}/PackageKit
-%{_includedir}/PackageKit/packagekit-qt2/
+%{_libdir}/browser-plugins/packagekit-plugin.so
 
 %files branding-upstream
 %defattr(-,root,root)

++++++ 0002-Build-against-npapi-sdk-instead-of-xulrunner.patch ++++++
--- /var/tmp/diff_new_pack.uwcJYp/_old  2013-01-20 08:23:24.000000000 +0100
+++ /var/tmp/diff_new_pack.uwcJYp/_new  2013-01-20 08:23:24.000000000 +0100
@@ -12,7 +12,7 @@
 index 3c52f68..026f635 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -349,7 +349,7 @@ AC_ARG_ENABLE(browser_plugin, 
AS_HELP_STRING([--enable-browser-plugin],[Build br
+@@ -333,7 +333,7 @@ AC_ARG_ENABLE(browser_plugin, 
AS_HELP_STRING([--enable-browser-plugin],[Build br
              enable_browser_plugin=$enableval,enable_browser_plugin=yes)
  if test x$enable_browser_plugin = xyes; then
        PKG_CHECK_MODULES(PK_BROWSER_PLUGIN,    \

++++++ 0003-zypp-fix-download-progress.patch ++++++
>From 49f2d8be470c6647ce23d410a9e6faf6ae8694c1 Mon Sep 17 00:00:00 2001
From: Stephan Kulow <[email protected]>
Date: Thu, 17 Jan 2013 16:43:56 +0100
Subject: [PATCH] zypp: fix download progress

... to use the same package_id as everything else. The package_ids for
download were guessed from url before and were plain bogus. The downside
is that we have no download speed anymore, but having useful progress
is better than having random numbers
---
 backends/zypp/zypp-events.h | 94 ++++++---------------------------------------
 1 file changed, 11 insertions(+), 83 deletions(-)

diff --git a/backends/zypp/zypp-events.h b/backends/zypp/zypp-events.h
index 3cdf666..4794783 100644
--- a/backends/zypp/zypp-events.h
+++ b/backends/zypp/zypp-events.h
@@ -75,84 +75,15 @@ public:
                }
        }
 
-       /**
-        * Build a package_id from the specified zypp::Url.  The returned
-        * gchar * should be freed with g_free ().  Returns NULL if the
-        * URL does not contain information about an RPM.
-        *
-        * Example:
-        *    basename: lynx-2.8.6-63.i586.rpm
-        *    result:   lynx;2.8.6-63;i586;opensuse
-        */
-       gchar *
-       build_package_id_from_url (const zypp::Url *url)
-       {
-               gchar *package_id;
-               gchar *basename;
-               gchar *tmp;
-
-               gchar *arch;
-               gchar *edition;
-               gchar *name;
-               gboolean first_dash_found;
-
-               basename = g_strdup (zypp::Pathname (url->getPathName 
()).basename ().c_str());
-
-               tmp = g_strrstr (basename, ".rpm");
-
-               if (tmp == NULL) {
-                       g_free (basename);
-                       return NULL;
-               }
-
-               // Parse the architecture
-               tmp [0] = '\0'; // null-terminate the arch section
-               for (tmp--; tmp != basename && tmp [0] != '.'; tmp--) {}
-               arch = tmp + 1;
-
-               // Parse the edition
-               tmp [0] = '\0'; // null-terminate the edition (version)
-               first_dash_found = FALSE;
-               for (tmp--; tmp != basename; tmp--) {
-                       if (tmp [0] == '-') {
-                               if (!first_dash_found) {
-                                       first_dash_found = TRUE;
-                                       continue;
-                               } else {
-                                       break;
-                               }
-                       }
-               }
-               edition = tmp + 1;
-
-               // Parse the name
-               tmp [0] = '\0'; // null-terminate the name
-               name = basename;
-
-               package_id = pk_package_id_build (name, edition, arch, 
"opensuse");
-               g_free (basename);
-
-               return package_id;
-       }
-
        inline void
        update_sub_percentage (guint percentage)
        {
-               // TODO: Figure out this weird bug that libzypp emits a 100
-               // at the beginning of installing a package.
-               if (_sub_percentage == 0 && percentage == 100)
-                       return; // can't jump from 0 -> 100 instantly!
-
                // Only emit a percentage if it's different from the last
                // percentage we emitted and it's divisible by ten.  We
                // don't want to overload dbus/GUI.  Also account for the
                // fact that libzypp may skip over a "divisible by ten"
                // value (i.e., 28, 29, 31, 32).
 
-               // Drop off the least significant digit
-               // TODO: Figure out a faster way to drop the least significant 
digit
-               percentage = (percentage / 10) * 10;
-
                if (percentage <= _sub_percentage)
                        return;
 
@@ -160,12 +91,6 @@ public:
                pk_backend_job_set_item_progress(_job, _package_id, 
PK_STATUS_ENUM_UNKNOWN, _sub_percentage);
        }
 
-       inline void
-       update_speed (guint speed)
-       {
-               pk_backend_job_set_speed (_job, speed);
-       }
-
        void
        reset_sub_percentage ()
        {
@@ -298,32 +223,35 @@ struct RepoReportReceiver : public 
zypp::callback::ReceiveReport<zypp::repo::Rep
        }
 };
 
-struct DownloadProgressReportReceiver : public 
zypp::callback::ReceiveReport<zypp::media::DownloadProgressReport>, 
ZyppBackendReceiver
+struct DownloadProgressReportReceiver : public 
zypp::callback::ReceiveReport<zypp::repo::DownloadResolvableReport>, 
ZyppBackendReceiver
 {
-       virtual void start (const zypp::Url &file, zypp::Pathname localfile)
+       virtual void start (zypp::Resolvable::constPtr resolvable, const 
zypp::Url &file)
        {
                clear_package_id ();
-               _package_id = build_package_id_from_url (&file);
+               _package_id = zypp_build_package_id_from_resolvable 
(resolvable->satSolvable ());
+               gchar* summary = 
g_strdup(zypp::asKind<zypp::ResObject>(resolvable)->summary().c_str ());
 
                fprintf (stderr, "DownloadProgressReportReceiver::start():%s 
--%s\n",
-                        g_strdup (file.asString().c_str()),    g_strdup 
(localfile.asString().c_str()) );
+                        g_strdup (file.asString().c_str()),    _package_id);
                if (_package_id != NULL) {
-                       pk_backend_job_set_status (_job, 
PK_STATUS_ENUM_DOWNLOAD);
+                       pk_backend_job_set_status (_job, 
PK_STATUS_ENUM_DOWNLOAD); 
+                       pk_backend_job_package (_job, PK_INFO_ENUM_DOWNLOADING, 
_package_id, summary);
                        reset_sub_percentage ();
                }
+               g_free(summary);
        }
 
-       virtual bool progress (int value, const zypp::Url &file, double 
dbps_avg, double dbps_current)
+       virtual bool progress (int value, zypp::Resolvable::constPtr resolvable)
        {
                //fprintf (stderr, "\n\n----> 
DownloadProgressReportReceiver::progress(), %s:%d\n\n", _package_id == NULL ? 
"unknown" : _package_id, value);
                if (_package_id != NULL) {
                        update_sub_percentage (value);
-                       update_speed (static_cast<guint>(dbps_current));
+                       //pk_backend_job_set_speed (_job, 
static_cast<guint>(dbps_current));
                }
                return true;
        }
 
-       virtual void finish (const zypp::Url & file, Error error, const 
std::string &konreason)
+       virtual void finish (zypp::Resolvable::constPtr resolvable, Error 
error, const std::string &konreason)
        {
                //fprintf (stderr, "\n\n----> 
DownloadProgressReportReceiver::finish(): %s\n", _package_id == NULL ? 
"unknown" : _package_id);
                clear_package_id ();
-- 
1.8.1

++++++ 0004-zypp-use-the-right-functions-to-get-solvables.patch ++++++
++++ 1187 lines (skipped)

++++++ 0005-zypp-fix-removing-packages.patch ++++++
>From 1011d1acf069305b5359b4b7f060aa0781acead8 Mon Sep 17 00:00:00 2001
From: Stephan Kulow <[email protected]>
Date: Sat, 19 Jan 2013 16:17:03 +0100
Subject: [PATCH] zypp: fix removing packages

- added a mutex around zypp trying to avoid crashes that look
  suspiciously like thread issues (e.g.
  https://bugzilla.novell.com/show_bug.cgi?id=745733#c18)
- add some more debug output to track issues others have
- some whitespace cleanup
- fix get_package_by_id to do not match repo alias for installed
  packages
---
 backends/zypp/pk-backend-zypp-private.h |  5 +-
 backends/zypp/pk-backend-zypp.cpp       | 93 +++++++++++++++++++--------------
 backends/zypp/zypp-events.h             |  4 ++
 backends/zypp/zypp-utils.cpp            | 45 +++++++++++-----
 src/pk-backend-job.c                    |  2 +-
 5 files changed, 93 insertions(+), 56 deletions(-)

diff --git a/backends/zypp/pk-backend-zypp-private.h 
b/backends/zypp/pk-backend-zypp-private.h
index 6d26eb3..5aa0d73 100644
--- a/backends/zypp/pk-backend-zypp-private.h
+++ b/backends/zypp/pk-backend-zypp-private.h
@@ -5,8 +5,7 @@
 #include <map>
 #include <string>
 #include <vector>
-
-// struct PkBackendJob;
+#include <pthread.h>
 
 #include "zypp-events.h"
 
@@ -15,6 +14,8 @@ typedef struct {
   std::vector<std::string> signatures;
   EventDirector eventDirector;
   PkBackendJob *currentJob;
+  
+  pthread_mutex_t zypp_mutex;
 
 } PkBackendZYppPrivate;
 
diff --git a/backends/zypp/pk-backend-zypp.cpp 
b/backends/zypp/pk-backend-zypp.cpp
index 05a3662..bce60f2 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -97,6 +97,16 @@ public:
 };
 
 /**
+ * We do not pretend we're thread safe when all we do is having a huge mutex
+ */
+gboolean
+pk_backend_supports_parallelization (PkBackend *backend)
+{
+        return FALSE;
+}
+
+
+/**
  * pk_backend_get_description:
  */
 const gchar *
@@ -127,6 +137,7 @@ pk_backend_initialize (PkBackend *backend)
        /* create private area */
        priv = new PkBackendZYppPrivate;
        priv->currentJob = 0;
+       priv->zypp_mutex = PTHREAD_MUTEX_INITIALIZER;
        zypp_logging ();
 
        g_debug ("zypp_backend_initialize");
@@ -277,12 +288,11 @@ pk_backend_get_groups (PkBackend *backend)
 PkBitfield
 pk_backend_get_filters (PkBackend *backend)
 {
-       return pk_bitfield_from_enums (
-               PK_FILTER_ENUM_INSTALLED,
-               PK_FILTER_ENUM_ARCH,
-               PK_FILTER_ENUM_NEWEST,
-               PK_FILTER_ENUM_SOURCE,
-               -1);
+       return pk_bitfield_from_enums (PK_FILTER_ENUM_INSTALLED,
+                                      PK_FILTER_ENUM_ARCH,
+                                      PK_FILTER_ENUM_NEWEST,
+                                      PK_FILTER_ENUM_SOURCE,
+                                      -1);
 }
 
 /*
@@ -298,9 +308,9 @@ backend_get_depends_thread (PkBackendJob *job, GVariant 
*params, gpointer user_d
        gchar **package_ids;
        gboolean recursive;
        g_variant_get (params, "(t^a&sb)",
-               &_filters,
-               &package_ids,
-               &recursive);
+                      &_filters,
+                      &package_ids,
+                      &recursive);
 
        pk_backend_job_set_status (job, PK_STATUS_ENUM_QUERY);
        pk_backend_job_set_percentage (job, 0);
@@ -313,7 +323,7 @@ backend_get_depends_thread (PkBackendJob *job, GVariant 
*params, gpointer user_d
                return;
        }
        
-       MIL << pk_filter_bitfield_to_string (_filters) << endl;
+       MIL << package_ids[0] << " " << pk_filter_bitfield_to_string (_filters) 
<< endl;
 
        try
        {
@@ -393,21 +403,21 @@ backend_get_depends_thread (PkBackendJob *job, GVariant 
*params, gpointer user_d
 
                // print dependencies
                for (map<string, sat::Solvable>::iterator it = caps.begin ();
-                               it != caps.end();
-                               ++it) {
-
+                    it != caps.end();
+                    ++it) {
+                       
                        // backup sanity check for no-solvables
                        if (! it->second.name ().c_str() ||
                            it->second.name ().c_str()[0] == '\0')
                                continue;
-
+                       
                        PoolItem item(it->second);
                        PkInfoEnum info = it->second.isSystem () ? 
PK_INFO_ENUM_INSTALLED : PK_INFO_ENUM_AVAILABLE;
 
                        g_debug ("add dep - '%s' '%s' %d [%s]", 
it->second.name().c_str(),
-                                  info == PK_INFO_ENUM_INSTALLED ? "installed" 
: "available",
-                                  it->second.isSystem(),
-                                  zypp_filter_solvable (_filters, it->second) 
? "don't add" : "add" );
+                                info == PK_INFO_ENUM_INSTALLED ? "installed" : 
"available",
+                                it->second.isSystem(),
+                                zypp_filter_solvable (_filters, it->second) ? 
"don't add" : "add" );
 
                        if (!zypp_filter_solvable (_filters, it->second)) {
                                zypp_backend_package (job, info, it->second,
@@ -445,7 +455,7 @@ backend_get_details_thread (PkBackendJob *job, GVariant 
*params, gpointer user_d
 
        gchar **package_ids;
        g_variant_get (params, "(^a&s)",
-               &package_ids);
+                      &package_ids);
 
        ZyppJob zjob(job);
        ZYpp::Ptr zypp = zjob.get_zypp();
@@ -458,13 +468,14 @@ backend_get_details_thread (PkBackendJob *job, GVariant 
*params, gpointer user_d
        pk_backend_job_set_status (job, PK_STATUS_ENUM_QUERY);
 
        for (uint i = 0; package_ids[i]; i++) {
+               MIL << package_ids[i] << endl;
 
                sat::Solvable solv = zypp_get_package_by_id( package_ids[i] );
 
                ResObject::constPtr obj = make<ResObject>( solv );
                if (obj == NULL) {
-                       zypp_backend_finished_error (
-                               job, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "couldn't 
find package");
+                       zypp_backend_finished_error (job, 
PK_ERROR_ENUM_PACKAGE_NOT_FOUND, 
+                                                    "couldn't find package");
                        return;
                }
 
@@ -531,8 +542,8 @@ backend_get_distro_upgrades_thread(PkBackendJob *job, 
GVariant *params, gpointer
 
        vector<parser::ProductFileData> result;
        if (!parser::ProductFileReader::scanDir (functor::getAll (back_inserter 
(result)), "/etc/products.d")) {
-               zypp_backend_finished_error (
-                       job, PK_ERROR_ENUM_INTERNAL_ERROR, "Could not parse 
/etc/products.d");
+               zypp_backend_finished_error (job, PK_ERROR_ENUM_INTERNAL_ERROR, 
+                                            "Could not parse /etc/products.d");
                return;
        }
 
@@ -569,12 +580,11 @@ pk_backend_get_distro_upgrades (PkBackend *backend, 
PkBackendJob *job)
 static void
 backend_refresh_cache_thread (PkBackendJob *job, GVariant *params, gpointer 
user_data)
 {
-       MIL << endl;
-
        gboolean force;
        g_variant_get (params, "(b)",
-               &force);
+                      &force);
 
+       MIL << force << endl;
        ZyppJob zjob(job);
        ZYpp::Ptr zypp = zjob.get_zypp();
 
@@ -593,7 +603,6 @@ backend_refresh_cache_thread (PkBackendJob *job, GVariant 
*params, gpointer user
 void
 pk_backend_refresh_cache (PkBackend *backend, PkBackendJob *job, gboolean 
force)
 {
-       MIL << endl;
        pk_backend_job_thread_create (job, backend_refresh_cache_thread, NULL, 
NULL);
 }
 
@@ -626,12 +635,11 @@ check_for_self_update (PkBackend *backend, set<PoolItem> 
*candidates)
 static void
 backend_get_updates_thread (PkBackendJob *job, GVariant *params, gpointer 
user_data)
 {
-       MIL << endl;
-
        PkBitfield _filters;
        g_variant_get (params, "(t)",
-               &_filters);
+                      &_filters);
 
+       MIL << pk_filter_bitfield_to_string(_filters) << endl;
        ZyppJob zjob(job);
        ZYpp::Ptr zypp = zjob.get_zypp();
 
@@ -717,8 +725,8 @@ backend_install_files_thread (PkBackendJob *job, GVariant 
*params, gpointer user
        PkBitfield transaction_flags;
        gchar **full_paths;
        g_variant_get (params, "(t^a&s)",
-               &transaction_flags,
-               &full_paths);
+                      &transaction_flags,
+                      &full_paths);
        
        if (zypp == NULL){
                pk_backend_job_finished (job);
@@ -1148,6 +1156,7 @@ backend_resolve_thread (PkBackendJob *job, GVariant 
*params, gpointer user_data)
        zypp_build_pool (zypp, TRUE);
 
        for (uint i = 0; search[i]; i++) {
+               MIL << search[i] << " " << 
pk_filter_bitfield_to_string(_filters) << endl;
                vector<sat::Solvable> v;
                
                /* build a list of packages with this name */
@@ -1175,6 +1184,8 @@ backend_resolve_thread (PkBackendJob *job, GVariant 
*params, gpointer user_data)
                /* Filter the list of packages with this name to 'pkgs' */
                for (vector<sat::Solvable>::iterator it = v.begin (); it != 
v.end (); ++it) {
 
+                       MIL << "found " << *it << endl;
+
                        if (zypp_filter_solvable (_filters, *it) ||
                            zypp_is_no_solvable(*it))
                                continue;
@@ -1184,6 +1195,7 @@ backend_resolve_thread (PkBackendJob *job, GVariant 
*params, gpointer user_data)
                        } else if (it->edition() > newest.edition() || 
Arch::compare(it->arch(), newest.arch()) > 0) {
                                newest = *it;
                        }
+                       MIL << "emit " << *it << endl;
                        pkgs.push_back (*it);
                }
                
@@ -1192,12 +1204,13 @@ backend_resolve_thread (PkBackendJob *job, GVariant 
*params, gpointer user_data)
                        /* 'newest' filter support */
                        if (pk_bitfield_contain (_filters, 
PK_FILTER_ENUM_NEWEST)) {
                                pkgs.clear();
+                               MIL << "emit just newest " << newest << endl;
                                pkgs.push_back (newest);
                        } else if (pk_bitfield_contain (_filters, 
PK_FILTER_ENUM_NOT_NEWEST)) {
                                pkgs.erase (find (pkgs.begin (), pkgs.end(), 
newest));
                        }
                }
-
+               
                zypp_emit_filtered_packages_in_list (job, _filters, pkgs);
        }
 
@@ -1637,9 +1650,9 @@ backend_repo_set_data_thread (PkBackendJob *job, GVariant 
*params, gpointer user
        const gchar *value;
 
        g_variant_get(params, "(&s&s&s)",
-               &repo_id,
-               &parameter,
-               &value);
+                     &repo_id,
+                     &parameter,
+                     &value);
 
        ZyppJob zjob(job);
        ZYpp::Ptr zypp = zjob.get_zypp();
@@ -1770,10 +1783,10 @@ backend_what_provides_thread (PkBackendJob *job, 
GVariant *params, gpointer user
        PkBitfield _filters;
        PkProvidesEnum provides;
        g_variant_get(params, "(tu^a&s)",
-               &_filters,
-               &provides,
-               &values);
-
+                     &_filters,
+                     &provides,
+                     &values);
+       
        ZyppJob zjob(job);
        ZYpp::Ptr zypp = zjob.get_zypp();
 
@@ -1783,7 +1796,7 @@ backend_what_provides_thread (PkBackendJob *job, GVariant 
*params, gpointer user
        }
        pk_backend_job_set_status (job, PK_STATUS_ENUM_QUERY);
 
-       const gchar *search = values[0]; //Fixme - support possible multiple 
search values (logical OR)
+       const gchar *search = values[0]; //Fixme - support possible multi1ple 
search values (logical OR)
        ResPool pool = zypp_build_pool (zypp, true);
 
        if((provides == PK_PROVIDES_ENUM_HARDWARE_DRIVER) || 
g_ascii_strcasecmp("drivers_for_attached_hardware", search) == 0) {
diff --git a/backends/zypp/zypp-events.h b/backends/zypp/zypp-events.h
index b18bf94..69777ec 100644
--- a/backends/zypp/zypp-events.h
+++ b/backends/zypp/zypp-events.h
@@ -93,6 +93,10 @@ public:
                        return;
                }
                
+               if (percentage > 100) {
+                       MIL << "libzypp is silly" << std::endl;
+               }
+
                _sub_percentage = percentage;
                pk_backend_job_set_item_progress(_job, _package_id, 
PK_STATUS_ENUM_UNKNOWN, _sub_percentage);
        }
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index d898f8c..002c99b 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -71,20 +71,28 @@ using zypp::filesystem::PathInfo;
 
 extern PkBackendZYppPrivate *priv;
 
-ZyppJob::ZyppJob(PkBackendJob *job) 
+ZyppJob::ZyppJob(PkBackendJob *job)
 {
+       MIL << "locking zypp" << std::endl;
+       pthread_mutex_lock(&priv->zypp_mutex);
+
        if (priv->currentJob) {
-               g_error("currentjob is already defined");
+               MIL << "currentjob is already defined - highly impossible" << 
endl;
        }
-
+       
+       pk_backend_job_set_locked(job, true);
        priv->currentJob = job;
        priv->eventDirector.setJob(job);
 }
 
 ZyppJob::~ZyppJob()
 {
+       if (priv->currentJob)
+               pk_backend_job_set_locked(priv->currentJob, false);
        priv->currentJob = 0;
        priv->eventDirector.setJob(0);
+       MIL << "unlocking zypp" << std::endl;
+       pthread_mutex_unlock(&priv->zypp_mutex);
 }
 
 /**
@@ -428,24 +436,35 @@ zypp_get_package_by_id (const gchar *package_id)
                sat::Solvable pkg = it->satSolvable();
                MIL << "match " << package_id << " " << pkg << endl;
 
-               if (want_source && !isKind<SrcPackage>(pkg))
+               if (want_source && !isKind<SrcPackage>(pkg)) {
+                       MIL << "not a src package\n";
                        continue;
+               }
 
-               if (!want_source && (isKind<SrcPackage>(pkg) || g_strcmp0 
(pkg.arch().c_str(), arch)))
+               if (!want_source && (isKind<SrcPackage>(pkg) || g_strcmp0 
(pkg.arch().c_str(), arch))) {
+                       MIL << "not a matching arch\n";
                        continue;
+               }
 
                const string &ver = pkg.edition ().asString();
-               if (g_strcmp0 (ver.c_str (), id_parts[PK_PACKAGE_ID_VERSION]))
-                       continue;
-               
-               if (!strncmp(id_parts[PK_PACKAGE_ID_DATA], "installed", 9) && 
!pkg.isSystem())
-                       continue;
-
-               if (pkg.isSystem() && strncmp(id_parts[PK_PACKAGE_ID_DATA], 
"installed", 9))
+               if (g_strcmp0 (ver.c_str (), id_parts[PK_PACKAGE_ID_VERSION])) {
+                       MIL << "not a matching version\n";
                        continue;
+               }
 
-               if (g_strcmp0(pkg.repository().alias().c_str(), 
id_parts[PK_PACKAGE_ID_DATA]))
+               if (!pkg.isSystem()) {
+                       if (!strncmp(id_parts[PK_PACKAGE_ID_DATA], "installed", 
9)) {
+                               MIL << "pkg is not installed\n";
+                               continue;
+                       }
+                       if (g_strcmp0(pkg.repository().alias().c_str(), 
id_parts[PK_PACKAGE_ID_DATA])) {
+                               MIL << "repo does not match\n";
+                               continue;
+                       }
+               } else if (strncmp(id_parts[PK_PACKAGE_ID_DATA], "installed", 
9)) {
+                       MIL << "pkg installed\n";
                        continue;
+               }
 
                MIL << "found " << pkg << endl;
                package = pkg;
diff --git a/src/pk-backend-job.c b/src/pk-backend-job.c
index 45e992a..d1d7035 100644
--- a/src/pk-backend-job.c
+++ b/src/pk-backend-job.c
@@ -987,7 +987,7 @@ pk_backend_job_set_item_progress (PkBackendJob *job,
 
        /* invalid number? */
        if (percentage > 100 && percentage != PK_BACKEND_PERCENTAGE_INVALID) {
-               g_debug ("invalid number %i", percentage);
+               g_error ("invalid number %i", percentage);
                return;
        }
 
-- 
1.8.1

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.uwcJYp/_old  2013-01-20 08:23:24.000000000 +0100
+++ /var/tmp/diff_new_pack.uwcJYp/_new  2013-01-20 08:23:24.000000000 +0100
@@ -1,12 +1,4 @@
-libpackagekit-glib2-14
+libpackagekit-glib2-16
 libpackagekit-glib2-devel
        requires -libpackagekit-glib2-<targettype>
-       requires "libpackagekit-glib2-14-<targettype> = <version>"
-libpackagekit-qt14
-libpackagekit-qt-devel
-       requires -libpackagekit-qt-<targettype>
-       requires "libpackagekit-qt14-<targettype> = <version>"
-libpackagekit-qt2-2
-libpackagekit-qt2-devel
-       requires -libpackagekit-qt2-<targettype>
-       requires "libpackagekit-qt2-2-<targettype> = <version>"
+       requires "libpackagekit-glib2-16-<targettype> = <version>"

++++++ fix-policies-opensuse.patch ++++++
--- policy/org.freedesktop.packagekit.policy.in 2012-10-01 09:51:24.000000000 
+0200
+++ policy/org.freedesktop.packagekit.policy.in 2013-01-17 10:56:48.268361307 
+0100
@@ -262,7 +262,7 @@
     <defaults>
       <allow_any>no</allow_any>
       <allow_inactive>no</allow_inactive>
-      <allow_active>yes</allow_active>
+      <allow_active>auth_admin</allow_active>
     </defaults>
     <annotate 
key="org.freedesktop.policykit.exec.path">/usr/libexec/pk-trigger-offline-update</annotate>
   </action>
@@ -278,7 +278,7 @@
     <defaults>
       <allow_any>no</allow_any>
       <allow_inactive>no</allow_inactive>
-      <allow_active>yes</allow_active>
+      <allow_active>auth_admin</allow_active>
     </defaults>
     <annotate 
key="org.freedesktop.policykit.exec.path">/usr/libexec/pk-clear-offline-update</annotate>
   </action>
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to