1

I've recently upgraded from Fedora 21 right up to Fedora 23. Most things went down without much drama (including nVidia drivers), except for the packages involving dnf.

After upgrading, performing a dnf upgrade gives me this:

Skipping packages with broken dependencies:
 sqlite                      x86_64                      3.11.0-1.fc23                       updates                      484 k

An rpm -qa | grep sqlite informs me of another version of sqlite currently being installed:

sqlite-3.10.2-1.fc23.x86_64

Now, I thought I could quickly resolve that with using dnf upgrade --best --allowerasing. Unfortunately, this doesn't work this time, because a prior version is installed already:

Error: cannot install both sqlite-3.11.0-1.fc23.x86_64 and sqlite-3.10.2-1.fc23.x86_64

I thought I might simply uninstall the sqlite package, remove dependent packages, install the newer version of sqlite, and then install the dependent packages. This obviously takes a bit of time, but it's what I was already used to do. Kindof a manual dependency resolution if you like.

However, dnf remove sqlite gives me this:

Error: The operation would result in removing the following protected packages: systemd, dnf.

So, how do I go from this point on? I obviously can't uninstall dnf, or systemd as such. Is there a way I can force the upgrade of a package that is a dependency of other packages, which are blocked?

1

The specific issue with sqlite is a transient problem with a bad update that made it to the repositories. (Negative QA feedback came in too late after several testers had already given it the go-ahead.) There is a newer update in testing which should fix the issue.

That should address your immediate problem; I'm not sure if you need a more general answer or not — unfortunately, I think the general answer is often "well, you can't, really... when the update repository is in an incoherent state, there's not much to be done." If you really want to dig into it (if, for example, a serious security issue were at stake), you could bypass DNF and just use rpm directly (at least until the problem is in a dependency of RPM itself).

  • I was considering uninstalling the 3.10 version and shoving the 3.11 version "under the feet" of the dependent packages, but I'm a little afraid I might break things, especially since the repo db would be changed without being notified of these changes. Also, I'm not quite sure if dnf and systemd will work with the never version of sqlite. – polemon Feb 26 '16 at 17:55
  • So, I take it, the only reasonable thing to do now, is to just wait and see? – polemon Feb 28 '16 at 10:22
  • @polemon Well, I see that the newer update I linked is currently at +2, and has a threshold of +3 for being pushed to stable. You could dnf --enablerepo=updates-testing upgrade sqlite, and then ensure that everything still works, and then provide the missing additional +1. Or, yeah, you could wait for someone else to do that. (Or, if no one does, the package maintainer will be able to push it anyway after two weeks.) – mattdm Feb 28 '16 at 13:38
  • More on updates-testing and QA feedback at fedoraproject.org/wiki/QA:Updates_Testing – mattdm Feb 28 '16 at 13:38
  • I ended up simply waiting for the packages to be fixed. – polemon Aug 28 '16 at 9:40

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.