nemomobile-packages/PackageKit — pull request #5 by thp (2013-08-13 14:07:09+00:00)
Title: Do not consider satisfied patterns "installed"

Patterns can not be "installed" as such - they can only be satisfied
if all their dependencies are installed / satisfied.

Installing a pattern means trying to satisfy its dependencies.

Change the logic by which packages are filtered, so that patterns are
never considered "installed", even if their dependencies are satisfied.
This way, re-installing a pattern becomes possible, and will make sure
all current dependencies are satisfied.

The drawback of this is that now we can't use PackageKit to check if
a pattern is satisfied or not. Fixing this would require modifying the
code in zypp_emit_filtered_packages_in_list(). The comment there says
that emitting the same version of a package as INSTALLED and AVAILABLE
is not possible due to a PackageKit quirk.

For normal packages, this won't be a problem, as the installed package
will have some old version and a possible available update for that
package will have a different version. For patterns, however, even
though they are versioned, the pattern version at which the pattern was
installed isn't recorded(?), so we cannot emit the old pattern version
as INSTALLED and also emit the new pattern version as AVAILABLE.

Add some logging of filters in backend_get_packages_thread() to aid in
debugging similar filter-related issues in the future.

[backends] zypp: Do not consider satisfied patterns "installed"