In Fedora when I was playing around with dnf, trying to learn new things (and Linux in general), I noticed the command "dnf repoclosure". Naturally I ran it to see the output. My initial thought was that nothing would show since "dnf update" was returning "dependencies resolved". To my surprise it spat out many package-names and their "unresolved" dependencies. Why is this? Why does "dnf update" show no dependency issues whilst "dnf repoclosure" shows so many?

How exactly are dependencies tracked? I thought that each package independently informed the system which dependencies it needed and that when installed was added to a registry of sorts.

TL;DR Questions:

  1. "dnf repoclosure" shows many unresolved dependencies whilst "dnf update" shows none. Why is that? Is there a way to resolve them? Am I missing libraries/packages or what does this mean?
  2. How are dependencies tracked? If there is a register of all dependencies, then why can't the OS just fetch the ones missing?

EDIT: Would like to point out that this is a quite fresh install of Fedora 28, so there shouldn't really be any dependency issues.


dnf repoclosure by default analyzes the entire package repository, not just packages you have installed on your own system.

I glanced through its output. It looks like most of the affected packages were simply carried forward from F27 or previous versions without having been rebuilt, or the libraries they depend on were upgraded after mass rebuild day (which shouldn't really happen, but does on occasion). Most of these could be fixed simply by bumping the release and resubmitting the package to the build system. A few of these are orphan packages without a maintainer, which will be removed from Fedora if a maintainer is not found.

The tool is very useful for Fedora maintainers to find packages which aren't being maintained properly so that they can find new maintainers or bug the existing maintainers. Third party repo maintainers can also use it to ensure the packages in their repos are free of dependency problems.

But it's not very useful for an ordinary Linux user who isn't participating in maintaining distribution packages.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.