Hide Forgot
Description of problem: I am not really sure it is bug in dnf or it works with yum-deprecated just by a change. Here is my use-case: I would like to use use stable kernel on fedora to avoid some issues in CI machines. I created new repo file fedora-25-kernel.repo. It is a standard fedora repo for updates. e.g. cp /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-25-kernel.repo # remove debuginfo and source repos (step is not required sed -e '/debuginfo/,$d' -i /etc/yum.repos.d/fedora-25-kernel.repo # append following lines to the repo echo 'excludepkgs=*' >> /etc/yum.repos.d/fedora-25-kernel.repo echo 'includepkgs=kernel*' >> /etc/yum.repos.d/fedora-25-kernel.repo As you can see 'includepkgs=kernel*' after excludepkgs in repofile and then exclude kernel packages in rawhide repo. e.g. # append "exclude=kernel*" into rawhide section in /etc/yum.repos.d/fedora-rawhide.repo Version-Release number of selected component (if applicable): sh$ rpm -q dnf hawkey dnf-2.0.0-0.rc2.2.fc26.noarch hawkey-0.6.3-6.fc26.x86_64 How reproducible: Deterministic Steps to Reproduce: 1. # prepare repofiles as described in above sh# dnf repolist Last metadata expiration check: 0:10:28 ago on Mon Dec 05 15:00:00 2016 CET. repo id repo name status *kernel-f25 kernel-f25 0 *rawhide rawhide 52,360 2. # ensure that you have installed lower version of kernel as in fedora 25 updates e.g. sh$ rpm -q kernel kernel-4.8.6-300.fc25.x86_64 kernel-4.8.7-300.fc25.x86_64 kernel-4.8.8-300.fc25.x86_64 3. try to update kernel dnf update "kernel*" Actual results: Last metadata expiration check: 0:05:25 ago on Mon Dec 05 15:13:36 2016 CET. Dependencies resolved. Nothing to do. Complete! Expected results: #kernel package should be updated Additional info: Works well with yum-deprecated sh# yum-deprecated repolist Yum command has been deprecated, use dnf instead. See 'man dnf' and 'man yum2dnf' for more information. Loaded plugins: auto-update-debuginfo repo id repo name status kernel-f25/x86_64 Fedora 25 - x86_64 - Updates 3,838 rawhide/x86_64 Fedora - Rawhide - Developmental packages fo 52,361+14 *rawhide-debuginfo/x86_64 Fedora - Rawhide - Debug 10,862 repolist: 67,061 sh# yum-deprecated update "kernel*" Yum command has been deprecated, use dnf instead. See 'man dnf' and 'man yum2dnf' for more information. Loaded plugins: auto-update-debuginfo Resolving Dependencies --> Running transaction check ---> Package kernel.x86_64 0:4.8.10-300.fc25 will be installed ---> Package kernel-core.x86_64 0:4.8.10-300.fc25 will be installed ---> Package kernel-devel.x86_64 0:4.8.10-300.fc25 will be installed ---> Package kernel-headers.x86_64 0:4.8.6-300.fc25 will be obsoleted ---> Package kernel-headers.x86_64 0:4.8.6-300.fc25 will be updated ---> Package kernel-headers.x86_64 0:4.8.10-300.fc25 will be obsoleting ---> Package kernel-modules.x86_64 0:4.8.10-300.fc25 will be installed ---> Package kernel-tools.x86_64 0:4.8.6-300.fc25 will be updated ---> Package kernel-tools.x86_64 0:4.8.10-300.fc25 will be an update ---> Package kernel-tools-libs.x86_64 0:4.8.6-300.fc25 will be updated ---> Package kernel-tools-libs.x86_64 0:4.8.10-300.fc25 will be an update --> Finished Dependency Resolution --> Running transaction check ---> Package kernel.x86_64 0:4.8.6-300.fc25 will be erased ---> Package kernel-core.x86_64 0:4.8.6-300.fc25 will be erased ---> Package kernel-devel.x86_64 0:4.8.6-300.fc25 will be erased ---> Package kernel-modules.x86_64 0:4.8.6-300.fc25 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: kernel x86_64 4.8.10-300.fc25 kernel-f25 91 k kernel-core x86_64 4.8.10-300.fc25 kernel-f25 20 M kernel-devel x86_64 4.8.10-300.fc25 kernel-f25 11 M kernel-headers x86_64 4.8.10-300.fc25 kernel-f25 1.1 M replacing kernel-headers.x86_64 4.8.6-300.fc25 kernel-modules x86_64 4.8.10-300.fc25 kernel-f25 22 M Updating: kernel-tools x86_64 4.8.10-300.fc25 kernel-f25 195 k kernel-tools-libs x86_64 4.8.10-300.fc25 kernel-f25 99 k Removing: kernel x86_64 4.8.6-300.fc25 installed 0.0 kernel-core x86_64 4.8.6-300.fc25 installed 52 M kernel-devel x86_64 4.8.6-300.fc25 installed 40 M kernel-modules x86_64 4.8.6-300.fc25 installed 22 M Transaction Summary ================================================================================ Install 5 Packages Upgrade 2 Packages Remove 4 Packages Total download size: 54 M
Created attachment 1228075 [details] debug data from "dnf update --debugsolver "kernel*"" I am not sure whether the bug is hawkey/libsolv because it looks like dnf thinks that the repository fedora-f25 does not have any package; which you can see in output of "dnf repolist". grep "kernel-4" debugdata/testcase.t disable pkg kernel-4.8.10-300.fc25.x86_64@kernel-f25 disable pkg kernel-4.9.0-0.rc7.git3.1.fc26.x86_64@rawhide
http://dnf.readthedocs.io/en/latest/conf_ref.html includepkgs list Include packages of this repository, specified by a name or a glob and separated by a comma, in all operations. Inverse of excludepkgs, DNF will exclude any package in the repository that doesn’t match this list. This works in conjunction with exclude and doesn’t override it, so if you ‘excludepkgs=*.i386’ and ‘includepkgs=python*’ then only packages starting with python that do not have an i386 arch will be seen by DNF in this repo. Can be disabled using --disableexcludes command line switch. So excludepkgs=* includepkgs=kernel* basically excludes everything. If you want to see only kernel packages use only includepkgs=kernel*
(In reply to Michael Mráka from comment #2) > http://dnf.readthedocs.io/en/latest/conf_ref.html > > includepkgs list > > Include packages of this repository, specified by a name or a glob and > separated by a comma, in all operations. Inverse of excludepkgs, DNF will > exclude any package in the repository that doesn’t match this list. This > works in conjunction with exclude and doesn’t override it, so if you > ‘excludepkgs=*.i386’ and ‘includepkgs=python*’ then only packages starting > with python that do not have an i386 arch will be seen by DNF in this repo. > Can be disabled using --disableexcludes command line switch. > > So > excludepkgs=* > includepkgs=kernel* > basically excludes everything. If you want to see only kernel packages use > only > includepkgs=kernel* I should have read documentation more carefully. It confused me because it worked with yum-deprecated. But it looks like a bug there. But it does not worth to fix it. I can confirm that it works. Thank you very much for your time.