Accepting request 1160526 from home:michael-chang:branches:Base:System
- Fix memdisk becomes the default boot entry, resolving no graphic display device error in guest vnc console (bsc#1221779) * grub2-xen-pv-firmware.cfg - Cleanup spec file to adhere to update-bootloader-rpm-macros definition entirely (bsc#1218241) OBS-URL: https://build.opensuse.org/request/show/1160526 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=495
This commit is contained in:
parent
8aecaf14b6
commit
11e8d5171e
@ -69,6 +69,9 @@ for c in ${hdcfg_list}; do
|
||||
btrfs_relative_path=1
|
||||
if search -s hddev -f "${c}"; then
|
||||
btrfs_relative_path=0
|
||||
if [ "${hddev}" = "memdisk" ]; then
|
||||
break
|
||||
fi
|
||||
menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
|
||||
set root="${2}"
|
||||
set cfg="${3}"
|
||||
@ -88,6 +91,9 @@ for c in ${hdlst_list}; do
|
||||
btrfs_relative_path=1
|
||||
if search -s hddev -f "${c}"; then
|
||||
btrfs_relative_path=0
|
||||
if [ "${hddev}" = "memdisk" ]; then
|
||||
break
|
||||
fi
|
||||
menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
|
||||
set root="${2}"
|
||||
set cfg="${3}"
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 22 06:01:13 UTC 2024 - Michael Chang <mchang@suse.com>
|
||||
|
||||
- Fix memdisk becomes the default boot entry, resolving no graphic display
|
||||
device error in guest vnc console (bsc#1221779)
|
||||
* grub2-xen-pv-firmware.cfg
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 20 06:16:45 UTC 2024 - Michael Chang <mchang@suse.com>
|
||||
|
||||
- Cleanup spec file to adhere to update-bootloader-rpm-macros definition
|
||||
entirely (bsc#1218241)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 19 07:08:02 UTC 2024 - Gary Ching-Pang Lin <glin@suse.com>
|
||||
|
||||
|
127
grub2.spec
127
grub2.spec
@ -466,12 +466,7 @@ BuildArch: noarch
|
||||
%endif
|
||||
Requires: %{name} = %{version}
|
||||
Requires(post): %{name} = %{version}
|
||||
%if 0%{?update_bootloader_requires:1}
|
||||
%update_bootloader_requires
|
||||
%else
|
||||
Requires: perl-Bootloader
|
||||
Requires(post): perl-Bootloader
|
||||
%endif
|
||||
%{?update_bootloader_requires}
|
||||
|
||||
%description %{grubarch}
|
||||
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
|
||||
@ -520,12 +515,7 @@ Requires: efibootmgr
|
||||
Requires(post): efibootmgr
|
||||
Requires: %{name} = %{version}
|
||||
Requires(post): %{name} = %{version}
|
||||
%if 0%{?update_bootloader_requires:1}
|
||||
%update_bootloader_requires
|
||||
%else
|
||||
Requires: perl-Bootloader >= 0.706
|
||||
Requires(post): perl-Bootloader >= 0.706
|
||||
%endif
|
||||
%{?update_bootloader_requires}
|
||||
%{?fde_tpm_update_requires}
|
||||
Provides: %{name}-efi = %{version}-%{release}
|
||||
Obsoletes: %{name}-efi < %{version}-%{release}
|
||||
@ -1130,51 +1120,7 @@ grep -E ${EXTRA_PATTERN} %{grubarch}-mod-all.lst > %{grubarch}-mod-extras.lst
|
||||
%if ! 0%{?only_efi:1}
|
||||
|
||||
%post %{grubarch}
|
||||
%if 0%{?update_bootloader_check_type_reinit_post:1}
|
||||
%update_bootloader_check_type_reinit_post grub2
|
||||
%else
|
||||
# To check by current loader settings
|
||||
if [ -f %{_sysconfdir}/sysconfig/bootloader ]; then
|
||||
. %{_sysconfdir}/sysconfig/bootloader
|
||||
fi
|
||||
|
||||
# If the grub is the current loader, we'll handle the grub2 testing entry
|
||||
if [ "x${LOADER_TYPE}" = "xgrub" ]; then
|
||||
|
||||
exec >/dev/null 2>&1
|
||||
|
||||
# check if entry for grub2's core.img exists in the config
|
||||
# if yes, we will correct obsoleted path and update grub2 stuff and config to make it work
|
||||
# if no, do nothing
|
||||
if [ -f /boot/grub/menu.lst ]; then
|
||||
|
||||
# If grub config contains obsolete core.img path, remove and use the new one
|
||||
if /usr/bin/grep -l "^\s*kernel\s*.*/boot/%{name}/core.img" /boot/grub/menu.lst; then
|
||||
/sbin/update-bootloader --remove --image /boot/%{name}/core.img || true
|
||||
/sbin/update-bootloader --add --image /boot/%{name}/i386-pc/core.img --name "GNU GRUB 2" || true
|
||||
fi
|
||||
|
||||
# Install grub2 stuff and config to make the grub2 testing entry to work with updated version
|
||||
if /usr/bin/grep -l "^\s*kernel\s*.*/boot/%{name}/i386-pc/core.img" /boot/grub/menu.lst; then
|
||||
# Determine the partition with /boot
|
||||
BOOT_PARTITION=$(df -h /boot | sed -n '2s/[[:blank:]].*//p')
|
||||
# Generate core.img, but don't let it be installed in boot sector
|
||||
%{name}-install --no-bootsector $BOOT_PARTITION || true
|
||||
# Create a working grub2 config, otherwise that entry is un-bootable
|
||||
/usr/sbin/grub2-mkconfig -o /boot/%{name}/grub.cfg
|
||||
fi
|
||||
fi
|
||||
|
||||
elif [ "x${LOADER_TYPE}" = "xgrub2" ]; then
|
||||
|
||||
# It's enought to call update-bootloader to install grub2 and update it's config
|
||||
# Use new --reinit, if not available use --refresh
|
||||
# --reinit: install and update bootloader config
|
||||
# --refresh: update bootloader config
|
||||
/sbin/update-bootloader --reinit 2>&1 | grep -q 'Unknown option: reinit' &&
|
||||
/sbin/update-bootloader --refresh || true
|
||||
fi
|
||||
%endif
|
||||
%{?update_bootloader_check_type_reinit_post:%update_bootloader_check_type_reinit_post grub2}
|
||||
|
||||
%posttrans %{grubarch}
|
||||
%{?update_bootloader_posttrans}
|
||||
@ -1188,38 +1134,7 @@ fi
|
||||
%fde_tpm_update_post grub2-efi
|
||||
%endif
|
||||
|
||||
%if 0%{?update_bootloader_check_type_reinit_post:1}
|
||||
%update_bootloader_check_type_reinit_post grub2-efi
|
||||
%else
|
||||
# To check by current loader settings
|
||||
if [ -f %{_sysconfdir}/sysconfig/bootloader ]; then
|
||||
. %{_sysconfdir}/sysconfig/bootloader
|
||||
fi
|
||||
|
||||
if [ "x${LOADER_TYPE}" = "xgrub2-efi" ]; then
|
||||
|
||||
if [ -d /boot/%{name}-efi ]; then
|
||||
# Migrate settings to standard prefix /boot/grub2
|
||||
for i in custom.cfg grubenv; do
|
||||
[ -f /boot/%{name}-efi/$i ] && cp -a /boot/%{name}-efi/$i /boot/%{name} || :
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
# It's enough to call update-bootloader to install grub2 and update it's config
|
||||
# Use new --reinit, if not available use --refresh
|
||||
# --reinit: install and update bootloader config
|
||||
# --refresh: update bootloader config
|
||||
/sbin/update-bootloader --reinit 2>&1 | grep -q 'Unknown option: reinit' &&
|
||||
/sbin/update-bootloader --refresh || true
|
||||
fi
|
||||
|
||||
if [ -d /boot/%{name}-efi ]; then
|
||||
mv /boot/%{name}-efi /boot/%{name}-efi.rpmsave
|
||||
fi
|
||||
|
||||
exit 0
|
||||
%endif
|
||||
%{?update_bootloader_check_type_reinit_post:%update_bootloader_check_type_reinit_post grub2-efi}
|
||||
|
||||
%posttrans %{grubefiarch}
|
||||
%{?update_bootloader_posttrans}
|
||||
@ -1229,40 +1144,6 @@ exit 0
|
||||
|
||||
%preun
|
||||
%service_del_preun grub2-once.service
|
||||
# We did not add core.img to grub1 menu.lst in new update-bootloader macro as what
|
||||
# the old %%post ever did, then the %%preun counterpart which removed the added core.img
|
||||
# entry from old %%post can be skipped entirely if having new macro in use.
|
||||
%if ! 0%{?update_bootloader_posttrans:1}%{?only_efi:1}
|
||||
if [ $1 = 0 ]; then
|
||||
# To check by current loader settings
|
||||
if [ -f %{_sysconfdir}/sysconfig/bootloader ]; then
|
||||
. %{_sysconfdir}/sysconfig/bootloader
|
||||
fi
|
||||
|
||||
if [ "x${LOADER_TYPE}" = "xgrub" ]; then
|
||||
|
||||
exec >/dev/null 2>&1
|
||||
|
||||
if [ -f /boot/grub/menu.lst ]; then
|
||||
|
||||
# Remove grub2 testing entry in menu.lst if has any
|
||||
for i in /boot/%{name}/core.img /boot/%{name}/i386-pc/core.img; do
|
||||
if /usr/bin/grep -l "^\s*kernel\s*.*$i" /boot/grub/menu.lst; then
|
||||
/sbin/update-bootloader --remove --image "$i" || true
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Cleanup config, to not confuse some tools determining bootloader in use
|
||||
rm -f /boot/%{name}/grub.cfg
|
||||
|
||||
# Cleanup installed files
|
||||
# Unless grub2 provides grub2-uninstall, we don't remove any file because
|
||||
# we have no idea what's been installed. (And a blind remove is dangerous
|
||||
# to remove user's or other package's file accidently ..)
|
||||
fi
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun
|
||||
%service_del_postun grub2-once.service
|
||||
|
Loading…
Reference in New Issue
Block a user