--- kernel-2.4.spec.orig 2004-04-22 07:03:45.000000000 +0300 +++ kernel-2.4.spec 2004-05-12 21:20:05.000000000 +0300 @@ -19,12 +19,17 @@ # that the kernel isn't the stock RHL kernel, for example by # adding some text to the end of the version number. # +%define vrelease 1 +%define vsublevel 2 +%define vversion 1.%{vsublevel} +%define freevps_conflicts freevps-tools < 1.2 + %define release 20.EL %define sublevel 21 %define kversion 2.4.%{sublevel} # /usr/src/%{kslnk} -> /usr/src/linux-%{KVERREL} %define kslnk linux-2.4 -%define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} +%define KVERREL %{kversion}-freevps-%{PACKAGE_VERSION}-%{PACKAGE_RELEASE} # groups of related archs %define all_x86 i386 i686 athlon @@ -131,22 +136,22 @@ # %define kernel_prereq fileutils, modutils >= 2.4.18, initscripts >= 5.83, mkinitrd >= 3.2.6 - -Name: kernel +Name: kernel-freevps Group: System Environment/Kernel License: GPLv2 -Version: %{kversion} -Release: %{release} +Version: %{vversion} +Release: %{vrelease} ExclusiveArch: %{all_x86} %{all_x86_64} s390 s390x %{all_ppc64} ia64 ExclusiveOS: Linux Obsoletes: kernel-modules -Provides: kernel = %{version} +Provides: kernel-freevps = %{version} Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0 Autoreqprov: no Prereq: %{kernel_prereq} Conflicts: %{kernel_dot_org_conflicts} Conflicts: %{package_conflicts} Conflicts: %{nptl_conflicts} +Conflicts: %{freevps_conflicts} BuildPreReq: modutils >= 2.4.21-1, patch >= 2.5.4, bash >= 2.03, sh-utils, tar BuildPreReq: bzip2, findutils, dev, gzip, m4, perl @@ -544,6 +549,8 @@ Patch8240: linux-2.4.21-ppc64-ipr.patch Patch8250: linux-2.4.21-syscall-auditing.patch +### freevps +Patch10100: freevps-%{vversion}.gz # # 10000 to 20000 is for stuff that has to come last due to the @@ -632,12 +639,13 @@ %package smp Summary: The Linux kernel compiled for SMP machines. Group: System Environment/Kernel -Provides: kernel = %{version} +Provides: kernel-freevps = %{version} Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0 Prereq: %{kernel_prereq} Conflicts: %{kernel_dot_org_conflicts} Conflicts: %{package_conflicts} Conflicts: %{nptl_conflicts} +Conflicts: %{freevps_conflicts} Obsoletes: kernel-enterprise < 2.4.10 %description smp @@ -649,12 +657,13 @@ %package hugemem Summary: The Linux Kernel for machines with more than 16 Gigabytes of memory. Group: System Environment/Kernel -Provides: kernel = %{version} +Provides: kernel-freevps = %{version} Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0 Prereq: %{kernel_prereq} Conflicts: %{kernel_dot_org_conflicts} Conflicts: %{package_conflicts} Conflicts: %{nptl_conflicts} +Conflicts: %{freevps_conflicts} %description hugemem @@ -664,7 +673,7 @@ %package BOOT Summary: The version of the Linux kernel used on installation boot disks. Group: System Environment/Kernel -Provides: kernel = %{version} +Provides: kernel-freevps = %{version} Prereq: %{kernel_prereq} Conflicts: %{kernel_dot_org_conflicts} Conflicts: %{package_conflicts} @@ -676,10 +685,22 @@ be used for an installed system, as many features in this kernel are turned off because of the size constraints of floppy disks. +%package vps-kernel +Summary: The version of the Linux kernel used on installation inside vps +Group: System Environment/Kernel +Provides: kernel = %{kversion} +Conflicts: %{kernel_dot_org_conflicts} +Conflicts: %{package_conflicts} +Conflicts: %{nptl_conflicts} + +%description vps-kernel +This package includes a System.map actual kernel needed for install in vps. + + %prep -%setup -q -n %{name}-%{version} -c -cd linux-%{version} +%setup -q -n %{name}-%{kversion} -c +cd linux-%{kversion} # # Patches 0 through 100 are meant for core subsystem upgrades @@ -1613,6 +1634,10 @@ %patch10040 -p1 +# freevps patchset +%patch10100 -p1 + + # END OF PATCH APPLICATIONS cp %{SOURCE10} Documentation/ @@ -1630,7 +1655,7 @@ cp -fv $RPM_SOURCE_DIR/kernel-%{kversion}-ppc64.config configs # make sure the kernel has the sublevel we know it has... -perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile +perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{ksublevel}/" Makefile # get rid of unwanted files find . -name "*.orig" -exec rm -fv {} \; @@ -1641,17 +1666,17 @@ ### %build -cd linux-%{version} +cd linux-%{kversion} DependKernel() { # is this a special kernel we want to build? if [ -n "$2" ] ; then Config=$1-$2 - KernelVer=%{version}-%{release}$2 + KernelVer=%{kversion}-freevps-%{vversion}-%{vrelease}$2 echo MAKE DEPEND FOR $2 $1 KERNEL... else Config=$1 - KernelVer=%{version}-%{release} + KernelVer=%{kversion}-freevps-%{vversion}-%{vrelease} echo MAKE DEPEND FOR up $1 KERNEL... fi make -s mrproper @@ -1674,7 +1699,7 @@ # up before we copy the config files around. cp configs/kernel-%{kversion}-$Config.config .config # make sure EXTRAVERSION says what we want it to say - perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}$2/" Makefile + perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -freevps-%{vversion}-%{vrelease}$2/" Makefile # We do make oldconfig twice; otherwise, make oldconfig tends to get stuff # wrong in the light of cyclic dependencies @@ -1689,12 +1714,12 @@ BuildKernel() { if [ -n "$1" ] ; then Config=%{_target_cpu}-$1 - KernelVer=%{version}-%{release}$1 + KernelVer=%{kversion}-freevps-%{vversion}-%{vrelease} DependKernel %{_target_cpu} $1 echo BUILDING A KERNEL FOR $1 %{_target_cpu}... else - Config=%{_target_cpu} - KernelVer=%{version}-%{release} + Config=%{_target_cpu}%{dashtargetboard} + KernelVer=%{kversion}-freevps-%{vversion}-%{vrelease} DependKernel %{_target_cpu} echo BUILDING THE NORMAL KERNEL for %{_target_cpu}... fi @@ -1836,7 +1861,7 @@ %install -cd linux-%{version} +cd linux-%{kversion} mkdir -p $RPM_BUILD_ROOT/{boot,sbin} for i in `ls -d $RPM_BUILD_ROOT/lib/modules/*`; do @@ -2085,6 +2110,8 @@ %dir /lib/modules/%{KVERREL} /lib/modules/%{KVERREL}/unsupported +%files vps-kernel +/boot/System.map-%{KVERREL} %endif %if %{buildsmp} @@ -2164,7 +2191,7 @@ /usr/src/linux-%{KVERREL}/tmp_include_depends /usr/src/linux-%{KVERREL}/.depend /usr/src/linux-%{KVERREL}/.hdepend - +/usr/src/linux-%{KVERREL}/freevps %files doc %defattr(-,root,root) %doc linux-%{version}/Documentation/*