Bug 1600848 - Build a new release with modularity support
Summary: Build a new release with modularity support
Alias: None
Product: Fedora
Classification: Fedora
Component: PackageKit
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Richard Hughes
QA Contact: Fedora Extras Quality Assurance
Whiteboard: AcceptedBlocker
Depends On:
Blocks: 1599413 F29BetaBlocker
TreeView+ depends on / blocked
Reported: 2018-07-13 07:47 UTC by Daniel Mach
Modified: 2018-08-13 18:29 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-08-13 18:29:41 UTC

Attachments (Terms of Use)

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:

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.

Note You need to log in before you can comment on or make changes to this bug.