Bug 17994 - grub2-efi needs to conflict kcm-grub2 < 0.5.8-12.1.mga5
Summary: grub2-efi needs to conflict kcm-grub2 < 0.5.8-12.1.mga5
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 5
Hardware: All Linux
Priority: Normal critical
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA5-32-OK MGA5-64-OK advisory
Keywords: validated_update
Depends on:
Blocks: 17918
  Show dependency treegraph
 
Reported: 2016-03-14 14:39 CET by Barry Jackson
Modified: 2016-03-25 07:39 CET (History)
4 users (show)

See Also:
Source RPM: grub2-2.02-0.git9752.18.3.mga5.src.rpm
CVE:
Status comment:


Attachments

Description Barry Jackson 2016-03-14 14:39:29 CET
Description of problem:
kcm-grub2 in Mga5 has a require on grub2 which causes it to remove grub2-efi (on UEFI hardware) when it is installed.
This breaks the system as it cannot then boot.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
Comment 1 Barry Jackson 2016-03-15 12:18:48 CET
#############################
Update Advisory

grub2-2.02-0.git9752.18.4.mga5 has bee submitted to 5/core/updates_testing


#############################
Description

This update tries to resolve an issue whereby the system may be rendered un-bootable if an attempt is made to install kcm-grub2-0.5.8-12 on UEFI hardware.

############################
Affected Packages
grub2-2.02-0.git9752.18.4.mga5.src.rpm
grub2-2.02-0.git9752.18.4.mga5.i586.rpm
grub2-efi-2.02-0.git9752.18.4.mga5.i586.rpm
grub2-mageia-theme-2.02-0.git9752.18.4.mga5.noarch.rpm
grub2-debuginfo-2.02-0.git9752.18.4.mga5.i586.rpm
grub2-2.02-0.git9752.18.4.mga5.x86_64.rpm
grub2-efi-2.02-0.git9752.18.4.mga5.x86_64.rpm
grub2-debuginfo-2.02-0.git9752.18.4.mga5.x86_64.rpm

###########################
Testing
I don't think this needs testing as I'm not convinced there was a need for it at all, (see my comment #3 in 17918) however having been told twice to do it by Thomas, I have done it.
This will not stop the old kcm-grub2 from uninstalling grub2-efi and installing grub2.
Barry Jackson 2016-03-15 12:19:37 CET

Assignee: zen25000 => qa-bugs

Comment 2 Lewis Smith 2016-03-16 19:51:33 CET
This puzzles me.
"This update tries to resolve an issue whereby the system may be rendered un-bootable if an attempt is made to install kcm-grub2-0.5.8-12 on UEFI hardware.
...
This will not stop the old kcm-grub2 from uninstalling grub2-efi and installing grub2"
The first part seems to indicate that the update will stop the evil if you try to install kcm-grub2 on EFI h/w. The second part says that the evil will happen anyway.

Trying x64 real EFI hardware.
I un-installed kcm-grub2, and updated to:
 grub2-efi-2.02-0.git9752.18.4.mga5
 grub2-mageia-theme-2.02-0.git9752.18.4.mga5

Then tried installing kcm-grub2 from 'issued' repos (the older, not the new one):
 # urpmi kcm-grub2
 [Have to remove the following package]
 grub2-efi-2.02-0.git9752.18.4.mga5.x86_64
 ([because of conflict with grub2]) (y/N) n
I did not dare to go further. This far looks the same as before this grub2 update (but not the kcm-grub2 one 17918).

What *should* one be seeing here? Is it possible that if I had persued the kcm-grub2 installation, it would in fact have been bounced before any damage was done (grub2-efi removed)? If not, what *is* this update supposed to achieve?

CC: (none) => lewyssmith

Comment 3 Barry Jackson 2016-03-16 20:41:29 CET
> If not, what *is* this update supposed to achieve?

I have no idea - ask Thomas.

I repeated several times that I considered that it was not needed but Thomas repeated (irc and qa-ML) that it must be done, so it's done.

See https://bugs.mageia.org/show_bug.cgi?id=17918#c3

Barry
Comment 4 James Kerr 2016-03-18 18:00:03 CET
Testing on mga5-64 EFI

Installed from testing:

- grub2-efi-2.02-0.git9752.18.4.mga5.x86_64
- grub2-mageia-theme-2.02-0.git9752.18.4.mga5.noarch

and then

# urpmi --test kcm-grub2
The following package has to be removed for others to be upgraded:
grub2-efi-2.02-0.git9752.18.4.mga5.x86_64


So this update does not avoid the removal of grub2-efi if an attempt is made to install kcm-grub2 < 0.5.8-12.1

This update seems to be redundant since once kcm-grub2-0.5.8-12.1 has been pushed to updates the problem will have been solved
Comment 5 Barry Jackson 2016-03-18 18:39:52 CET
I agree Jim, but Thomas was adamant that it was needed.
https://ml.mageia.org/l/arc/qa-discuss/2016-03/msg00132.html
Comment 6 James Kerr 2016-03-18 19:41:49 CET
I've added the OK for mga5-64 since the update is benign, but I don't understand why it's needed.

Whiteboard: (none) => MGA5-64-OK

Comment 7 Thomas Backlund 2016-03-18 21:12:59 CET
I understand it's confusing... in this case it's a very "subtle problem"

Conflicts are also used as "install ordering hints"... 

It this case with the conflicts in place when installer or urpmi/rpmdrake gets a request to install grub2-efi, the conflict will tell it to check "is kcm-grub2 installed? if so, ensure the fixed (or newer) one gets installed in the same transaction" in order to avoid possible dep loops...

So just install and confirm grub2(-efi) still works.

And this should really be pushed as part of 17918, not as a separate update

CC: (none) => tmb
Blocks: (none) => 17918

Comment 8 James Kerr 2016-03-19 13:26:35 CET
Thanks for the explanation. The issue is obviously a bit more complicated than I had thought. 

I did not mention explicitly, but the system did reboot normally after installing this update.
Comment 9 James Kerr 2016-03-21 14:11:04 CET
mga5-32 also boots successfully using the updated grub2 and so I've validated the update.

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs
Whiteboard: MGA5-64-OK => MGA5-64-OK MGA5-32-OK

Comment 10 James Kerr 2016-03-21 14:14:11 CET
The advisory in comment#1 should be amended in light of comment#7 and then uploaded to SVN
Comment 11 James Kerr 2016-03-22 10:02:30 CET
I've removed my OK's and the validation for this update.

Somewhere in the testing of the grub2 updates I lost the bootloader entries for all but one OS. (I have 6 on this box.)

The problem is almost certainly due to my error, but I'm uncomfortable validating this update until I've sorted things out and re-tested.

Keywords: validated_update => (none)
Whiteboard: MGA5-64-OK MGA5-32-OK => (none)

Comment 12 James Kerr 2016-03-24 15:36:56 CET
The loss of bootloader entries was caused by a change in /etc/default/grub
GRUB_DISABLE_OS_PROBER=false had been changed to true

I have twice repeated my tests of of this update as well as kcm-grub2 and os-prober and have been unable to reproduce this change. Perhaps I had at some point inadvertently unchecked the option to "Probe for operating systems" in kcm-grub2.

I have restored my OK's for this update and re-validated.

The advisory in comment#1 needs to be amended in light of comment#7 and then uploaded to SVN

Keywords: (none) => validated_update
Whiteboard: (none) => MGA5-32-OK MGA5-64-OK

Dave Hodgins 2016-03-25 07:07:11 CET

CC: (none) => davidwhodgins
Whiteboard: MGA5-32-OK MGA5-64-OK => MGA5-32-OK MGA5-64-OK advisory

Comment 13 Mageia Robot 2016-03-25 07:39:24 CET
An update for this issue has been pushed to the Mageia Updates repository.

http://advisories.mageia.org/MGAA-2016-0050.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.