Description of problem: When attempting to upgrade F35 to the branched F36, dnf complains about plocate and mlocate saying that plocate-1.1.13-5 conflicts with mlocate-0.26-32 and mlocate-0.26-31 does not belong to a distupgrade repository Version-Release number of selected component (if applicable): see above How reproducible: Always Steps to Reproduce: 1. Use `dnf system-upgrade download --releasever=36` to upgrade the system Actual results: System cannot be upgraded without `--allowerasing` Expected results: System can be upgraded normally.
Proposed as a Blocker for 36-beta by Fedora user bcotton using the blocker tracking app because: For each one of the release-blocking package sets, it must be possible to successfully complete a direct upgrade from a fully updated, clean default installation of each of the last two stable Fedora releases with that package set installed. https://fedoraproject.org/wiki/Fedora_36_Beta_Release_Criteria#Upgrade_requirements
What kind of F35 install did you start with? Best as I can tell, this might be caused by dnf trying to pull in plocate because it's been added to the 'standard' group in comps. Neither of the spec files seems to have changed. This *may* play out differently if mlocate adds an explicit conflict with plocate; it does not appear to have one ATM.
This is a basically untouched F35 VM that I used for testing just before F35 Final. I applied all available updates and rebooted before trying the system-upgrade. FWIW, I also got the same conflict error on my daily-driver F35 KDE laptop (which has been upgraded in place since I first installed F28 on it)
https://fedoraproject.org/wiki/Changes/Plocate_as_the_default_locate_implementation I'm betting it needs to be fixed in plocate, plocate needs to obsolete mlocate.
The plocate spec file explicitly says that is not the plan: # The plan is to provide both mlocate and plocate for one or two # Fedora releases, and then retire mlocate when the bugs in plocate # have been ironed out. Thus, we only allow one or the other to be # installed.
Please attach the full output from dnf (i.e. the upgraded/newly added package list). Do you have catfish installed, or is it being added in the transaction?
As Adam wrote, the plan is to allow keep mlocate in the distribution for Fedora 36 and keep upgraded installations on mlocate if they had it. There doesn't seem to be anything that'd prevent upgrade with mlocate in place. I tested upgrade on a few installations, and it seemed to work.
I think the key thing would be to test an install with a package set that includes the 'standard' comps group. Notably, Workstation and minimal installs do not. Server, KDE and most other desktop environments do include it, though.
Updating description as it's worded the wrong way around (mlocate is the old thing, plocate is the new thing), and we don't necessarily want to upgrade (per #c7).
Hmm. So… would adding Provides:mlocate in plocate fix the issue? If you want to install mlocate, will you still get it from 'dnf install mlocate'?
Or would it be a better option to add Provides:locate to both mlocate and plocate and change comps to use locate?
The problem with that is we don't know which would get preferred in that case. As I said, I'd actually be interested what happens if mlocate adds an explicit conflict with plocate. That might be enough for dnf to get the hint not to pull in plocate if mlocate is installed already. I'm not sure, though.
FEDORA-2022-70815773ef has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-70815773ef
FEDORA-2022-66eecfff7e has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-66eecfff7e
FEDORA-2022-70815773ef has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-66eecfff7e has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.
I implemented Adam's idea. Let's is that helps. I also added Provides:locate on both sides so we can test the other approach later if this one doesn't help.
FEDORA-2022-613ba38405 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-613ba38405
FEDORA-2022-1ff9b87d85 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-1ff9b87d85
FEDORA-2022-613ba38405 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-1ff9b87d85 has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.
Marking as Accepted as per voting in ticket https://pagure.io/fedora-qa/blocker-review/issue/616 . "For each one of the release-blocking package sets, it must be possible to successfully complete a direct upgrade from a fully updated, clean default installation of each of the last two stable Fedora releases with that package set installed."
I'm still getting upgrade errors with the fixed mlocate-0.26-46.fc36.x86_64: Problem 2: problem with installed package mlocate-0.26-31.fc35.x86_64 - package plocate-1.1.15-2.fc36.x86_64 conflicts with mlocate provided by mlocate-0.26-46.fc36.x86_64 - mlocate-0.26-31.fc35.x86_64 does not belong to a distupgrade repository - conflicting requests Does the F35 package need a similar change? Or should mlocate in F36 conflict with plocate? Currently it has `Conflicts: mlocate`. I'm not sure if that's a mistake or RPM magic deeper than my understanding.
AFAIK, conflicts are symmetric. I think we should update comps to use 'locate' instead.
Arrgh, it's because comps-f3[67].xml.in has <packagereq>plocate</packagereq>. Pfff, maybe the easiest option is to accelerate the schedule and add Obsoletes:mlocate now, and not for F37. WDYT?
Obsoleting now seems reasonable. I don't think anyone*'s going to be upset about a smooth upgrade to a faster implementation. But since that's a significant deviation from the original plan, I'd like FESCo to explicitly approve the change. * Some people will be upset of course, but it's likely a small enough group that I don't think we need to block the release on them.
Can we please try doing the attempted fix properly first? As Ben said, it's wrong. You made mlocate conflict with itself, which isn't going to help anything. The idea was to have mlocate Conflicts: plocate. I don't know if it'll help, but it might at least be worth trying :)
FEDORA-2022-90fa4bf735 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-90fa4bf735
FEDORA-2022-90fa4bf735 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
Sorry, Bodhi. We need to verify this first.
Oops, indeed. I rebuilt for F36 and rawhide with the name fixed.
FEDORA-2022-b44d9f22ee has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-b44d9f22ee
Edited the update not to close the bug on stable as we're not sure if it'll work.
FEDORA-2022-b44d9f22ee has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-b44d9f22ee` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-b44d9f22ee See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
I am still getting the error on fully updated Fedora 35 Workstation, where the command from comment 34 produces a "Nothing to do" message.
I can confirm that the issue still occurs: $ sudo dnf system-upgrade download --releasever=36 --enablerepo=updates-testing Error: Problem: problem with installed package mlocate-0.26-31.fc35.x86_64 - package plocate-1.1.15-2.fc36.x86_64 conflicts with mlocate provided by mlocate-0.26-46.fc36.x86_64 - package plocate-1.1.15-2.fc36.x86_64 conflicts with mlocate provided by mlocate-0.26-47.fc36.x86_64 - package mlocate-0.26-47.fc36.x86_64 conflicts with plocate provided by plocate-1.1.15-2.fc36.x86_64 - mlocate-0.26-31.fc35.x86_64 does not belong to a distupgrade repository - conflicting requests (mlocate-0.26-47.fc36.x86_64 and plocate-1.1.15-2.fc36.x86_64 are the latest builds.) Option 1: add Obsoletes:mlocate to plocate, effectively removing mlocate from the distro Option 2: tweak comps to refer to 'locate' not 'plocate'. But then we'd have to somehow ensure that 'plocate' is installed in preference to 'mlocate'. There haven't been any complaints about plocate, so I'd prefer option 1. Comments?
I'm fine with 1) too. The implementation of locate doesn't seem like a world-shattering detail, honestly, the idea of keeping both around seems if anything over-cautious!
I believe we can do (1) while preserving the possibility of explicitly swapping to mlocate in both fresh installs and upgraded systems. Since unversioned Obsoletes are dangerous and better be avoided, we want some version to obsolete here. If you add: Obsoletes: mlocate < 0.26-300 And we bump the Release of mlocate to 300 in Fedora 36 and 37.
FEDORA-2022-c6cdbf33d0 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-c6cdbf33d0
FEDORA-2022-c6cdbf33d0 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-b9311a4098 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-b9311a4098
FEDORA-2022-b9311a4098 has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-b9311a4098` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-b9311a4098 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-b9311a4098 has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.
the issue still occurs: $ sudo dnf system-upgrade download --releasever=36 --enablerepo=updates-testing Error: Problem: problem with installed package mlocate-0.26-300.fc36.x86_64 - package plocate-1.1.15-6.fc36.x86_64 conflicts with mlocate provided by mlocate-0.26-300.fc36.x86_64 - package mlocate-0.26-300.fc36.x86_64 conflicts with plocate provided by plocate-1.1.15-6.fc36.x86_64 - conflicting requests I launched the upgrade from the graphical prompt, upon reboot it displays a "something went wrong" page. The computer is now unable to boot into gdm. I still have access to the terminal. Command in https://bugzilla.redhat.com/show_bug.cgi?id=2052433#c34 yields "Nothing to do".
> - package mlocate-0.26-300.fc36.x86_64 conflicts with plocate provided by plocate-1.1.15-6.fc36.x86_64 Hmm, where did this build come from? Koji [1] lists plocate-1.1.15-3.fc36 as the latest build for F36. [1] https://koji.fedoraproject.org/koji/packageinfo?packageID=34523
Sorry, that's a typo. I copied the log (and translated it). The actual version is plocate-1.1.15-3.fc36.x86_64.