From 5033b9847c1e47d363fabff40ded7c3a9e273440 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Thu, 29 Oct 2009 17:15:07 +0000 Subject: [PATCH] Recomitting the previous changeset. The goal of this changeset is to separate the package version from the kernel version for rebootless updates. --- kernel-2.6.spec | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/kernel-2.6.spec b/kernel-2.6.spec index 4a49d17fc..7a31ef3d3 100644 --- a/kernel-2.6.spec +++ b/kernel-2.6.spec @@ -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 -- 2.47.0