Existing PackageKit version doesn't handle modular repos correctly. To filter package set according to enabled/default module streams a new libdnf is required. The libdnf change is not sufficient, because PackageKit creates additional sack instances for caching purposes and dnf_sack_filter_modules() needs to be applied on those instances. To make modularity work correctly, we need a new PackageKit release with following commit: https://github.com/hughsie/PackageKit/commit/b4fe0ab853e8d8b9bc410a3d070e2d05229e543d
Discussed at the 2018-07-16 blocker review meeting [1]: AcceptedBlocker (Beta) - as https://fedoraproject.org/wiki/Changes/ModulesForEveryone is accepted for F29 and means modules will be enabled for all installs, this is accepted as a Beta blocker as a violation of Beta criterion "The installed system must be able to download and install appropriate updates with the default tool for the relevant update type in all release-blocking desktops" [1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2018-07-16/
Daniel, the patch listed is insufficient. I just made a scratch-build with it (and also https://github.com/hughsie/PackageKit/commit/a7533e2c9eb0554bd32723f70d64a68acb67d7b4) at https://koji.fedoraproject.org/koji/taskinfo?taskID=28563078 for testing this out and it's still not filtering properly. Steps I followed: 0) Install a Rawhide x86_64 VM 1) Install fedora-repos-rawhide-modular 2) `dnf module install cri-o:2017.0` 3) `pkcon update` Expected results: No updates related to cri-o should be available (since it was freshly installed from the latest versions in the module) Actual results: The following packages have to be installed: containers-common-0.1.31-9.gitae64ff7.fc29.x86_64 Configuration files for working with image signatures The following packages have to be updated: conmon-2:1.12.0-8.dev.git57c4053.fc29.x86_64 OCI container runtime monitor container-selinux-2:2.68-2.gitc139a3d.fc29.noarch SELinux policies for container runtimes cri-o-2:1.12.0-8.dev.git57c4053.fc29.x86_64 Kubernetes Container Runtime Interface for OCI-based containers runc-2:1.0.0-43.dev.git21ac086.fc29.x86_64 CLI for running Open Containers The following packages have to be obsoleted: skopeo-containers-0.1.29-5.git7add6fc.module_1637+1872e86a.x86_64 Configuration files for working with image signatures Proceed with changes? [N/y] So these patches are not sufficient to filter out the RPMs from the standard repo.
So, it turned out my testing methodology was flawed. I needed to explicitly restart the PackageKit service after updating the package. The patch then worked correctly. I've built the package in Rawhide yesterday, so it should be making its way to mirrors today or tomorrow.
Following the basic test procedure in #c2 seems to work in current rawhide (i.e. pkcon update doesn't update cri-o etc. to the newer version from the regular Rawhide repo), so closing.