Bug 1600848

Summary: Build a new release with modularity support
Product: [Fedora] Fedora Reporter: Daniel Mach <dmach>
Component: PackageKitAssignee: Richard Hughes <rhughes>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: awilliam, dmach, imcleod, jonathan, klember, lruzicka, rdieter, rhughes, robatino, sgallagh, smparrish, tbowling
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedBlocker
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-08-13 18:29:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1517011, 1599413    

Description Daniel Mach 2018-07-13 07:47:02 UTC
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

Comment 1 Lukas Ruzicka 2018-07-16 17:07:35 UTC
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/

Comment 2 Stephen Gallagher 2018-07-24 13:45:09 UTC
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.

Comment 3 Stephen Gallagher 2018-07-31 13:56:07 UTC
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.

Comment 4 Adam Williamson 2018-08-13 18:29:41 UTC
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.