[packages/kernel/LINUX_3_4] - added sysconfig for kernel packages to control creation of ".old" symlinks and initrd images

baggins baggins at pld-linux.org
Thu Oct 24 12:50:04 CEST 2013


commit 4348e5f06c73e09e3be97b0092ebf75c76d0dd69
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Fri Apr 12 14:37:11 2013 +0200

    - added sysconfig for kernel packages to control creation of ".old"
      symlinks and initrd images

 kernel.spec      | 61 +++++++++++++++++++++++++++++++++++---------------------
 kernel.sysconfig | 13 ++++++++++++
 2 files changed, 51 insertions(+), 23 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index 403193b..a7e3cb4 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -140,6 +140,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}.xz
 # Patch0-md5:	5cc0b3e19712173f8f2612c17af16a64
 %endif
+Source1:	kernel.sysconfig
 
 Source3:	kernel-autoconf.h
 Source4:	kernel-config.h
@@ -1060,6 +1061,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}
 
@@ -1118,39 +1122,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
 
@@ -1168,12 +1180,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=
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/a23d074c33cfc35365ad674d49adc656a5f968b0



More information about the pld-cvs-commit mailing list