diff options
author | Jan Rękorajski | 2013-04-12 12:37:11 (GMT) |
---|---|---|
committer | Jan Rękorajski | 2013-04-12 12:37:11 (GMT) |
commit | 5aeaa3c2c5a3d8a8c1275a236d343e8a89840895 (patch) | |
tree | 0b3aa91574d8fe385f1296905630055f6e53cc50 | |
parent | b400362c283118633cf754dfc8e4f0de963687fd (diff) | |
download | kernel-5aeaa3c2c5a3d8a8c1275a236d343e8a89840895.zip kernel-5aeaa3c2c5a3d8a8c1275a236d343e8a89840895.tar.gz |
- added sysconfig for kernel packages to control creation of ".old"
symlinks and initrd images
-rw-r--r-- | kernel.spec | 61 | ||||
-rw-r--r-- | kernel.sysconfig | 13 |
2 files changed, 51 insertions, 23 deletions
diff --git a/kernel.spec b/kernel.spec index a9eb3a5..07fcd47 100644 --- a/kernel.spec +++ b/kernel.spec @@ -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 index 0000000..5cca15b --- /dev/null +++ b/kernel.sysconfig @@ -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= |