From dd0b91ac3a797c9ca3a1ed1dbbb56dae523b77da Mon Sep 17 00:00:00 2001 From: brian Date: Fri, 19 Sep 2008 18:14:58 +0000 Subject: [PATCH] b=13679 i=cliffw i=yangsheg Bring our post[un]install scripts more into line with SLES10's so that we are installing the bootloader on SLES10 also. --- build/lustre-kernel-2.4.spec.in | 2 +- build/suse-post.sh | 24 ++++++++++++++++++++++-- build/suse-postun.sh | 17 +++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/build/lustre-kernel-2.4.spec.in b/build/lustre-kernel-2.4.spec.in index 2ea2306..b296702 100644 --- a/build/lustre-kernel-2.4.spec.in +++ b/build/lustre-kernel-2.4.spec.in @@ -406,7 +406,7 @@ for flavor in "" smp bigmem bigsmp pseries64 BOOT jensen ; do # than installed, so force modules.dep to be recreated echo "rm -f /lib/modules/%{KVERREL}${delim_flavor}/modules.dep" >> ${script} echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script} - sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" %{SOURCE26} >> ${script} + sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" -e "s^%flavor^${flavor}^" %{SOURCE26} >> ${script} echo "else" >> ${script} sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" -e "s^%%{cfg_name}^${delim_flavor}^g" %{SOURCE29} >> ${script} diff --git a/build/suse-post.sh b/build/suse-post.sh index d60d63f..7efe83d 100644 --- a/build/suse-post.sh +++ b/build/suse-post.sh @@ -53,10 +53,30 @@ if test "$YAST_IS_RUNNING" != instsys ; then fi fi -if [ "$YAST_IS_RUNNING" != instsys -a -x /sbin/new-kernel-pkg ]; then +if [ "$YAST_IS_RUNNING" != instsys ]; then # Notify boot loader that a new kernel image has been installed. # (during initial installation the boot loader configuration does not # yet exist when the kernel is installed, but yast kicks the boot # loader itself later.) - /sbin/new-kernel-pkg %ver_str + if [ -x /sbin/new-kernel-pkg ]; then + /sbin/new-kernel-pkg %ver_str + elif [ -x /usr/lib/bootloader/bootloader_entry ]; then + # handle 10.2 and SLES10 SP1 + /usr/lib/bootloader/bootloader_entry \ + add \ + %flavor \ + %ver_str \ + vmlinuz-%ver_str \ + initrd-%ver_str + elif [ -x /sbin/update-bootloader ]; then + # handle 10.1 and SLES10 GA + /sbin/update-bootloader \ + --add \ + --image /boot/vmlinuz-%ver_str \ + --initrd /boot/initrd-%ver_str + /sbin/update-bootloader --refresh + else + echo "You may need to setup and install the boot loader using the" + echo "available bootloader for your platform (e.g. grub, lilo, zipl, ...)." + fi fi diff --git a/build/suse-postun.sh b/build/suse-postun.sh index 44c8798..ac9f30c 100644 --- a/build/suse-postun.sh +++ b/build/suse-postun.sh @@ -45,6 +45,23 @@ if [ "$(readlink /boot/$image$SHORTNM)" = $image-%ver_str ]; then shopt -u nullglob fi +# remove the bootloader entry for the kernel being removed +if [ -x /usr/lib/bootloader/bootloader_entry ]; then + # handle 10.2 and SLES10 SP1 + /usr/lib/bootloader/bootloader_entry \ + remove \ + smp \ + %ver_str \ + vmlinuz-%ver_str \ + initrd-%ver_str +elif [ -x /sbin/update-bootloader ]; then + # handle 10.1 and SLES10 GA + /sbin/update-bootloader --image /boot/vmlinuz-%ver_str \ + --initrd /boot/initrd-%ver_str \ + --remove --force + /sbin/update-bootloader --refresh +fi + # Check whether there is a .previous link to the image we're about # to remove or to the image we point the new symlink to (so .previous # would be identical to the current symlink) -- 1.8.3.1