On Mon, Jul 27, 2020 at 8:09 PM Todd Zullinger tmz@pobox.com wrote:
The subsection "NEVRA Matching" lists the forms dnf accepts. For kernel*-5.7.*, we're matching the name-[epoch:]version form (the '[epoch:]' portion means it's optional to provide the Epoch portion (that's the E in NEVRA¹).
So kernel* is the Name part and 5.7.* is the Version part in the specification. As both have globs in them, we look at the Globs section which says:
* Matches any number of characters.That's what allows the package-spec to match all the kernel subpackages. (In theory, you could list them all out using the '{}' notation -- but I think that's either buggy or incorrect documentation. It likely relies on the shell's brace expansion rather than dnf's.)
Ok I have a couple of questions:
1 )
I tried: $ dnf repoquery --installed kernel*-5.6.* kernel-0:5.6.10-300.fc32.x86_64 kernel-0:5.6.8-200.fc31.x86_64 kernel-core-0:5.6.10-300.fc32.x86_64 kernel-core-0:5.6.8-200.fc31.x86_64 kernel-devel-0:5.6.10-300.fc32.x86_64 kernel-devel-0:5.6.8-200.fc31.x86_64 kernel-headers-0:5.6.10-300.fc32.x86_64 kernel-modules-0:5.6.10-300.fc32.x86_64 kernel-modules-0:5.6.8-200.fc31.x86_64 kernel-modules-extra-0:5.6.10-300.fc32.x86_64 kernel-modules-extra-0:5.6.8-200.fc31.x86_64
Where is the extra 0 in " kernel-0 " coming from ? If you see the rpm -qa output the zero is not present there:
$ rpm -qa | grep ^kernel | grep '5.6'
kernel-devel-5.6.10-300.fc32.x86_64 kernel-5.6.10-300.fc32.x86_64 kernel-headers-5.6.10-300.fc32.x86_64 kernel-core-5.6.10-300.fc32.x86_64 kernel-core-5.6.8-200.fc31.x86_64 kernel-modules-5.6.8-200.fc31.x86_64 kernel-5.6.8-200.fc31.x86_64
2)
How do I know which is the epoch and the version and the release in NEVRA ? And are there any standard separators between them ?
kernel-5.6.10-300.fc32.x86_64
Which is what here ? I know the name is 'kernel' that one was easy. :-)
Thanks for your help. I want to use DNF wherever I can since it is the more standard way to do package queries.