Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

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.