Created attachment 1862695 [details] dnf list output Description of problem: I was looking at both `dnf list --updates`, and `dnf updateinfo --list`, and I realised that the number of updates in the two differ. For example: sudo dnf list --updates -q | grep -vc "Available Upgrades" 95 sudo dnf updateinfo --list -q | wc -l 86 On further inspection, it looks like updates from non-Fedora repositories, like RPM Fusion are not listed in `dnf updateinfo`. Please see the attached files. In the `dnf updateinfo` output, packages such as `mock-rpmfusion-free` and `mock-rpmfusion-nonfree` are not included. Version-Release number of selected component (if applicable): $ dnf --version 4.9.0 Installed: dnf-0:4.9.0-1.fc35.noarch at Sat 25 Sep 2021 15:48:55 GMT Built : Fedora Project at Thu 23 Sep 2021 12:18:24 GMT Installed: rpm-0:4.17.0-4.fc35.x86_64 at Sat 05 Feb 2022 11:20:56 GMT Built : Fedora Project at Wed 02 Feb 2022 12:39:01 GMT How reproducible: Always Steps to Reproduce: 1. run listed commands, and compare output 2. 3. Actual results: Updates from non-Fedora repositories seem to be omitted from `dnf updateinfo` output Expected results: Updates from all repositories should be listed. Additional info: I did check the man page, and saw no mention of non-Fedora repository updates being skipped. I think if they can be included, even as "Other" because no information on the type of update is available, that will be good. Users expect to see identical outputs between something like `dnf list --updates` and `dnf updateinfo --list`.
Created attachment 1862696 [details] dnf updateinfo output
DNF makes no distinction between Fedora and other repositories. The problem with some repositories is, that they do not contain updateinfo.xml metadata. These metadata are generated by bodhi when the updated package is pushed into repository. These metadata are then read, processed and displayed by the `dnf updateinfo` command. Check whether repositories in question contain metadata of 'updateinfo' type - look into its repomd.xml file. For example for fedora 35 updates repository it is here: https://mirror.karneval.cz/pub/linux/fedora/linux/updates/35/Everything/x86_64/repodata/repomd.xml If you open this file, you can find a record for updateinfo there: <data type="updateinfo"> <checksum type="sha256">d4f751e52ade335e2dd3211419f43486fa5177f0e80983656f7c36f91fbedb72</checksum> <open-checksum type="sha256">3a158833ae4d12eb56ad767d211bf4aa656c05017ed96ca2fb5dc2c784ade407</open-checksum> <location href="repodata/d4f751e52ade335e2dd3211419f43486fa5177f0e80983656f7c36f91fbedb72-updateinfo.xml.xz"/> <timestamp>1645933206</timestamp> <size>1714716</size> <open-size>36308317</open-size> </data> If you look into rpmfusion update repository (http://download1.rpmfusion.org/free/fedora/updates/35/x86_64/repodata/repomd.xml), there is no such record. Therefore updates for rpm fusion cannot be displayed by the `updateinfo` command. If you need `updateinfo` do display information for particular repo, you need to persuade it's maintainers to include updateinfo metadata.
Thanks for that. Would there be some documentation on how the extra updateinfo record is to be generated? (I don't see it mentioned in createrepo, for example). Most third party repositories do not use an instance of Bodhi (and of course, can't use ours). So they'll need to find another way of adding this information to the repodata. It'll just be good to go to RPM Fusion with some information on what it is they need to do to add this metadata.
Unfortunately I do not know much about the process. There are some pieces of information in createrepo_c examples (https://github.com/rpm-software-management/createrepo_c/tree/master/examples/python), and something could be read from bodhi sources (https://github.com/fedora-infra/bodhi/blob/develop/bodhi-server/bodhi/server/metadata.py). But these are only hints how to generate the final updateinfo.xml and inject it into repository metadata. Of course they will need some database of errata with data which updateinfo should contain.
Thank you. I've let the RPM Fusion admins know, and they'll see what they can do.