Setting tag linux-2.6-27-30
[linux-2.6.git] / kernel-2.6.spec
1 #
2 # $Id$
3 #
4 %define url $URL$
5
6 Summary: The Linux kernel (the core of the Linux operating system)
7
8 # What parts do we want to build?  We must build at least one kernel.
9 # These are the kernels that are built IF the architecture allows it.
10
11 %define buildup 1
12 %define builduml 0
13 %define buildxen 0
14 %define builddoc 0
15 %define headers 1
16
17 %{!?pldistro:%global pldistro planetlab}
18
19 # default is to search the config file after pldistro
20 # e.g. set
21 # kernel-SPECVARS := kernelconfig=planetlab
22 # to use the planetlab config from another pldistro 
23 # without having to manage symlinks
24 %{!?kernelconfig:%global kernelconfig %{pldistro}}
25
26 # Versions of various parts
27
28 # for module-tag.py - sublevel is used for the version (middle) part of tag names
29 %define name linux-2.6
30 %define module_version_varname sublevel
31 %define taglevel 30
32
33 #
34 # Polite request for people who spin their own kernel rpms:
35 # please modify the "release" field in a way that identifies
36 # that the kernel isn't the stock distribution kernel, for example by
37 # adding some text to the end of the version number.
38 #
39 %define sublevel 27
40 %define patchlevel 55
41 %define kversion 2.6.%{sublevel}
42 %define rpmversion 2.6.%{sublevel}%{?patchlevel:.%{patchlevel}}
43
44 %define vsversion 2.3.0.36.4
45
46 # Will go away when VServer supports NetNS in mainline. Currently, it must be 
47 # updated every time the PL kernel is updated.
48 %define vini_pl_patch 561
49
50 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
51
52 %define signmodules 0
53 %define make_target bzImage
54 #%if "%{distro}" == "Fedora" && %{distrorelease} >= 13
55 #%define KVERREL %{version}-%{release}
56 #%else
57 %define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}
58 #%endif
59
60 # Override generic defaults with per-arch defaults
61
62 %define image_install_path boot
63
64 #
65 # Three sets of minimum package version requirements in the form of Conflicts:
66 # to versions below the minimum
67 #
68
69 #
70 # First the general kernel 2.6 required versions as per
71 # Documentation/Changes
72 #
73 %define kernel_dot_org_conflicts  ppp <= 2.3.15, pcmcia-cs <= 3.1.20, isdn4k-utils <= 3.0, mount < 2.10r-5, nfs-utils < 1.0.3, e2fsprogs < 1.29, util-linux < 2.10, jfsutils < 1.0.14, reiserfsprogs < 3.6.3, xfsprogs < 2.1.0, procps < 2.0.9, oprofile < 0.5.3
74
75
76 # Then a series of requirements that are distribution specific, either 
77 # because we add patches for something, or the older versions have 
78 # problems with the newer kernel or lack certain things that make 
79 # integration in the distro harder than needed.
80 #
81 %define package_conflicts  cipe < 1.4.5, kudzu <= 0.92, initscripts < 7.23, dev < 3.2-7, iptables < 1.2.5-3, bcm5820 < 1.81, nvidia-rh72 <= 1.0 selinux-policy-targeted < 1.23.16-1
82
83 #
84 # Several packages had bugs in them that became obvious when the NPTL
85 # threading code got integrated.
86 #
87 %define nptl_conflicts SysVinit < 2.84-13, pam < 0.75-48, vixie-cron < 3.0.1-73, privoxy < 3.0.0-8, spamassassin < 2.44-4.8.x,  cups < 1.1.17-13
88
89 #
90 # The ld.so.conf.d file we install uses syntax older ldconfig's don't grok.
91 #
92
93 # MEF commented out
94 #define xen_conflicts glibc < 2.3.5-1
95
96 #
97 # Packages that need to be installed before the kernel is, because the %post
98 # scripts use them.
99 #
100 %define kernel_prereq  fileutils, module-init-tools, initscripts >= 5.83, mkinitrd >= 3.5.5
101
102 Vendor: PlanetLab
103 Packager: PlanetLab Central <support@planet-lab.org>
104 Distribution: PlanetLab %{plrelease}
105 URL: %(echo %{url} | cut -d ' ' -f 2)
106
107 Name: kernel
108 Group: System Environment/Kernel
109 License: GPLv2
110 Version: %{rpmversion}
111 Release: %{release}
112 ExclusiveOS: Linux
113
114 %if "%{distro}" == "Fedora" && %{distrorelease} >= 12
115 # this is a big and dirty work around for plymouth's dependencies on
116 # Fedora 12. we don't even need plymouth on nodes.
117 Provides: kernel = 2.6.29.1
118 %else
119 Provides: kernel = %{version}
120 %endif
121
122 Provides: kernel = %{version}
123 Provides: kernel-drm = 4.3.0
124 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
125 Provides: kernel-smp = %{rpmversion}-%{release}
126 Provides: kernel-smp-%{_target_cpu} = %{rpmversion}-%{release}
127 Prereq: %{kernel_prereq}
128 Conflicts: %{kernel_dot_org_conflicts}
129 Conflicts: %{package_conflicts}
130 Conflicts: %{nptl_conflicts}
131 # We can't let RPM do the dependencies automatic because it'll then pick up
132 # a correct but undesirable perl dependency from the module headers which
133 # isn't required for the kernel proper to function
134 AutoReqProv: no
135
136 #
137 # List the packages used during the kernel build
138 #
139 BuildPreReq: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar
140 BuildPreReq: bzip2, findutils, gzip, m4, perl, make >= 3.78, gnupg, diffutils
141 BuildRequires: gcc >= 3.3.3, binutils >= 2.12, redhat-rpm-config
142 BuildConflicts: rhbuildsys(DiskFree) < 500Mb
143
144
145 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
146
147 Source11: %{kernelconfig}-%{kversion}-i686.config
148 Source12: %{kernelconfig}-%{kversion}-x86_64.config
149 %if %{builduml}
150 Source20: %{kernelconfig}-%{kversion}-i686-uml.config
151 %endif
152 %if %{buildxen}
153 Source30: %{kernelconfig}-%{kversion}-i686-xenU.config
154 %endif
155
156 # Mainline patches
157 %if "0%{patchlevel}"
158 Patch000: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-%{rpmversion}.bz2
159 %endif
160
161 Patch010: linux-2.6-010-e1000e-ich10lan.patch
162 Patch017: linux-2.6-017-bnx2.patch
163
164 Patch100: linux-2.6-100-build-nonintconfig.patch
165
166 # Linux-VServer
167 Patch200: patch-%{rpmversion}-vs%{vsversion}.diff
168 Patch220: delta-ptrace-fix01.diff
169 Patch230: delta-pivot-fix01.diff
170 Patch240: delta-killperm-fix01.diff
171 Patch241: delta-vx_rss_avail.patch
172
173 # IP sets
174 Patch250: linux-2.6-250-ipsets.patch
175
176 # PlanetLab
177 Patch500: linux-2.6-500-vserver-filesharing.patch
178 Patch510: linux-2.6-510-ipod.patch
179 Patch521: linux-2.6-521-packet-tagging.patch
180 Patch522: linux-2.6-522-iptables-connection-tagging.patch
181 Patch523: linux-2.6-523-raw-sockets.patch
182 Patch524: linux-2.6-524-peercred.patch
183 Patch525: linux-2.6-525-sknid-elevator.patch
184 Patch527: linux-2.6-527-iptables-classify-add-mark.patch
185 Patch530: linux-2.6-530-built-by-support.patch
186 Patch540: linux-2.6-540-oom-kill.patch
187 Patch550: linux-2.6-550-raise-default-nfile-ulimit.patch
188 Patch560: linux-2.6-560-mmconf.patch
189 Patch570: linux-2.6-570-tagxid.patch
190 Patch580: linux-2.6-580-show-proc-virt.patch
191 Patch590: linux-2.6-590-dcookies-mm.patch
192 Patch591: linux-2.6-591-chopstix-intern.patch
193 Patch640: linux-2.6-640-netlink-audit-hack.patch
194 Patch650: linux-2.6-650-hangcheck-reboot.patch
195 Patch660: linux-2.6-660-nmi-watchdog-default.patch
196 Patch680: linux-2.6-680-htb-hysteresis-tso.patch
197 # Patch690: linux-2.6-690-web100.patch
198 Patch700: linux-2.6-700-egre.patch
199 Patch710: linux-2.6-710-avoid-64bits-addr-pcmcia.patch
200
201 # Ext4
202 Patch800: linux-2.6-800-rename-ext4dev-to-ext4.patch
203
204 #Patch900: linux-2.6-900-ext3_mount_default_to_barrier.patch
205 #Patch910: linux-2.6-910-support_barriers_on_single_device_dm_devices.patch
206
207 # ACPI: Idle C-states disabled by max_cstate should not disable the TSC
208 Patch920: linux-2.6-920-cstate.patch
209
210 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
211
212 %description
213 The kernel package contains the Linux kernel (vmlinuz), the core of any
214 Linux operating system.  The kernel handles the basic functions
215 of the operating system:  memory allocation, process allocation, device
216 input and output, etc.
217 Configured with kernelconfig=%{kernelconfig}
218
219 %package devel
220 Summary: Development package for building kernel modules to match the kernel.
221 Group: System Environment/Kernel
222 AutoReqProv: no
223 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}
224 Provides: kernel-smp-devel = %{rpmversion}-%{release}
225 Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{release}
226 Prereq: /usr/bin/find
227
228 %description devel
229 This package provides kernel headers and makefiles sufficient to build modules
230 against the kernel package.
231
232
233 %package doc
234 Summary: Various documentation bits found in the kernel source.
235 Group: Documentation
236
237 %description doc
238 This package contains documentation files from the kernel
239 source. Various bits of information about the Linux kernel and the
240 device drivers shipped with it are documented in these files.
241
242 You'll want to install this package if you need a reference to the
243 options that can be passed to Linux kernel modules at load time.
244
245 %package xenU
246 Summary: The Linux kernel compiled for unprivileged Xen guest VMs
247
248 Group: System Environment/Kernel
249 Provides: kernel = %{version}
250 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}xenU
251 Prereq: %{kernel_prereq}
252 Conflicts: %{kernel_dot_org_conflicts}
253 Conflicts: %{package_conflicts}
254 Conflicts: %{nptl_conflicts}
255
256 # MEF commented out 
257 # Conflicts: %{xen_conflicts}
258
259 # We can't let RPM do the dependencies automatic because it'll then pick up
260 # a correct but undesirable perl dependency from the module headers which
261 # isn't required for the kernel proper to function
262 AutoReqProv: no
263
264 %description xenU
265 This package includes a version of the Linux kernel which
266 runs in Xen unprivileged guest VMs.  This should be installed
267 both inside the unprivileged guest (for the modules) and in
268 the guest0 domain.
269
270 %package xenU-devel
271 Summary: Development package for building kernel modules to match the kernel.
272 Group: System Environment/Kernel
273 AutoReqProv: no
274 Provides: kernel-xenU-devel-%{_target_cpu} = %{rpmversion}-%{release}
275 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}xenU
276 Provides: kernel-devel = %{rpmversion}-%{release}xenU
277 Prereq: /usr/sbin/hardlink, /usr/bin/find
278
279 %description xenU-devel
280 This package provides kernel headers and makefiles sufficient to build modules
281 against the kernel package.
282
283 %package uml
284 Summary: The Linux kernel compiled for use in user mode (User Mode Linux).
285
286 Group: System Environment/Kernel
287
288 %description uml
289 This package includes a user mode version of the Linux kernel.
290
291 %package uml-devel
292 Summary: Development package for building kernel modules to match the UML kernel.
293 Group: System Environment/Kernel
294 Provides: kernel-uml-devel-%{_target_cpu} = %{rpmversion}-%{release}
295 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}smp
296 Provides: kernel-devel = %{rpmversion}-%{release}smp
297 AutoReqProv: no
298 Prereq: /usr/sbin/hardlink, /usr/bin/find
299
300 %description uml-devel
301 This package provides kernel headers and makefiles sufficient to build modules
302 against the User Mode Linux kernel package.
303
304 %package uml-modules
305 Summary: The Linux kernel modules compiled for use in user mode (User Mode Linux).
306
307 Group: System Environment/Kernel
308
309 %description uml-modules
310 This package includes a user mode version of the Linux kernel modules.
311
312 %package vserver
313 Summary: A placeholder RPM that provides kernel and kernel-drm
314
315 Group: System Environment/Kernel
316 Provides: kernel = %{version}
317 Provides: kernel-drm = 4.3.0
318 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
319
320 %description vserver
321 VServers do not require and cannot use kernels, but some RPMs have
322 implicit or explicit dependencies on the "kernel" package
323 (e.g. tcpdump). This package installs no files but provides the
324 necessary dependencies to make rpm and yum happy.
325
326 %package headers
327 Summary: Kernel header
328 Group: System Environment/Kernel
329
330 %description headers
331 This package contains the sanitized kernel headers.
332
333 %prep
334 # First we unpack the kernel tarball.
335 # If this isn't the first make prep, we use links to the existing clean tarball
336 # which speeds things up quite a bit.
337 if [ ! -d kernel-%{kversion}/vanilla ]; then
338   # Ok, first time we do a make prep.
339   rm -f pax_global_header
340 %setup -q -n %{name}-%{kversion} -c
341   mv linux-%{kversion} vanilla
342 else
343   # We already have a vanilla dir.
344   cd kernel-%{kversion}
345 fi
346
347 KERNEL_PREVIOUS=vanilla
348 # Dark RPM-magic to apply each patch to a hardlinked copy of the tree.
349 %define ApplyPatch() \
350   rm -fr linux-%{kversion}-%1                           \
351   cp -al $KERNEL_PREVIOUS linux-%{kversion}-%1          \
352   patchflag=-p1                                         \
353   test "%2" != "%%2" && patchflag="%2"                  \
354   PATCH="%{expand:%{PATCH%1}}"                          \
355   if test ! -e "$PATCH"; then                           \
356     echo "Patch %1 does not exist!"                     \
357     exit 1                                              \
358   fi                                                    \
359   case "$PATCH" in                                      \
360     *.bz2)  bzcat "$PATCH";;                            \
361     *.gz)   zcat "$PATCH";;                             \
362     *)      cat "$PATCH";;                              \
363   esac | patch -F1 -s -d linux-%{kversion}-%1 $patchflag \
364   KERNEL_PREVIOUS=linux-%{kversion}-%1
365
366 # This is where the patches get applied
367 %if 0%{?patchlevel}
368 %ApplyPatch 0
369 %endif
370
371 %ApplyPatch 10
372 %ApplyPatch 17
373
374 %ApplyPatch 100
375
376 # vserver patch
377 %ApplyPatch 200
378 %ApplyPatch 220
379 %ApplyPatch 230
380 %ApplyPatch 240
381 %ApplyPatch 241
382
383 %ApplyPatch 250
384
385 %ApplyPatch 500
386 %ApplyPatch 510
387
388 # VNET+ series
389 %ApplyPatch 521
390 %ApplyPatch 522
391 %ApplyPatch 523
392 %ApplyPatch 524
393 %ApplyPatch 525
394 %ApplyPatch 527
395
396 %ApplyPatch 530
397 %ApplyPatch 540
398 %ApplyPatch 550
399 %ApplyPatch 560
400 %ApplyPatch 570
401 %ApplyPatch 580
402 %ApplyPatch 590
403 %ApplyPatch 591
404 %ApplyPatch 640
405 %ApplyPatch 650
406 %ApplyPatch 660
407 %ApplyPatch 680
408 %ApplyPatch 700
409 %ApplyPatch 710
410
411 %ApplyPatch 800
412
413 %if 0
414 %ApplyPatch 900
415 %ApplyPatch 910
416 %endif
417
418 %ApplyPatch 920
419
420 # NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
421 # break with later patches.
422
423 %if 0%{?with_netns}
424 %ApplyPatch %vini_pl_patch
425 %endif
426
427 rm -fr linux-%{kversion}
428 ln -sf $KERNEL_PREVIOUS linux-%{kversion}
429 cd linux-%{kversion}
430
431
432 # make sure the kernel has the sublevel we know it has. This looks weird
433 # but for -pre and -rc versions we need it since we only want to use
434 # the higher version when the final kernel is released.
435 perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile
436 perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -prep/" Makefile
437
438 # get rid of unwanted files resulting from patch fuzz
439 find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
440
441
442 ###
443 ### build
444 ###
445 %build
446
447 BuildKernel() {
448     MakeTarget=$1
449     Arch=$2
450     Flavour=$3
451
452     rm -rf linux-%{_target_cpu}-%{kversion}$Flavour
453     cp -rl linux-%{kversion}/ linux-%{_target_cpu}-%{kversion}$Flavour
454     cd linux-%{_target_cpu}-%{kversion}$Flavour
455
456     # Pick the right config file for the kernel we're building
457     if [ -n "$Flavour" ] ; then
458       Config=%{kernelconfig}-%{kversion}-%{_target_cpu}-$Flavour.config
459       DevelDir=/usr/src/kernels/%{KVERREL}-$Flavour-%{_target_cpu}
460       DevelLink=/usr/src/kernels/%{KVERREL}$Flavour-%{_target_cpu}
461     else
462       Config=%{kernelconfig}-%{kversion}-%{_target_cpu}.config
463       DevelDir=/usr/src/kernels/%{KVERREL}-%{_target_cpu}
464       DevelLink=
465     fi
466
467     KernelVer=%{version}-%{release}$Flavour
468     echo BUILDING A KERNEL FOR $Flavour %{_target_cpu}...
469
470     # make sure EXTRAVERSION says what we want it to say
471     perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?patchlevel:.%{patchlevel}}-%{release}$Flavour/" Makefile
472
473     # and now to start the build process
474
475     make -s mrproper
476     cp %{_sourcedir}/$Config .config
477
478     #Arch=`head -1 .config | cut -b 3-`
479     echo USING ARCH=$Arch
480
481     make -s ARCH=$Arch nonint_oldconfig < /dev/null > /dev/null
482     make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget
483     make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1
484 %if %{headers}
485     make -s ARCH=$Arch INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr
486     find $RPM_BUILD_ROOT/%{_includedir} -name \*.cmd -delete
487     rm -f $RPM_BUILD_ROOT/%{_includedir}/{..,.}{check,install}*
488 %endif
489
490     # Start installing the results
491
492 %if "%{_enable_debug_packages}" == "1"
493     mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/boot
494 %endif
495     mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
496     install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
497     install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
498     if [ -f arch/$Arch/boot/bzImage ]; then
499       cp arch/$Arch/boot/bzImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
500     fi
501     if [ -f arch/$Arch/boot/zImage.stub ]; then
502       cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
503     fi
504     if [ "$Flavour" = "uml" ] ; then
505         install -D -m 755 linux $RPM_BUILD_ROOT/%{_bindir}/linux
506     fi
507
508     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
509     make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer
510
511     # And save the headers/makefiles etc for building modules against
512     #
513     # This all looks scary, but the end result is supposed to be:
514     # * all arch relevant include/ files
515     # * all Makefile/Kconfig files
516     # * all script/ files
517
518     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
519     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
520     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
521     (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
522     # dirs for additional modules per module-init-tools, kbuild/modules.txt
523     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
524     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
525     # first copy everything
526     cp --parents `find  -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build 
527         cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
528     if [ "$Flavour" = "uml" ] ; then
529       cp --parents -a `find arch/um -name include` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
530     fi
531     # then drop all but the needed Makefiles/Kconfig files
532     rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
533     rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
534     rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
535     cp arch/%{_arch}/kernel/asm-offsets.s $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/kernel || :
536     cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
537     cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
538     if [ -d arch/%{_arch}/scripts ]; then
539       cp -a arch/%{_arch}/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
540     fi
541     if [ -f arch/%{_arch}/*lds ]; then
542       cp -a arch/%{_arch}/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
543     fi
544     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
545     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
546     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
547     cd include
548     cp -a acpi config keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video asm asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
549     cp -a `readlink asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
550     if [ "$Arch" = "x86_64" ]; then
551       cp -a asm-x86 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
552     fi
553 %if %{buildxen}
554     if [ "$Flavour" = "xenU" ]; then
555       cp -a xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
556       cp -a asm-x86 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
557     fi
558 %endif
559 %if %{builduml}
560     if [ "$Flavour" = "uml" ] ; then
561       cp -a `readlink -f asm/arch` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
562     fi
563 %endif
564     # While arch/powerpc/include/asm is still a symlink to the old
565     # include/asm-ppc{64,} directory, include that in kernel-devel too.
566     if [ "$Arch" = "powerpc" -a -r ../arch/powerpc/include/asm ]; then
567       cp -a `readlink ../arch/powerpc/include/asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
568       mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include
569       pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include
570       ln -sf ../../../include/asm-ppc* asm
571       popd
572     fi
573
574     # Make sure the Makefile and version.h have a matching timestamp so that
575     # external modules can be built
576     touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/version.h
577     touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h
578     cd ..
579
580     #
581     # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
582     #
583 %if "%{_enable_debug_packages}" == "1"
584     mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer
585     cp vmlinux $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer
586 %endif
587 %if %{buildxen}
588     if [ -f vmlinuz ]; then
589       cp vmlinuz $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
590     fi
591 %endif
592
593     find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
594
595     # mark modules executable so that strip-to-file can strip them
596     cat modnames | xargs chmod u+x
597
598     # remove files that will be auto generated by depmod at rpm -i time
599     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.*
600
601     # Move the devel headers out of the root file system
602     mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
603     mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
604     ln -sf ../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
605     [ -z "$DevelLink" ] || ln -sf `basename $DevelDir` $RPM_BUILD_ROOT/$DevelLink
606 }
607
608 ###
609 # DO it...
610 ###
611
612 # prepare directories
613 rm -rf $RPM_BUILD_ROOT
614 mkdir -p $RPM_BUILD_ROOT/boot
615
616 %if "%{_target_cpu}" == "x86_64"
617 %define kernel_arch %{_target_cpu}
618 %endif
619 %if "%{_target_cpu}" == "i586"
620 %define kernel_arch i386
621 %endif
622 %if "%{_target_cpu}" == "i686"
623 %define kernel_arch i386
624 %endif
625
626 %if %{buildup}
627 BuildKernel %make_target %kernel_arch
628 %endif
629
630 %ifarch i686
631 %if %{builduml}
632 BuildKernel linux um uml
633 %endif
634
635 %if %{buildxen}
636 BuildKernel vmlinuz %kernel_arch xenU
637 %endif
638 %endif
639
640 ###
641 ### install
642 ###
643
644 %install
645
646 cd vanilla
647
648 %if %{buildxen} && "%{_target_cpu}" == "i686"
649 mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
650 rm -f $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
651 cat > $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf <<\EOF
652 # This directive teaches ldconfig to search in nosegneg subdirectories
653 # and cache the DSOs there with extra bit 0 set in their hwcap match
654 # fields.  In Xen guest kernels, the vDSO tells the dynamic linker to
655 # search in nosegneg subdirectories and to match this extra hwcap bit
656 # in the ld.so.cache file.
657 hwcap 0 nosegneg
658 EOF
659 chmod 444 $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
660 %endif
661
662 %if %{builddoc}
663 mkdir -p $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}/Documentation
664
665 # sometimes non-world-readable files sneak into the kernel source tree
666 chmod -R a+r *
667 # copy the source over
668 tar cf - Documentation | tar xf - -C $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}
669 %endif
670
671 ###
672 ### clean
673 ###
674
675 %clean
676 rm -rf $RPM_BUILD_ROOT
677
678 ###
679 ### scripts
680 ###
681
682 # load the loop module for upgrades...in case the old modules get removed we have
683 # loopback in the kernel so that mkinitrd will work.
684 %pre
685 /sbin/modprobe loop 2> /dev/null > /dev/null  || :
686 exit 0
687
688 %post
689 if [ -f /etc/sysconfig/kernel ]; then
690   /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel
691 fi
692
693 # trick mkinitrd in case the current environment does not have device mapper
694 rootdev=$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab)
695 if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then
696     if [ ! -f $rootdev ]; then
697         fake_root_lvm=1
698         mkdir -p $(dirname $rootdev)
699         touch $rootdev
700     fi
701 fi
702
703 [ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{release}
704 #/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL}
705 # Older modutils do not support --package option
706 /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL}
707
708 # remove fake handle
709 if [ -n "$fake_root_lvm" ]; then
710     rm -f $rootdev
711 fi
712
713 # make some useful links
714 pushd /boot > /dev/null ; {
715         ln -sf config-%{KVERREL} config
716         ln -sf config-%{KVERREL} configsmp
717         ln -sf initrd-%{KVERREL}.img initrd-boot
718         ln -sf initrd-%{KVERREL}.img initrd-bootsmp
719         ln -sf vmlinuz-%{KVERREL} kernel-boot
720         ln -sf vmlinuz-%{KVERREL} kernel-bootsmp
721 }
722 popd > /dev/null
723
724 # ask for a reboot
725 mkdir -p /etc/planetlab
726 touch /etc/planetlab/update-reboot
727
728 %post devel
729 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
730 if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
731   pushd /usr/src/kernels/%{KVERREL}-%{_target_cpu} > /dev/null
732   /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
733   popd > /dev/null
734 fi
735
736 %post xenU
737 [ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade
738 [ ! -x /sbin/ldconfig ] || /sbin/ldconfig -X
739
740 %post xenU-devel
741 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
742 if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
743   pushd /usr/src/kernels/%{KVERREL}-xenU-%{_target_cpu} > /dev/null
744   /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
745   popd > /dev/null
746 fi
747
748 %post uml-modules
749 depmod -ae %{KVERREL}uml
750
751 %preun
752 /sbin/modprobe loop 2> /dev/null > /dev/null  || :
753 /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}
754
755 %preun xenU
756 /sbin/modprobe loop 2> /dev/null > /dev/null  || :
757 /sbin/new-kernel-pkg --rmmoddep --remove %{KVERREL}xenU
758
759 %preun uml-modules
760 rm -f /lib/modules/%{KVERREL}uml/modules.*
761
762
763 ###
764 ### file lists
765 ###
766
767 %if %{buildup}
768 %files 
769 %defattr(-,root,root)
770 /%{image_install_path}/vmlinuz-%{KVERREL}
771 /boot/System.map-%{KVERREL}
772 /boot/config-%{KVERREL}
773 %dir /lib/modules/%{KVERREL}
774 /lib/modules/%{KVERREL}/kernel
775 /lib/modules/%{KVERREL}/build
776 /lib/modules/%{KVERREL}/source
777 /lib/modules/%{KVERREL}/extra
778 /lib/modules/%{KVERREL}/updates
779
780 %files devel
781 %defattr(-,root,root)
782 %verify(not mtime) /usr/src/kernels/%{KVERREL}-%{_target_cpu}
783 %endif
784
785 %if %{builduml} && "%{_target_cpu}" == "i686"
786 %files uml
787 %defattr(-,root,root)
788 %{_bindir}/linux
789
790 %files uml-devel
791 %defattr(-,root,root)
792 %verify(not mtime) /usr/src/kernels/%{KVERREL}-uml-%{_target_cpu}
793 /usr/src/kernels/%{KVERREL}uml-%{_target_cpu}
794
795 %files uml-modules
796 %defattr(-,root,root)
797 /boot/System.map-%{KVERREL}uml
798 /boot/config-%{KVERREL}uml
799 %dir /lib/modules/%{KVERREL}uml
800 /lib/modules/%{KVERREL}uml/kernel
801 /lib/modules/%{KVERREL}uml/build
802 /lib/modules/%{KVERREL}uml/source
803 /lib/modules/%{KVERREL}uml/extra
804 /lib/modules/%{KVERREL}uml/updates
805 %endif
806
807 %if %{buildxen} && "%{_target_cpu}" == "i686"
808 %files xenU
809 %defattr(-,root,root)
810 /%{image_install_path}/vmlinuz-%{KVERREL}xenU
811 /boot/System.map-%{KVERREL}xenU
812 /boot/config-%{KVERREL}xenU
813 %dir /lib/modules/%{KVERREL}xenU
814 /lib/modules/%{KVERREL}xenU/kernel
815 /lib/modules/%{KVERREL}xenU/build
816 /lib/modules/%{KVERREL}xenU/source
817 /lib/modules/%{KVERREL}xenU/extra
818 /lib/modules/%{KVERREL}xenU/updates
819 /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
820
821 %files xenU-devel
822 %defattr(-,root,root)
823 %verify(not mtime) /usr/src/kernels/%{KVERREL}-xenU-%{_target_cpu}
824 /usr/src/kernels/%{KVERREL}xenU-%{_target_cpu}
825 %endif
826
827 %files vserver
828 %defattr(-,root,root)
829 # no files
830
831 # only some architecture builds need kernel-doc
832
833 %if %{builddoc}
834 %files doc
835 %defattr(-,root,root)
836 %{_datadir}/doc/kernel-doc-%{kversion}/Documentation/*
837 %dir %{_datadir}/doc/kernel-doc-%{kversion}/Documentation
838 %dir %{_datadir}/doc/kernel-doc-%{kversion}
839 %endif
840
841 %if %{headers}
842 %files headers
843 %defattr(-,root,root)
844 %dir %{_includedir}
845 %{_includedir}/*
846 %endif
847
848 %changelog
849 * Thu Nov 18 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-30
850 - Boot on Dell R410
851 - Enable some config options
852
853 * Fri Oct 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-29
854 - bump to 2.6.27.55
855
856 * Tue Oct 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-28
857 - bump to 2.6.27.54
858
859 * Fri Sep 24 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - linux-2.6-27-27
860 - f12 workaround
861
862 * Sun Aug 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-26
863 - the check_stack_guard_page() has, under certain circumstances, side-effects which can not easily be undone in case the vx_rss_avail() fails
864
865 * Fri Aug 27 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-25
866 - Bump to 2.6.27.53
867
868 * Fri Aug 20 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-24
869 - Bump to 2.6.27.52
870
871 * Wed Aug 18 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-23
872 - Pick d7824370e26325c881b665350ce64fb0a4fde24a and 11ac552477e32835cb6970bf0a70c210807f5673 from Linus's tree
873
874 * Sun Aug 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-22
875 - Test 52-rc2
876
877 * Fri Aug 13 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-21
878 - Bump to 2.6.27.51 and include 2.6.27.51-rc1 patchset to test
879
880 * Wed Aug 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-20
881 - Fix wrong hash
882
883 * Tue Aug 10 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-19
884 - bump to 2.6.27.50
885
886 * Mon Aug 02 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-18
887 - bump to 2.6.27.49
888
889 * Wed Jul 14 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-17
890 - Enable CONFIG_CGROUP_SCHED instead of CONFIG_USER_SCHED for 64bit kernels
891
892 * Fri Jul 09 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-16
893 - support other Broadcom NetXtreme II BCM 5709 dual GbE variants
894
895 * Mon Jul 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-15
896 - Bump to 2.6.27.48
897
898 * Tue Jun 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-14
899 - fix softlock problems that causes kernel panics
900
901 * Thu May 27 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-13
902 - Bump to 2.6.27.47
903
904 * Wed May 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-12
905 - support 82567LM-3 Gigabit Network devices
906
907 * Wed May 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-11
908 - Drop VServer version string from package name otherwise RPM refuses to upgrade to newer tagged version saying that 0.36.8.9 > 0.36.4.10
909
910 * Tue May 04 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-10
911 - Revert to vs2.3.0.36.4
912
913 * Tue Apr 27 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-9
914 - config for wextoolbox OK
915 - upgrade to patch-2.6.27.46-vs2.3.0.36.8
916 - turn off delta-pivot-fix01.diff (which was tweaked btw)
917
918 * Wed Apr 07 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-8
919 - chopstix fixes & cleanups
920
921 * Fri Apr 02 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-7
922 - Update to 2.6.27.46
923
924 * Mon Feb 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-6
925 - support Ext4 in order to boot f12
926 - fix "vcontext: pivot_root(): Invalid argument errors" while creating a guest with f12
927
928 * Mon Feb 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-5
929 - Update to 2.6.27.45
930
931 * Mon Feb 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-4
932 - Tagging trunk
933
934 * Tue May 12 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-3
935 - new tuntap patch available but not enabled
936 - mac80211 and iwlwifi are now mainstream, no ext. sources anymore
937 - new egre patch
938 - various changes in the config about netns and scheduler ...
939 - gnuradio gets a specific config
940 - enable patch about 64bits adresses and cardbus
941
942 * Tue Mar 24 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-2
943 - cleaned up obsolete (2.6.22) configs
944 - added gnuradio config links
945 - fix for building headers package (remove .cmd files)
946
947 * Tue Mar 10 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-1
948 - untested feature-complete version, but for the scheduler that is still missing
949
950 * Thu Jan 08 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-32
951 - support building on fedora 10
952
953 * Tue Dec 02 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-31
954 - add patches for m-lab and drl
955
956 * Tue Nov 11 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-30
957 - Use Intel's e1000e driver.
958
959 * Thu Oct 02 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-29
960 - added drivers for OPTION's globetrotter (gt 3g+ emea) umts cards
961 - + cleanup outdated configs
962
963 * Wed Sep 17 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-28
964 - Recovering a hunk that I accidentally ommited out of the last commit. Should not entail retesting, because the commits
965 - were unrelated.
966
967 * Sun Sep 14 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-27
968 - Fixing the accounting issue that causes certain connections to be misaccounted, and that causes NM/peercreds to
969 - intermittently break.
970
971 * Wed Sep 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-26
972 - patch for building on f9/gcc-4.3, no functional change on other distros
973
974 * Sun Aug 17 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-25
975 - FUSE support.
976
977 * Tue Aug 12 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-24
978 - Enable nmi watchdog by default.
979
980 * Mon Aug 04 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-23
981 - Fixed a bug in my previous commit.
982
983 * Mon Aug 04 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-22
984 - * 1 fix for using udp/listening sockets via raw
985 - * 1 fix to help codemux divide traffic in PlanetFlow
986
987 * Fri Aug 01 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-21
988 - Codemux calls setsockopt/SO_PEERCRED to set peer credentials on a socket, so that the connections it proxies to its clients are tagged for PlanetFlow. This hunk got lost somewhere along the way.
989
990 * Thu Jul 31 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-20
991 - Removed a debugging statement. Shows up a lot in the debug logs.
992
993 * Wed Jul 30 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-19
994 - Unbroke peercred setting.
995
996 * Mon Jul 28 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-18
997 - Now you can write your own TCP using packet sockets. As a side effect, tcptraceroute runs to completion including the
998 - last hop.
999
1000 * Mon Jul 28 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-17
1001 - Optimize packet socket support to eliminate a packet copy.
1002
1003 * Sun Jul 27 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-16
1004 - Missed this header file, which broke the compile.
1005 - I'll be doing another tag to include an optimization I left out of this version. This version is for Build only.
1006
1007 * Sun Jul 27 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-15
1008 - Fixes to tcpdump-related problems reported recently.
1009
1010 * Wed Jul 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-14
1011 - added fix to process visibility so when ncontext/vcontext  run netstat in
1012 - xid=1, it can see all ports &  processes.
1013
1014 * Mon Jul 21 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-13
1015 - fix for tcpdump/tcp payloads
1016
1017 * Tue Jul 15 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-12
1018 - * Bugfix in tuntap
1019 - * Attempt to fix TCP-payload-related problems with tcpdump
1020
1021 * Wed Jul 09 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-11
1022 - * Split up VNET+ module into its component patches
1023 - * Added tun/tap support
1024
1025 * Tue Jul 08 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-10
1026 - Filling a statically allocated buffer cannot fail, right?
1027
1028 * Wed Jun 25 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-9
1029 - Enable the hangcheck timer driver, and build it in to the kernel.
1030 - Dump relevant data on the scheduler bug instead of BUGing.
1031
1032 * Sat Jun 07 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-8
1033 - * Partial fix for the UDP-packet-pollution problem
1034 - * Support for PF_PACKET sockets
1035 - * Support for SOCK_PACKET sockets
1036 - * Disabled Chopstix with mutexes
1037 - * Tested VNET+ under heavy loads
1038
1039
1040
1041 * Fri May 16 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-7
1042 - Bringing this fix in for tcpdump and  ping
1043
1044
1045 * Fri May 09 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-6
1046 - Updated configuration to include COW again.
1047
1048 - Patches from Sapan to fix ping losses.
1049
1050 - Still need help with tcpdump traffic.
1051
1052
1053 * Tue May 06 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-5
1054 - Patch needs to be applied.
1055
1056 * Mon May 05 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-4
1057
1058
1059 * Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-3
1060 - Fix bug with looping in schedule()
1061
1062 * Wed Apr 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-2
1063 - Includes changes from Sapan/Andy regarding the scheduler and vnet bugs.
1064 - Should be safe to try a second deployment.
1065
1066
1067 * Tue Jul 11 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2142_FC4]
1068 - 2.6.17.4
1069 - Disable split pagetable lock.
1070
1071 * Wed Jul  5 2006 Dave Jones <davej@redhat.com>
1072 - Get rid of stack backtrace on panic, which in most
1073   cases actually caused a loss of info instead of a gain.
1074
1075 * Fri Jun 30 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2141_FC4]
1076 - 2.6.17.3
1077
1078 * Fri Jun 30 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2140_FC4]
1079 - 2.6.17.2
1080 - Fix up the alsa list_add bug.
1081
1082 * Mon Jun 26 2006 Dave Jones <davej@redhat.com>
1083 - Fix up various stupidities incurred by the last big rebase.
1084   - Reenable SMP x86-64 builds.
1085   - Reenable SMBFS.
1086 - Enable PCI fake hotplug driver.
1087 - Enable gameport/joystick on i586 builds. (#196581)
1088
1089 * Sat Jun 24 2006 Dave Jones <davej@redhat.com>
1090 - Enable profiling for 586 kernels.
1091
1092 * Fri Jun 23 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2139_FC4]
1093 - Rebuild with slab debug off.
1094
1095 * Tue Jun 20 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2138_FC4]
1096 - 2.6.17.1
1097
1098 * Mon Jun  5 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2115_FC4]
1099 - 2.6.16.20
1100
1101 * Tue May 30 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2114_FC4]
1102 - 2.6.16.19
1103
1104 * Mon May 29 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2113_FC4]
1105 - Improved list_head debugging.
1106
1107 * Tue May 23 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2112_FC4]
1108 - 2.6.16.18
1109
1110 * Sat May 20 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2111_FC4]
1111 - 2.6.16.17
1112
1113 * Wed May 10 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2110_FC4]
1114 - 2.6.16.16
1115
1116 * Tue May  9 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2109_FC4]
1117 - 2.6.16.15
1118 - make 16C950 UARTs work (again). (#126403)
1119 - Fix exec-shield default, which should fix a few programs that
1120   stopped running.
1121
1122 * Thu May  4 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2108_FC4]
1123 - 2.6.16.14
1124
1125 * Tue May  2 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2107_FC4]
1126 - 2.6.16.13
1127
1128 * Mon May  1 2006 Dave Jones <davej@redhat.com>
1129 - 2.6.16.12
1130
1131 * Tue Apr 25 2006 Dave Jones <davej@redhat.com>
1132 - Fix up SCSI errors with mymusix usb mp3 player (#186187)
1133
1134 * Mon Apr 24 2006 Dave Jones <davej@redhat.com>
1135 - 2.6.16.11
1136
1137 * Wed Apr 19 2006 Dave Jones <davej@redhat.com>
1138 - Enable PCI MSI support.
1139
1140 * Tue Apr 18 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2096_FC4]
1141 - 2.6.16.9
1142
1143 * Tue Apr 18 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2093_FC4]
1144 - 2.6.16.7
1145
1146 * Mon Apr 17 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2092_FC4]
1147 - 2.6.16.6
1148
1149 * Sun Apr 16 2006 Dave Jones <davej@redhat.com>
1150 - 2.6.16.5
1151
1152 * Fri Apr  7 2006 Dave Jones <davej@redhat.com>
1153 - 2.6.16.2
1154
1155 * Tue Apr  4 2006 Dave Jones <davej@redhat.com>
1156 - Reenable non-standard serial ports. (#187466)
1157 - Reenable snd-es18xx for x86-32 (#187733)
1158
1159 * Thu Mar 30 2006 Dave Jones <davej@redhat.com>
1160 - ship the .kernelrelease file in -devel too.
1161 - Disable EDAC debug.
1162
1163 * Tue Mar 26 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2069_FC4]
1164 - 2.6.16.1
1165
1166 * Mon Mar 25 2006 Dave Jones <davej@redhat.com>
1167 - Include patches posted for review for inclusion in 2.6.16.1
1168 - Updated new audit msg types.
1169 - Reenable HDLC driver (#186257)
1170 - Make acpi-cpufreq 'sticky'
1171 - Fix broken x86-64 32bit vDSO (#186924)
1172
1173 * Tue Mar 21 2006 Dave Jones <davej@redhat.com>
1174 - Improve spinlock scalability on big machines.
1175
1176 * Mon Mar 20 2006 Dave Jones <davej@redhat.com>
1177 - Sync with FC5's 2.6.16 kernel.
1178 - Update Tux & Exec-shield to latest.
1179
1180
1181 %define module_current_branch 22