SPECS (LINUX_2_6_16): kernel.spec - xen patch to allow building nv...

glen glen at pld-linux.org
Sun Apr 27 20:24:00 CEST 2008


Author: glen                         Date: Sun Apr 27 18:24:00 2008 GMT
Module: SPECS                         Tag: LINUX_2_6_16
---- Log message:
- xen patch to allow building nvidia module
- update symlinks handling, always /boot/vmlinuz points to last installed kernel, same for alt kernel
- simplify by using alt_kernel instead of dashxen, xen macros

---- Files affected:
SPECS:
   kernel.spec (1.441.2.1558.2.150 -> 1.441.2.1558.2.151) 

---- Diffs:

================================================================
Index: SPECS/kernel.spec
diff -u SPECS/kernel.spec:1.441.2.1558.2.150 SPECS/kernel.spec:1.441.2.1558.2.151
--- SPECS/kernel.spec:1.441.2.1558.2.150	Sun Apr 27 12:48:48 2008
+++ SPECS/kernel.spec	Sun Apr 27 20:23:54 2008
@@ -87,19 +87,8 @@
 %undefine       abi
 %endif
 
-%if %{with xen0}
-%define		xen	xen0
-%define		dashxen	\-xen0
-%define		pae	1
-%else
-%if %{with xenU}
-%define		xen	xenU
-%define		dashxen	\-xenU
+%if %{with xen0} || %{with xenU}
 %define		pae	1
-%else
-%define		xen	%{nil}
-%define		dashxen	%{nil}
-%endif
 %endif
 
 ## Programs required by kernel to work.
@@ -143,7 +132,7 @@
 # kernel release (used in filesystem and eventually in uname -r)
 # modules will be looked from /lib/modules/%{kernel_release}%{?smp}
 # _localversion is just that without version for "> localversion"
-%define		_localversion %{KABI}%{xen}
+%define		_localversion %{KABI}
 %define		kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{_localversion}
 
 %define		_basever	2.6.16
@@ -321,6 +310,7 @@
 # from http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-3.0.2-src.tgz
 Patch120:	xen-3.0-2.6.16.patch
 Patch121:	linux-xen-page_alloc.patch
+Patch122:	kernel-xen-sparse-nv.patch
 
 # from  http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/iw266_we20-6.diff
 Patch140:	linux-2.6.16-we20-6.patch
@@ -360,9 +350,9 @@
 %endif
 BuildRequires:	/sbin/depmod
 BuildRequires:	gcc >= 5:3.2
-# for hostname command
 BuildRequires:	net-tools
 BuildRequires:	perl-base
+BuildRequires:	rpm-build >= 4.4.9-56
 BuildRequires:	rpmbuild(macros) >= 1.217
 Autoreqprov:	no
 Requires(post):	coreutils
@@ -376,8 +366,8 @@
 Provides:	%{name}(vermagic) = %{kernel_release}
 Provides:	%{name}-up = %{epoch}:%{version}-%{release}
 %if %{with xen0}
-Provides:	kernel(xen0) = %{xen_version}
 Requires:	xen >= %{xen_version}
+Provides:	kernel(xen0) = %{xen_version}
 %endif
 Obsoletes:	kernel-misc-fuse
 Obsoletes:	kernel-modules
@@ -961,6 +951,7 @@
 %ifarch %{ix86} %{x8664} ia64
 %patch120 -p1
 %patch121 -p1
+%patch122 -p1
 %endif
 %endif
 
@@ -1384,43 +1375,46 @@
 fi
 
 %post
+# - update /boot/vmlinuz
+# - update /boot/vmlinuz-%{alt_kernel}
 %ifarch ia64
-mv -f /boot/efi/vmlinuz%{dashxen} /boot/efi/vmlinuz%{dashxen}.old 2> /dev/null > /dev/null
+mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
+%{?alt_kernel:mv -f /boot/efi/vmlinuz-%{alt_kernel}{,.old} 2> /dev/null}
 %endif
-mv -f /boot/vmlinuz%{dashxen} /boot/vmlinuz%{dashxen}.old 2> /dev/null > /dev/null
-mv -f /boot/System.map%{dashxen} /boot/System.map%{dashxen}.old 2> /dev/null > /dev/null
+mv -f /boot/vmlinuz{,.old} 2> /dev/null
+%{?alt_kernel:mv -f /boot/vmlinuz-%{alt_kernel}{,.old} 2> /dev/null}
+mv -f /boot/System.map{,.old}  2> /dev/null
+%{?alt_kernel:mv -f /boot/System-%{alt_kernel}.map{,.old} 2> /dev/null}
+
 %ifarch ia64
-ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{dashxen}
+ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
+%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz-%{alt_kernel}}
 %endif
-ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{dashxen}
-ln -sf System.map-%{kernel_release} /boot/System.map%{dashxen}
+ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
+%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz-%{alt_kernel}}
+ln -sf System.map-%{kernel_release} /boot/System.map
+%{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map}
 
 %depmod %{kernel_release}
 
 %if %{without xenU}
 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
-mv -f %{initrd_dir}/initrd%{dashxen} %{initrd_dir}/initrd%{dashxen}.old 2> /dev/null > /dev/null
-ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{dashxen}
 
-if [ -x /sbin/new-kernel-pkg ]; then
-	if [ -f /etc/pld-release ]; then
-		title=$(sed 's/^[0-9.]\+ //' < /etc/pld-release)
-	else
-		title='PLD Linux'
-	fi
+mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null}
+%{?alt_kernel:mv -f %{initrd_dir}/initrd-%{alt_kernel}{,.old} 2> /dev/null}
+ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
+%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd-%{alt_kernel}}
 
+if [ -x /sbin/new-kernel-pkg ]; then
 %if %{with xen0}
 	xen=$(readlink -f /boot/xen.gz)
 	xenver=${xen#/boot/xen-}
 	xenver=${xenver%.gz}
 
-	title="Xen $xenver / $title"
+	title="Xen $xenver / PLD Linux (%{pld_release})"
 	args=--multiboot=$xen
 %else
-	ext='%{?with_pax:pax}%{?with_grsec_full:grsecurity}%{?with_xen0:Xen0}%{?with_xenU:XenU}'
-	if [ "$ext" ]; then
-		title="$title $ext"
-	fi
+	title="PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
 %endif
 
 	/sbin/new-kernel-pkg $args --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "$title"
@@ -1431,8 +1425,10 @@
 %endif
 
 %post vmlinux
-mv -f /boot/vmlinux%{dashxen} /boot/vmlinux%{dashxen}.old 2> /dev/null > /dev/null
-ln -sf vmlinux-%{kernel_release} /boot/vmlinux%{dashxen}
+mv -f /boot/vmlinux{,.old} 2> /dev/null
+%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
+ln -sf vmlinux-%{kernel_release} /boot/vmlinux
+%{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
 
 %post libs
 %{_sbindir}/mkvmlinuz /boot/zImage-%{version}-%{release} %{version}-%{release}
@@ -1467,45 +1463,60 @@
 fi
 
 %post smp
+# - update /boot/vmlinuz
+# - update /boot/vmlinuz-%{alt_kernel}
 %ifarch ia64
-mv -f /boot/efi/vmlinuz /boot/efi/vmlinuz.old 2> /dev/null > /dev/null
+mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
+%{?alt_kernel:mv -f /boot/efi/vmlinuz-%{alt_kernel}{,.old} 2> /dev/null}
 %endif
-mv -f /boot/vmlinuz%{dashxen} /boot/vmlinuz%{dashxen}.old 2> /dev/null > /dev/null
-mv -f /boot/System.map%{dashxen} /boot/System.map%{dashxen}.old 2> /dev/null > /dev/null
+mv -f /boot/vmlinuz{,.old} 2> /dev/null
+%{?alt_kernel:mv -f /boot/vmlinuz-%{alt_kernel}{,.old} 2> /dev/null}
+mv -f /boot/System.map{,.old}  2> /dev/null
+%{?alt_kernel:mv -f /boot/System-%{alt_kernel}.map{,.old} 2> /dev/null}
+
 %ifarch ia64
-ln -sf vmlinuz-%{version}-%{release}smp /boot/efi/vmlinuz
+ln -sf vmlinuz-%{kernel_release}smp /boot/efi/vmlinuz
+%{?alt_kernel:ln -sf vmlinuz-%{kernel_release}smp /boot/efi/vmlinuz-%{alt_kernel}}
 %endif
-ln -sf vmlinuz-%{kernel_release}smp /boot/vmlinuz%{dashxen}
-ln -sf System.map-%{kernel_release}smp /boot/System.map%{dashxen}
+ln -sf vmlinuz-%{kernel_release}smp /boot/vmlinuz
+%{?alt_kernel:ln -sf vmlinuz-%{kernel_release}smp /boot/vmlinuz-%{alt_kernel}}
+ln -sf System.map-%{kernel_release}smp /boot/System.map
+%{?alt_kernel:ln -sf System.map-%{kernel_release}smp /boot/System.map}
 
 %depmod %{kernel_release}smp
 
 %if %{without xenU}
 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}smp.gz %{kernel_release}smp
-mv -f %{initrd_dir}/initrd%{dashxen} %{initrd_dir}/initrd%{dashxen}.old 2> /dev/null > /dev/null
-ln -sf initrd-%{kernel_release}smp.gz %{initrd_dir}/initrd%{dashxen}
+
+mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null}
+%{?alt_kernel:mv -f %{initrd_dir}/initrd-%{alt_kernel}{,.old} 2> /dev/null}
+ln -sf initrd-%{kernel_release}smp.gz %{initrd_dir}/initrd
+%{?alt_kernel:ln -sf initrd-%{kernel_release}smp.gz %{initrd_dir}/initrd-%{alt_kernel}}
 
 if [ -x /sbin/new-kernel-pkg ]; then
-	if [ -f /etc/pld-release ]; then
-		title=$(sed 's/^[0-9.]\+ //' < /etc/pld-release)
-	else
-		title='PLD Linux'
-	fi
+%if %{with xen0}
+	xen=$(readlink -f /boot/xen.gz)
+	xenver=${xen#/boot/xen-}
+	xenver=${xenver%.gz}
 
-	ext='%{?with_pax:pax}%{?with_grsec_full:grsecurity}%{?with_xen0:Xen0}%{?with_xenU:XenU}'
-	if [ "$ext" ]; then
-		title="$title $ext"
-	fi
+	title="Xen $xenver / PLD Linux (%{pld_release})"
+	args=--multiboot=$xen
+%else
+	title="PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
+%endif
+
+	/sbin/new-kernel-pkg $args --initrdfile=%{initrd_dir}/initrd-%{kernel_release}smp.gz --install %{kernel_release}smp --banner "$title"
 
-	/sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}smp.gz --install %{kernel_release}smp --banner "$title"
 elif [ -x /sbin/rc-boot ]; then
 	/sbin/rc-boot 1>&2 || :
 fi
 %endif
 
 %post smp-vmlinux
-mv -f /boot/vmlinux%{dashxen} /boot/vmlinux%{dashxen}.old 2> /dev/null > /dev/null
-ln -sf vmlinux-%{kernel_release}smp /boot/vmlinux%{dashxen}
+mv -f /boot/vmlinux{,.old} 2> /dev/null
+%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
+ln -sf vmlinux-%{kernel_release}smp /boot/vmlinux
+%{?alt_kernel:ln -sf vmlinux-%{kernel_release}smp /boot/vmlinux-%{alt_kernel}}
 
 %post smp-libs
 %{_sbindir}/mkvmlinuz /boot/zImage-%{version}-%{release}smp %{version}-%{release}smp
@@ -1891,6 +1902,11 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.441.2.1558.2.151  2008-04-27 18:23:54  glen
+- xen patch to allow building nvidia module
+- update symlinks handling, always /boot/vmlinuz points to last installed kernel, same for alt kernel
+- simplify by using alt_kernel instead of dashxen, xen macros
+
 Revision 1.441.2.1558.2.150  2008-04-27 10:48:48  glen
 - multiboot grubby install for xen0; rel 12
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/kernel.spec?r1=1.441.2.1558.2.150&r2=1.441.2.1558.2.151&f=u



More information about the pld-cvs-commit mailing list