]> git.pld-linux.org Git - packages/kernel.git/commitdiff
Make usable /boot/initrd symlink for dracut
authorJacek Konieczny <jajcus@jajcus.net>
Wed, 23 Oct 2013 15:38:33 +0000 (17:38 +0200)
committerJacek Konieczny <jajcus@jajcus.net>
Wed, 23 Oct 2013 15:38:33 +0000 (17:38 +0200)
When Dracut is used instead of geninitrd the /boot/initrd
symlink would point to nothing. This will fix that by
symlinking the Dracut-generated /boot/initramfs-* there, but only if
geninitrd is not used.

kernel.spec

index 7d5494bb27990eff7a0c6d31b86e6f1137e15813..2d4605446e4986d078a5f3b34575b02709e9dcc3 100644 (file)
@@ -1068,23 +1068,31 @@ fi
 %posttrans
 # use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
+initrd_file=""
 if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
        /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
+       initrd_file="initrd-%{kernel_release}.gz"
 fi
+
+# if dracut is present then generate full-featured initramfs
+if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
+       /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
+        [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
+fi
+
 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
        mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
-       ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
+        if [ -n "$initrd_file" ] ; then
+           ln -sf "$initrd_file" %{initrd_dir}/initrd
+        fi
 %if 0%{?alt_kernel:1}
        mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
-       ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}
+        if [ -n "$initrd_file" ] ; then
+           ln -sf "$initrd_file" %{initrd_dir}/initrd%{_alt_kernel}
+        fi
 %endif
 fi
 
-# if dracut is present then generate full-featured initramfs
-if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
-       /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
-fi
-
 # update boot loaders when old package files are gone from filesystem
 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
        if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
This page took 0.070531 seconds and 4 git commands to generate.