Recomitting the previous changeset. The goal of this changeset is to separate the...
authorSapan Bhatia <sapanb@cs.princeton.edu>
Thu, 29 Oct 2009 17:15:07 +0000 (17:15 +0000)
committerSapan Bhatia <sapanb@cs.princeton.edu>
Thu, 29 Oct 2009 17:15:07 +0000 (17:15 +0000)
from the kernel version for rebootless updates.

kernel-2.6.spec

index 4a49d17..7a31ef3 100644 (file)
@@ -44,7 +44,12 @@ Summary: The Linux kernel (the core of the Linux operating system)
 # updated every time the PL kernel is updated.
 %define vini_pl_patch 561
 
-%define release vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define updatelevel 1
+
+# Tweak for being able to issue updates with the same kernel version, but with
+# a different package version.
+%define kernelrelease vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define packagerelease %{kernelrelease}%{?updatelevel:.%{updatelevel}}
 
 %{!?pldistro:%global pldistro planetlab}
 
@@ -104,17 +109,13 @@ Name: kernel
 Group: System Environment/Kernel
 License: GPLv2
 Version: %{rpmversion}
-# A kernel module update only. Very hacky, but does the job.
-# In the future, we'll split the kernel package into the main
-# kernel, and kernel modules, but for now, hacks of this kind
-# save on the operational overhead of a full kernel update.
-Release: %{release}
+Release: %{packagerelease}
 ExclusiveOS: Linux
 Provides: kernel = %{version}
 Provides: kernel-drm = 4.3.0
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-smp = %{rpmversion}-%{release}
-Provides: kernel-smp-%{_target_cpu} = %{rpmversion}-%{release}
+Provides: kernel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
 Prereq: %{kernel_prereq}
 Conflicts: %{kernel_dot_org_conflicts}
 Conflicts: %{package_conflicts}
@@ -176,7 +177,6 @@ Patch525: linux-2.6-525-sknid-elevator.patch
 Patch526: linux-2.6-526-tun-tap.patch
 Patch527: linux-2.6-527-iptables-classify-add-mark.patch
 Patch528: linux-2.6-528-enable-stdtun.patch
-
 Patch530: linux-2.6-530-built-by-support.patch
 Patch540: linux-2.6-540-oom-kill.patch
 Patch550: linux-2.6-550-raise-default-nfile-ulimit.patch
@@ -219,9 +219,9 @@ input and output, etc.
 Summary: Development package for building kernel modules to match the kernel.
 Group: System Environment/Kernel
 AutoReqProv: no
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-smp-devel = %{rpmversion}-%{release}
-Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{release}
+Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp-devel = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
 Prereq: /usr/bin/find
 
 %description devel
@@ -246,7 +246,7 @@ Summary: The Linux kernel compiled for unprivileged Xen guest VMs
 
 Group: System Environment/Kernel
 Provides: kernel = %{version}
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}xenU
+Provides: kernel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}xenU
 Prereq: %{kernel_prereq}
 Conflicts: %{kernel_dot_org_conflicts}
 Conflicts: %{package_conflicts}
@@ -270,9 +270,9 @@ the guest0 domain.
 Summary: Development package for building kernel modules to match the kernel.
 Group: System Environment/Kernel
 AutoReqProv: no
-Provides: kernel-xenU-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}xenU
-Provides: kernel-devel = %{rpmversion}-%{release}xenU
+Provides: kernel-xenU-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}xenU
+Provides: kernel-devel = %{rpmversion}-%{kernelrelease}xenU
 Prereq: /usr/sbin/hardlink, /usr/bin/find
 
 %description xenU-devel
@@ -290,9 +290,9 @@ This package includes a user mode version of the Linux kernel.
 %package uml-devel
 Summary: Development package for building kernel modules to match the UML kernel.
 Group: System Environment/Kernel
-Provides: kernel-uml-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}smp
-Provides: kernel-devel = %{rpmversion}-%{release}smp
+Provides: kernel-uml-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}smp
+Provides: kernel-devel = %{rpmversion}-%{kernelrelease}smp
 AutoReqProv: no
 Prereq: /usr/sbin/hardlink, /usr/bin/find
 
@@ -314,7 +314,7 @@ Summary: A placeholder RPM that provides kernel and kernel-drm
 Group: System Environment/Kernel
 Provides: kernel = %{version}
 Provides: kernel-drm = 4.3.0
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
+Provides: kernel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
 
 %description vserver
 VServers do not require and cannot use kernels, but some RPMs have
@@ -488,11 +488,11 @@ BuildKernel() {
       DevelLink=
     fi
 
-    KernelVer=%{version}-%{release}$Flavour
+    KernelVer=%{version}-%{kernelrelease}$Flavour
     echo BUILDING A KERNEL FOR $Flavour %{_target_cpu}...
 
     # make sure EXTRAVERSION says what we want it to say
-    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?patchlevel:.%{patchlevel}}-%{release}$Flavour/" Makefile
+    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?patchlevel:.%{patchlevel}}-%{kernelrelease}$Flavour/" Makefile
 
     # and now to start the build process
 
@@ -744,7 +744,7 @@ if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then
     fi
 fi
 
-[ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{release}
+[ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{kernelrelease}
 #/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL}
 # Older modutils do not support --package option
 /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL}
@@ -767,6 +767,7 @@ popd > /dev/null
 
 # ask for a reboot
 mkdir -p /etc/planetlab
+#touch /etc/planetlab/update-reboot
 
 %post devel
 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel