Bug 1487867

Summary: Wrong version on legacy variant (e.g. grub2-pc) Obsoletes:
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: grub2Assignee: Peter Jones <pjones>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 27CC: bcl, dhill, fzatlouk, klember, kloczko.tomasz, kparal, kwkaess, lbrabec, lkundrak, pjones, robatino, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: AcceptedBlocker
Fixed In Version: grub2-2.02-16.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-16 05:55:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1396702    
Attachments:
Description Flags
dnf system upgrade output none

Description Adam Williamson 2017-09-02 19:47:12 UTC
grub.macros has this:

%define define_legacy_variant()						\
%{expand:%%package %%{1}}						\
Summary:	Bootloader with support for Linux, Multiboot, and more	\
Group:		System Environment/Base					\
Provides:	%{name} = %{evr}					\
Obsoletes:	%{name} < 1:2.02-0					\

I'm pretty sure that -0 is a typo, probably for -10. The result of this is that grub2 packages get skipped from a 'dnf update' if you have grub2-2.02-1 or higher (because it isn't obsoleted, but its dependencies can't be satisfied if the other grub2 packages are updated). If you pass '--best --allowerasing' dnf will decide to go ahead and remove grub2 (that's what --allowerasing does, allows dnf to decide to remove packages whose dependencies can't be satisfied any more), so it's not critical, but it's still wrong.

Comment 1 Yanko Kaneti 2017-09-05 12:04:12 UTC
*** Bug 1488433 has been marked as a duplicate of this bug. ***

Comment 2 Adam Williamson 2017-09-08 23:02:43 UTC
Ping? Can we fix this? It interferes with all upgrades to F27...

Comment 3 David Hill 2017-09-10 15:36:20 UTC
 Problem: conflicting requests
  - package abrt-java-connector-1.1.0-8.fc24.x86_64 requires librpm.so.7()(64bit), but none of the providers can be installed
  - problem with installed package grub2-pc-1:2.02-10.fc27.x86_64
  - package grub2-pc-1:2.02-10.fc27.x86_64 requires grub2-tools = 1:2.02-10.fc27, but none of the providers can be installed
  - package grub2-pc-1:2.02-14.fc27.x86_64 requires grub2-tools = 1:2.02-14.fc27, but none of the providers can be installed
  - package grub2-tools-1:2.02-10.fc27.x86_64 requires librpm.so.8()(64bit), but none of the providers can be installed
  - package grub2-tools-1:2.02-14.fc27.x86_64 requires librpm.so.8()(64bit), but none of the providers can be installed
  - cannot install both rpm-libs-4.13.0.1-4.fc26.x86_64 and rpm-libs-4.14.0-0.rc1.2.fc28.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstalable packages)

Comment 4 Vít Ondruch 2017-09-11 08:42:04 UTC
Also note that there is F27 already branched from Rawhide, so it would be nice to provide F27 as well as Rawhide builds ...

Comment 5 Adam Williamson 2017-09-11 16:57:09 UTC
*** Bug 1490287 has been marked as a duplicate of this bug. ***

Comment 6 Kamil Páral 2017-09-11 17:08:10 UTC
Created attachment 1324525 [details]
dnf system upgrade output

Here's a full log of attempted dnf system upgrade transaction with --allowerasing (needed, otherwise rejected). grub2 is removed, but grub2-pc is not installed.

Comment 7 Kamil Páral 2017-09-11 17:10:00 UTC
Discussed during blocker review [1]:

AcceptedBlocker (Beta) - even if you can upgrade with --allowerasing, grub2-pc will not be installed after upgrade, violating the "The upgraded system must include all packages that would be present on the system after a default installation from install media" clause of the upgrade criterion

[1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2017-09-11/

Comment 8 Adam Williamson 2017-09-11 17:26:44 UTC
Note: there actually is still a problem if you use --allowerasing , because nothing ensures grub2-pc (or grub2-ppc64 or whatever, the replacement package) gets installed in this case. The upgrade completes, and grub2 goes away, but nothing replaces it.

Comment 9 Fedora Update System 2017-09-11 17:46:13 UTC
grub2-2.02-16.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-a8b4e05ef3

Comment 10 Fedora Update System 2017-09-11 21:56:52 UTC
grub2-2.02-16.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-a8b4e05ef3

Comment 11 František Zatloukal 2017-09-15 14:31:56 UTC
Tested, grub2-2.02-16.fc27 fixes the issue.

Comment 12 Fedora Update System 2017-09-16 05:55:28 UTC
grub2-2.02-16.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.