Mike Gilbert posted on Mon, 25 Jun 2012 12:56:25 -0400 as excerpted: > On Mon, Jun 25, 2012 at 11:19 AM, Doug Goldstein <car...@gentoo.org> > wrote: >> Since Grub Legacy and Grub 2 are slotted, Portage won't remove the >> older version. Even if it removes the older one, everything necessary >> is installed into /boot and the MBR already. > > Portage will remove the older slot the next time the user runs emerge > --depclean unless sys-boot/grub:0 is added to the world file. I'm > looking for a good way to communicate this to the user. > > How about this: For ~arch, we do an ewarn in pkg_postinst if grub:0 is > installed. For stable, we do a news item.
Here's a bit of a different idea: Changing the bootloader is really a profile level change. If appropriate grub2-defaulted new profiles are created, and the old ones set to specify grub:0 as their default bootloader and then deprecated, this will automatically both provide the appropriate upgrade preparation required hint, and allow users to upgrade on their own schedule during the usual profile deprecation period. Additionally, if there are continued issues with gcc building the old grub, etc (as was complicating the gcc-4.6 upgrade), the old profile can be set to mask new gcc, as well, thus providing additional encouragement to upgrade for the new gcc, and allowing people to deal with that upgrade at the same time, with their profile switch. As such, supporting the old profiles during the deprecation period shouldn't be too bad, since slots, version-ranges, etc, can be nailed down as necessary, and people will automatically be prepared to deal with a bit of churn as they do their profile upgrade. Thinking back, that probably would have been the best way to handle the baselayout-2/openrc upgrade as well, but that's rather behind us, now. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman