]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- added sysconfig for kernel packages to control creation of ".old"
authorJan Rękorajski <baggins@pld-linux.org>
Fri, 12 Apr 2013 12:37:11 +0000 (14:37 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Fri, 12 Apr 2013 12:37:11 +0000 (14:37 +0200)
  symlinks and initrd images

kernel.spec
kernel.sysconfig [new file with mode: 0644]

index a9eb3a54dec3f5c56d0668caa6bea56fc8fd1834..07fcd478f9c30c321dcb09aa309ce39c343e1f2b 100644 (file)
@@ -113,6 +113,7 @@ Source0:    http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
 Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
 # Patch0-md5:  477a910b5956ca67c857c2e69d550410
 %endif
+Source1:       kernel.sysconfig
 
 Source3:       kernel-autoconf.h
 Source4:       kernel-config.h
@@ -948,6 +949,9 @@ touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
 # /etc/modrobe.d
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
 
+install -d $RPM_BUILD_ROOT/etc/sysconfig
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
+
 # /usr/src/linux
 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
 
@@ -1014,39 +1018,47 @@ if [ -x /sbin/new-kernel-pkg ]; then
 fi
 
 %post
+[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
+if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
 %ifarch ia64
-mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
-ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
+       mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
 %if 0%{?alt_kernel:1}
-mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
-ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
+       mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
 %endif
 %endif
-mv -f /boot/vmlinuz{,.old} 2> /dev/null
-mv -f /boot/System.map{,.old} 2> /dev/null
-ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
-ln -sf System.map-%{kernel_release} /boot/System.map
+       mv -f /boot/vmlinuz{,.old} 2> /dev/null
+       mv -f /boot/System.map{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
+       ln -sf System.map-%{kernel_release} /boot/System.map
 %if 0%{?alt_kernel:1}
-mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
-mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
-ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
-ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
+       mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
+       mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
+       ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
 %endif
+fi
 
 %depmod %{kernel_release}
 
 %posttrans
-# generate initrd after all dependant modules are installed
-/sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
-mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
-ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
+[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
+if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
+       # generate initrd after all dependant modules are installed
+       /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
+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 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}
+       mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
+       ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}
 %endif
+fi
 
 # if dracut is present then generate full-featured initramfs
-if [ -x /sbin/dracut ]; then
+if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
        /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
 fi
 
@@ -1064,12 +1076,15 @@ if [ -x /sbin/rc-boot ]; then
 fi
 
 %post vmlinux
-mv -f /boot/vmlinux{,.old} 2> /dev/null
-ln -sf vmlinux-%{kernel_release} /boot/vmlinux
+[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
+if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
+       mv -f /boot/vmlinux{,.old} 2> /dev/null
+       ln -sf vmlinux-%{kernel_release} /boot/vmlinux
 %if 0%{?alt_kernel:1}
-mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
-ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
+       mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
+       ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
 %endif
+fi
 
 %post drm
 %depmod %{kernel_release}
diff --git a/kernel.sysconfig b/kernel.sysconfig
new file mode 100644 (file)
index 0000000..5cca15b
--- /dev/null
@@ -0,0 +1,13 @@
+# Configuration for PLD kernel packages
+
+# Create /boot/initrd-<kernel version>.gz initial ramdisk using geninitrd?
+# This has always been the default in PLD, set to "no" if you don't want it.
+#USE_GENINITRD=
+
+# Create /boot/initramfs-<kernel version>.img initial ramfs filesystem using dracut?
+# Set to "no" if you don't want it.
+#USE_DRACUT=
+
+# PLD kernel packages create {vmlinuz,System.map}.old symlinks to previous kernel files
+# when installing new package, set to "no" if you don't need/want them
+#CREATE_SYMLINKS=
This page took 0.070226 seconds and 4 git commands to generate.