bump to 2.6.27.55
[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 28
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 Patch1000: 2.6.27.55-rc1.patch
208
209 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
210
211 %description
212 The kernel package contains the Linux kernel (vmlinuz), the core of any
213 Linux operating system.  The kernel handles the basic functions
214 of the operating system:  memory allocation, process allocation, device
215 input and output, etc.
216 Configured with kernelconfig=%{kernelconfig}
217
218 %package devel
219 Summary: Development package for building kernel modules to match the kernel.
220 Group: System Environment/Kernel
221 AutoReqProv: no
222 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}
223 Provides: kernel-smp-devel = %{rpmversion}-%{release}
224 Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{release}
225 Prereq: /usr/bin/find
226
227 %description devel
228 This package provides kernel headers and makefiles sufficient to build modules
229 against the kernel package.
230
231
232 %package doc
233 Summary: Various documentation bits found in the kernel source.
234 Group: Documentation
235
236 %description doc
237 This package contains documentation files from the kernel
238 source. Various bits of information about the Linux kernel and the
239 device drivers shipped with it are documented in these files.
240
241 You'll want to install this package if you need a reference to the
242 options that can be passed to Linux kernel modules at load time.
243
244 %package xenU
245 Summary: The Linux kernel compiled for unprivileged Xen guest VMs
246
247 Group: System Environment/Kernel
248 Provides: kernel = %{version}
249 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}xenU
250 Prereq: %{kernel_prereq}
251 Conflicts: %{kernel_dot_org_conflicts}
252 Conflicts: %{package_conflicts}
253 Conflicts: %{nptl_conflicts}
254
255 # MEF commented out 
256 # Conflicts: %{xen_conflicts}
257
258 # We can't let RPM do the dependencies automatic because it'll then pick up
259 # a correct but undesirable perl dependency from the module headers which
260 # isn't required for the kernel proper to function
261 AutoReqProv: no
262
263 %description xenU
264 This package includes a version of the Linux kernel which
265 runs in Xen unprivileged guest VMs.  This should be installed
266 both inside the unprivileged guest (for the modules) and in
267 the guest0 domain.
268
269 %package xenU-devel
270 Summary: Development package for building kernel modules to match the kernel.
271 Group: System Environment/Kernel
272 AutoReqProv: no
273 Provides: kernel-xenU-devel-%{_target_cpu} = %{rpmversion}-%{release}
274 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}xenU
275 Provides: kernel-devel = %{rpmversion}-%{release}xenU
276 Prereq: /usr/sbin/hardlink, /usr/bin/find
277
278 %description xenU-devel
279 This package provides kernel headers and makefiles sufficient to build modules
280 against the kernel package.
281
282 %package uml
283 Summary: The Linux kernel compiled for use in user mode (User Mode Linux).
284
285 Group: System Environment/Kernel
286
287 %description uml
288 This package includes a user mode version of the Linux kernel.
289
290 %package uml-devel
291 Summary: Development package for building kernel modules to match the UML kernel.
292 Group: System Environment/Kernel
293 Provides: kernel-uml-devel-%{_target_cpu} = %{rpmversion}-%{release}
294 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}smp
295 Provides: kernel-devel = %{rpmversion}-%{release}smp
296 AutoReqProv: no
297 Prereq: /usr/sbin/hardlink, /usr/bin/find
298
299 %description uml-devel
300 This package provides kernel headers and makefiles sufficient to build modules
301 against the User Mode Linux kernel package.
302
303 %package uml-modules
304 Summary: The Linux kernel modules compiled for use in user mode (User Mode Linux).
305
306 Group: System Environment/Kernel
307
308 %description uml-modules
309 This package includes a user mode version of the Linux kernel modules.
310
311 %package vserver
312 Summary: A placeholder RPM that provides kernel and kernel-drm
313
314 Group: System Environment/Kernel
315 Provides: kernel = %{version}
316 Provides: kernel-drm = 4.3.0
317 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
318
319 %description vserver
320 VServers do not require and cannot use kernels, but some RPMs have
321 implicit or explicit dependencies on the "kernel" package
322 (e.g. tcpdump). This package installs no files but provides the
323 necessary dependencies to make rpm and yum happy.
324
325 %package headers
326 Summary: Kernel header
327 Group: System Environment/Kernel
328
329 %description headers
330 This package contains the sanitized kernel headers.
331
332 %prep
333 # First we unpack the kernel tarball.
334 # If this isn't the first make prep, we use links to the existing clean tarball
335 # which speeds things up quite a bit.
336 if [ ! -d kernel-%{kversion}/vanilla ]; then
337   # Ok, first time we do a make prep.
338   rm -f pax_global_header
339 %setup -q -n %{name}-%{kversion} -c
340   mv linux-%{kversion} vanilla
341 else
342   # We already have a vanilla dir.
343   cd kernel-%{kversion}
344 fi
345
346 KERNEL_PREVIOUS=vanilla
347 # Dark RPM-magic to apply each patch to a hardlinked copy of the tree.
348 %define ApplyPatch() \
349   rm -fr linux-%{kversion}-%1                           \
350   cp -al $KERNEL_PREVIOUS linux-%{kversion}-%1          \
351   patchflag=-p1                                         \
352   test "%2" != "%%2" && patchflag="%2"                  \
353   PATCH="%{expand:%{PATCH%1}}"                          \
354   if test ! -e "$PATCH"; then                           \
355     echo "Patch %1 does not exist!"                     \
356     exit 1                                              \
357   fi                                                    \
358   case "$PATCH" in                                      \
359     *.bz2)  bzcat "$PATCH";;                            \
360     *.gz)   zcat "$PATCH";;                             \
361     *)      cat "$PATCH";;                              \
362   esac | patch -F1 -s -d linux-%{kversion}-%1 $patchflag \
363   KERNEL_PREVIOUS=linux-%{kversion}-%1
364
365 # This is where the patches get applied
366 %if 0%{?patchlevel}
367 %ApplyPatch 0
368 %endif
369
370 %ApplyPatch 10
371 %ApplyPatch 17
372
373 %ApplyPatch 100
374
375 # vserver patch
376 %ApplyPatch 200
377 %ApplyPatch 220
378 %ApplyPatch 230
379 %ApplyPatch 240
380 %ApplyPatch 241
381
382 %ApplyPatch 250
383
384 %ApplyPatch 500
385 %ApplyPatch 510
386
387 # VNET+ series
388 %ApplyPatch 521
389 %ApplyPatch 522
390 %ApplyPatch 523
391 %ApplyPatch 524
392 %ApplyPatch 525
393 %ApplyPatch 527
394
395 %ApplyPatch 530
396 %ApplyPatch 540
397 %ApplyPatch 550
398 %ApplyPatch 560
399 %ApplyPatch 570
400 %ApplyPatch 580
401 %ApplyPatch 590
402 %ApplyPatch 591
403 %ApplyPatch 640
404 %ApplyPatch 650
405 %ApplyPatch 660
406 %ApplyPatch 680
407 %ApplyPatch 700
408 %ApplyPatch 710
409
410 %ApplyPatch 800
411
412 %if 0
413 %ApplyPatch 900
414 %ApplyPatch 910
415 %endif
416
417 %ApplyPatch 1000
418
419 # NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
420 # break with later patches.
421
422 %if 0%{?with_netns}
423 %ApplyPatch %vini_pl_patch
424 %endif
425
426 rm -fr linux-%{kversion}
427 ln -sf $KERNEL_PREVIOUS linux-%{kversion}
428 cd linux-%{kversion}
429
430
431 # make sure the kernel has the sublevel we know it has. This looks weird
432 # but for -pre and -rc versions we need it since we only want to use
433 # the higher version when the final kernel is released.
434 perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile
435 perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -prep/" Makefile
436
437 # get rid of unwanted files resulting from patch fuzz
438 find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
439
440
441 ###
442 ### build
443 ###
444 %build
445
446 BuildKernel() {
447     MakeTarget=$1
448     Arch=$2
449     Flavour=$3
450
451     rm -rf linux-%{_target_cpu}-%{kversion}$Flavour
452     cp -rl linux-%{kversion}/ linux-%{_target_cpu}-%{kversion}$Flavour
453     cd linux-%{_target_cpu}-%{kversion}$Flavour
454
455     # Pick the right config file for the kernel we're building
456     if [ -n "$Flavour" ] ; then
457       Config=%{kernelconfig}-%{kversion}-%{_target_cpu}-$Flavour.config
458       DevelDir=/usr/src/kernels/%{KVERREL}-$Flavour-%{_target_cpu}
459       DevelLink=/usr/src/kernels/%{KVERREL}$Flavour-%{_target_cpu}
460     else
461       Config=%{kernelconfig}-%{kversion}-%{_target_cpu}.config
462       DevelDir=/usr/src/kernels/%{KVERREL}-%{_target_cpu}
463       DevelLink=
464     fi
465
466     KernelVer=%{version}-%{release}$Flavour
467     echo BUILDING A KERNEL FOR $Flavour %{_target_cpu}...
468
469     # make sure EXTRAVERSION says what we want it to say
470     perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?patchlevel:.%{patchlevel}}-%{release}$Flavour/" Makefile
471
472     # and now to start the build process
473
474     make -s mrproper
475     cp %{_sourcedir}/$Config .config
476
477     #Arch=`head -1 .config | cut -b 3-`
478     echo USING ARCH=$Arch
479
480     make -s ARCH=$Arch nonint_oldconfig < /dev/null > /dev/null
481     make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget
482     make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1
483 %if %{headers}
484     make -s ARCH=$Arch INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr
485     find $RPM_BUILD_ROOT/%{_includedir} -name \*.cmd -delete
486     rm -f $RPM_BUILD_ROOT/%{_includedir}/{..,.}{check,install}*
487 %endif
488
489     # Start installing the results
490
491 %if "%{_enable_debug_packages}" == "1"
492     mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/boot
493 %endif
494     mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
495     install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
496     install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
497     if [ -f arch/$Arch/boot/bzImage ]; then
498       cp arch/$Arch/boot/bzImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
499     fi
500     if [ -f arch/$Arch/boot/zImage.stub ]; then
501       cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
502     fi
503     if [ "$Flavour" = "uml" ] ; then
504         install -D -m 755 linux $RPM_BUILD_ROOT/%{_bindir}/linux
505     fi
506
507     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
508     make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer
509
510     # And save the headers/makefiles etc for building modules against
511     #
512     # This all looks scary, but the end result is supposed to be:
513     # * all arch relevant include/ files
514     # * all Makefile/Kconfig files
515     # * all script/ files
516
517     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
518     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
519     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
520     (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
521     # dirs for additional modules per module-init-tools, kbuild/modules.txt
522     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
523     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
524     # first copy everything
525     cp --parents `find  -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build 
526         cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
527     if [ "$Flavour" = "uml" ] ; then
528       cp --parents -a `find arch/um -name include` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
529     fi
530     # then drop all but the needed Makefiles/Kconfig files
531     rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
532     rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
533     rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
534     cp arch/%{_arch}/kernel/asm-offsets.s $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/kernel || :
535     cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
536     cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
537     if [ -d arch/%{_arch}/scripts ]; then
538       cp -a arch/%{_arch}/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
539     fi
540     if [ -f arch/%{_arch}/*lds ]; then
541       cp -a arch/%{_arch}/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
542     fi
543     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
544     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
545     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
546     cd include
547     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
548     cp -a `readlink asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
549     if [ "$Arch" = "x86_64" ]; then
550       cp -a asm-x86 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
551     fi
552 %if %{buildxen}
553     if [ "$Flavour" = "xenU" ]; then
554       cp -a xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
555       cp -a asm-x86 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
556     fi
557 %endif
558 %if %{builduml}
559     if [ "$Flavour" = "uml" ] ; then
560       cp -a `readlink -f asm/arch` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
561     fi
562 %endif
563     # While arch/powerpc/include/asm is still a symlink to the old
564     # include/asm-ppc{64,} directory, include that in kernel-devel too.
565     if [ "$Arch" = "powerpc" -a -r ../arch/powerpc/include/asm ]; then
566       cp -a `readlink ../arch/powerpc/include/asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
567       mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include
568       pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include
569       ln -sf ../../../include/asm-ppc* asm
570       popd
571     fi
572
573     # Make sure the Makefile and version.h have a matching timestamp so that
574     # external modules can be built
575     touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/version.h
576     touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h
577     cd ..
578
579     #
580     # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
581     #
582 %if "%{_enable_debug_packages}" == "1"
583     mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer
584     cp vmlinux $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer
585 %endif
586 %if %{buildxen}
587     if [ -f vmlinuz ]; then
588       cp vmlinuz $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
589     fi
590 %endif
591
592     find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
593
594     # mark modules executable so that strip-to-file can strip them
595     cat modnames | xargs chmod u+x
596
597     # remove files that will be auto generated by depmod at rpm -i time
598     rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.*
599
600     # Move the devel headers out of the root file system
601     mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
602     mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
603     ln -sf ../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
604     [ -z "$DevelLink" ] || ln -sf `basename $DevelDir` $RPM_BUILD_ROOT/$DevelLink
605 }
606
607 ###
608 # DO it...
609 ###
610
611 # prepare directories
612 rm -rf $RPM_BUILD_ROOT
613 mkdir -p $RPM_BUILD_ROOT/boot
614
615 %if "%{_target_cpu}" == "x86_64"
616 %define kernel_arch %{_target_cpu}
617 %endif
618 %if "%{_target_cpu}" == "i586"
619 %define kernel_arch i386
620 %endif
621 %if "%{_target_cpu}" == "i686"
622 %define kernel_arch i386
623 %endif
624
625 %if %{buildup}
626 BuildKernel %make_target %kernel_arch
627 %endif
628
629 %ifarch i686
630 %if %{builduml}
631 BuildKernel linux um uml
632 %endif
633
634 %if %{buildxen}
635 BuildKernel vmlinuz %kernel_arch xenU
636 %endif
637 %endif
638
639 ###
640 ### install
641 ###
642
643 %install
644
645 cd vanilla
646
647 %if %{buildxen} && "%{_target_cpu}" == "i686"
648 mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
649 rm -f $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
650 cat > $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf <<\EOF
651 # This directive teaches ldconfig to search in nosegneg subdirectories
652 # and cache the DSOs there with extra bit 0 set in their hwcap match
653 # fields.  In Xen guest kernels, the vDSO tells the dynamic linker to
654 # search in nosegneg subdirectories and to match this extra hwcap bit
655 # in the ld.so.cache file.
656 hwcap 0 nosegneg
657 EOF
658 chmod 444 $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
659 %endif
660
661 %if %{builddoc}
662 mkdir -p $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}/Documentation
663
664 # sometimes non-world-readable files sneak into the kernel source tree
665 chmod -R a+r *
666 # copy the source over
667 tar cf - Documentation | tar xf - -C $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}
668 %endif
669
670 ###
671 ### clean
672 ###
673
674 %clean
675 rm -rf $RPM_BUILD_ROOT
676
677 ###
678 ### scripts
679 ###
680
681 # load the loop module for upgrades...in case the old modules get removed we have
682 # loopback in the kernel so that mkinitrd will work.
683 %pre
684 /sbin/modprobe loop 2> /dev/null > /dev/null  || :
685 exit 0
686
687 %post
688 if [ -f /etc/sysconfig/kernel ]; then
689   /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel
690 fi
691
692 # trick mkinitrd in case the current environment does not have device mapper
693 rootdev=$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab)
694 if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then
695     if [ ! -f $rootdev ]; then
696         fake_root_lvm=1
697         mkdir -p $(dirname $rootdev)
698         touch $rootdev
699     fi
700 fi
701
702 [ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{release}
703 #/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL}
704 # Older modutils do not support --package option
705 /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL}
706
707 # remove fake handle
708 if [ -n "$fake_root_lvm" ]; then
709     rm -f $rootdev
710 fi
711
712 # make some useful links
713 pushd /boot > /dev/null ; {
714         ln -sf config-%{KVERREL} config
715         ln -sf config-%{KVERREL} configsmp
716         ln -sf initrd-%{KVERREL}.img initrd-boot
717         ln -sf initrd-%{KVERREL}.img initrd-bootsmp
718         ln -sf vmlinuz-%{KVERREL} kernel-boot
719         ln -sf vmlinuz-%{KVERREL} kernel-bootsmp
720 }
721 popd > /dev/null
722
723 # ask for a reboot
724 mkdir -p /etc/planetlab
725 touch /etc/planetlab/update-reboot
726
727 %post devel
728 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
729 if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
730   pushd /usr/src/kernels/%{KVERREL}-%{_target_cpu} > /dev/null
731   /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
732   popd > /dev/null
733 fi
734
735 %post xenU
736 [ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade
737 [ ! -x /sbin/ldconfig ] || /sbin/ldconfig -X
738
739 %post xenU-devel
740 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
741 if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
742   pushd /usr/src/kernels/%{KVERREL}-xenU-%{_target_cpu} > /dev/null
743   /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
744   popd > /dev/null
745 fi
746
747 %post uml-modules
748 depmod -ae %{KVERREL}uml
749
750 %preun
751 /sbin/modprobe loop 2> /dev/null > /dev/null  || :
752 /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}
753
754 %preun xenU
755 /sbin/modprobe loop 2> /dev/null > /dev/null  || :
756 /sbin/new-kernel-pkg --rmmoddep --remove %{KVERREL}xenU
757
758 %preun uml-modules
759 rm -f /lib/modules/%{KVERREL}uml/modules.*
760
761
762 ###
763 ### file lists
764 ###
765
766 %if %{buildup}
767 %files 
768 %defattr(-,root,root)
769 /%{image_install_path}/vmlinuz-%{KVERREL}
770 /boot/System.map-%{KVERREL}
771 /boot/config-%{KVERREL}
772 %dir /lib/modules/%{KVERREL}
773 /lib/modules/%{KVERREL}/kernel
774 /lib/modules/%{KVERREL}/build
775 /lib/modules/%{KVERREL}/source
776 /lib/modules/%{KVERREL}/extra
777 /lib/modules/%{KVERREL}/updates
778
779 %files devel
780 %defattr(-,root,root)
781 %verify(not mtime) /usr/src/kernels/%{KVERREL}-%{_target_cpu}
782 %endif
783
784 %if %{builduml} && "%{_target_cpu}" == "i686"
785 %files uml
786 %defattr(-,root,root)
787 %{_bindir}/linux
788
789 %files uml-devel
790 %defattr(-,root,root)
791 %verify(not mtime) /usr/src/kernels/%{KVERREL}-uml-%{_target_cpu}
792 /usr/src/kernels/%{KVERREL}uml-%{_target_cpu}
793
794 %files uml-modules
795 %defattr(-,root,root)
796 /boot/System.map-%{KVERREL}uml
797 /boot/config-%{KVERREL}uml
798 %dir /lib/modules/%{KVERREL}uml
799 /lib/modules/%{KVERREL}uml/kernel
800 /lib/modules/%{KVERREL}uml/build
801 /lib/modules/%{KVERREL}uml/source
802 /lib/modules/%{KVERREL}uml/extra
803 /lib/modules/%{KVERREL}uml/updates
804 %endif
805
806 %if %{buildxen} && "%{_target_cpu}" == "i686"
807 %files xenU
808 %defattr(-,root,root)
809 /%{image_install_path}/vmlinuz-%{KVERREL}xenU
810 /boot/System.map-%{KVERREL}xenU
811 /boot/config-%{KVERREL}xenU
812 %dir /lib/modules/%{KVERREL}xenU
813 /lib/modules/%{KVERREL}xenU/kernel
814 /lib/modules/%{KVERREL}xenU/build
815 /lib/modules/%{KVERREL}xenU/source
816 /lib/modules/%{KVERREL}xenU/extra
817 /lib/modules/%{KVERREL}xenU/updates
818 /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
819
820 %files xenU-devel
821 %defattr(-,root,root)
822 %verify(not mtime) /usr/src/kernels/%{KVERREL}-xenU-%{_target_cpu}
823 /usr/src/kernels/%{KVERREL}xenU-%{_target_cpu}
824 %endif
825
826 %files vserver
827 %defattr(-,root,root)
828 # no files
829
830 # only some architecture builds need kernel-doc
831
832 %if %{builddoc}
833 %files doc
834 %defattr(-,root,root)
835 %{_datadir}/doc/kernel-doc-%{kversion}/Documentation/*
836 %dir %{_datadir}/doc/kernel-doc-%{kversion}/Documentation
837 %dir %{_datadir}/doc/kernel-doc-%{kversion}
838 %endif
839
840 %if %{headers}
841 %files headers
842 %defattr(-,root,root)
843 %dir %{_includedir}
844 %{_includedir}/*
845 %endif
846
847 %changelog
848 * Tue Oct 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-28
849 - bump to 2.6.27.54
850
851 * Fri Sep 24 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - linux-2.6-27-27
852 - f12 workaround
853
854 * Sun Aug 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-26
855 - the check_stack_guard_page() has, under certain circumstances, side-effects which can not easily be undone in case the vx_rss_avail() fails
856
857 * Fri Aug 27 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-25
858 - Bump to 2.6.27.53
859
860 * Fri Aug 20 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-24
861 - Bump to 2.6.27.52
862
863 * Wed Aug 18 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-23
864 - Pick d7824370e26325c881b665350ce64fb0a4fde24a and 11ac552477e32835cb6970bf0a70c210807f5673 from Linus's tree
865
866 * Sun Aug 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-22
867 - Test 52-rc2
868
869 * Fri Aug 13 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-21
870 - Bump to 2.6.27.51 and include 2.6.27.51-rc1 patchset to test
871
872 * Wed Aug 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-20
873 - Fix wrong hash
874
875 * Tue Aug 10 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-19
876 - bump to 2.6.27.50
877
878 * Mon Aug 02 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-18
879 - bump to 2.6.27.49
880
881 * Wed Jul 14 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-17
882 - Enable CONFIG_CGROUP_SCHED instead of CONFIG_USER_SCHED for 64bit kernels
883
884 * Fri Jul 09 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-16
885 - support other Broadcom NetXtreme II BCM 5709 dual GbE variants
886
887 * Mon Jul 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-15
888 - Bump to 2.6.27.48
889
890 * Tue Jun 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-14
891 - fix softlock problems that causes kernel panics
892
893 * Thu May 27 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-13
894 - Bump to 2.6.27.47
895
896 * Wed May 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-12
897 - support 82567LM-3 Gigabit Network devices
898
899 * Wed May 05 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-11
900 - 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
901
902 * Tue May 04 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-10
903 - Revert to vs2.3.0.36.4
904
905 * Tue Apr 27 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-9
906 - config for wextoolbox OK
907 - upgrade to patch-2.6.27.46-vs2.3.0.36.8
908 - turn off delta-pivot-fix01.diff (which was tweaked btw)
909
910 * Wed Apr 07 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-8
911 - chopstix fixes & cleanups
912
913 * Fri Apr 02 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-7
914 - Update to 2.6.27.46
915
916 * Mon Feb 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-6
917 - support Ext4 in order to boot f12
918 - fix "vcontext: pivot_root(): Invalid argument errors" while creating a guest with f12
919
920 * Mon Feb 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-5
921 - Update to 2.6.27.45
922
923 * Mon Feb 15 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - linux-2.6-27-4
924 - Tagging trunk
925
926 * Tue May 12 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-3
927 - new tuntap patch available but not enabled
928 - mac80211 and iwlwifi are now mainstream, no ext. sources anymore
929 - new egre patch
930 - various changes in the config about netns and scheduler ...
931 - gnuradio gets a specific config
932 - enable patch about 64bits adresses and cardbus
933
934 * Tue Mar 24 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-2
935 - cleaned up obsolete (2.6.22) configs
936 - added gnuradio config links
937 - fix for building headers package (remove .cmd files)
938
939 * Tue Mar 10 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-1
940 - untested feature-complete version, but for the scheduler that is still missing
941
942 * Thu Jan 08 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-32
943 - support building on fedora 10
944
945 * Tue Dec 02 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-31
946 - add patches for m-lab and drl
947
948 * Tue Nov 11 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-30
949 - Use Intel's e1000e driver.
950
951 * Thu Oct 02 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-29
952 - added drivers for OPTION's globetrotter (gt 3g+ emea) umts cards
953 - + cleanup outdated configs
954
955 * Wed Sep 17 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-28
956 - Recovering a hunk that I accidentally ommited out of the last commit. Should not entail retesting, because the commits
957 - were unrelated.
958
959 * Sun Sep 14 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-27
960 - Fixing the accounting issue that causes certain connections to be misaccounted, and that causes NM/peercreds to
961 - intermittently break.
962
963 * Wed Sep 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-26
964 - patch for building on f9/gcc-4.3, no functional change on other distros
965
966 * Sun Aug 17 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-25
967 - FUSE support.
968
969 * Tue Aug 12 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-24
970 - Enable nmi watchdog by default.
971
972 * Mon Aug 04 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-23
973 - Fixed a bug in my previous commit.
974
975 * Mon Aug 04 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-22
976 - * 1 fix for using udp/listening sockets via raw
977 - * 1 fix to help codemux divide traffic in PlanetFlow
978
979 * Fri Aug 01 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-21
980 - 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.
981
982 * Thu Jul 31 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-20
983 - Removed a debugging statement. Shows up a lot in the debug logs.
984
985 * Wed Jul 30 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-19
986 - Unbroke peercred setting.
987
988 * Mon Jul 28 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-18
989 - Now you can write your own TCP using packet sockets. As a side effect, tcptraceroute runs to completion including the
990 - last hop.
991
992 * Mon Jul 28 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-17
993 - Optimize packet socket support to eliminate a packet copy.
994
995 * Sun Jul 27 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-16
996 - Missed this header file, which broke the compile.
997 - I'll be doing another tag to include an optimization I left out of this version. This version is for Build only.
998
999 * Sun Jul 27 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-15
1000 - Fixes to tcpdump-related problems reported recently.
1001
1002 * Wed Jul 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-14
1003 - added fix to process visibility so when ncontext/vcontext  run netstat in
1004 - xid=1, it can see all ports &  processes.
1005
1006 * Mon Jul 21 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-13
1007 - fix for tcpdump/tcp payloads
1008
1009 * Tue Jul 15 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-12
1010 - * Bugfix in tuntap
1011 - * Attempt to fix TCP-payload-related problems with tcpdump
1012
1013 * Wed Jul 09 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-11
1014 - * Split up VNET+ module into its component patches
1015 - * Added tun/tap support
1016
1017 * Tue Jul 08 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-10
1018 - Filling a statically allocated buffer cannot fail, right?
1019
1020 * Wed Jun 25 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-9
1021 - Enable the hangcheck timer driver, and build it in to the kernel.
1022 - Dump relevant data on the scheduler bug instead of BUGing.
1023
1024 * Sat Jun 07 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-8
1025 - * Partial fix for the UDP-packet-pollution problem
1026 - * Support for PF_PACKET sockets
1027 - * Support for SOCK_PACKET sockets
1028 - * Disabled Chopstix with mutexes
1029 - * Tested VNET+ under heavy loads
1030
1031
1032
1033 * Fri May 16 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-7
1034 - Bringing this fix in for tcpdump and  ping
1035
1036
1037 * Fri May 09 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-6
1038 - Updated configuration to include COW again.
1039
1040 - Patches from Sapan to fix ping losses.
1041
1042 - Still need help with tcpdump traffic.
1043
1044
1045 * Tue May 06 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-5
1046 - Patch needs to be applied.
1047
1048 * Mon May 05 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-4
1049
1050
1051 * Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-3
1052 - Fix bug with looping in schedule()
1053
1054 * Wed Apr 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-2
1055 - Includes changes from Sapan/Andy regarding the scheduler and vnet bugs.
1056 - Should be safe to try a second deployment.
1057
1058
1059 * Tue Jul 11 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2142_FC4]
1060 - 2.6.17.4
1061 - Disable split pagetable lock.
1062
1063 * Wed Jul  5 2006 Dave Jones <davej@redhat.com>
1064 - Get rid of stack backtrace on panic, which in most
1065   cases actually caused a loss of info instead of a gain.
1066
1067 * Fri Jun 30 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2141_FC4]
1068 - 2.6.17.3
1069
1070 * Fri Jun 30 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2140_FC4]
1071 - 2.6.17.2
1072 - Fix up the alsa list_add bug.
1073
1074 * Mon Jun 26 2006 Dave Jones <davej@redhat.com>
1075 - Fix up various stupidities incurred by the last big rebase.
1076   - Reenable SMP x86-64 builds.
1077   - Reenable SMBFS.
1078 - Enable PCI fake hotplug driver.
1079 - Enable gameport/joystick on i586 builds. (#196581)
1080
1081 * Sat Jun 24 2006 Dave Jones <davej@redhat.com>
1082 - Enable profiling for 586 kernels.
1083
1084 * Fri Jun 23 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2139_FC4]
1085 - Rebuild with slab debug off.
1086
1087 * Tue Jun 20 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2138_FC4]
1088 - 2.6.17.1
1089
1090 * Mon Jun  5 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2115_FC4]
1091 - 2.6.16.20
1092
1093 * Tue May 30 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2114_FC4]
1094 - 2.6.16.19
1095
1096 * Mon May 29 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2113_FC4]
1097 - Improved list_head debugging.
1098
1099 * Tue May 23 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2112_FC4]
1100 - 2.6.16.18
1101
1102 * Sat May 20 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2111_FC4]
1103 - 2.6.16.17
1104
1105 * Wed May 10 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2110_FC4]
1106 - 2.6.16.16
1107
1108 * Tue May  9 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2109_FC4]
1109 - 2.6.16.15
1110 - make 16C950 UARTs work (again). (#126403)
1111 - Fix exec-shield default, which should fix a few programs that
1112   stopped running.
1113
1114 * Thu May  4 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2108_FC4]
1115 - 2.6.16.14
1116
1117 * Tue May  2 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2107_FC4]
1118 - 2.6.16.13
1119
1120 * Mon May  1 2006 Dave Jones <davej@redhat.com>
1121 - 2.6.16.12
1122
1123 * Tue Apr 25 2006 Dave Jones <davej@redhat.com>
1124 - Fix up SCSI errors with mymusix usb mp3 player (#186187)
1125
1126 * Mon Apr 24 2006 Dave Jones <davej@redhat.com>
1127 - 2.6.16.11
1128
1129 * Wed Apr 19 2006 Dave Jones <davej@redhat.com>
1130 - Enable PCI MSI support.
1131
1132 * Tue Apr 18 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2096_FC4]
1133 - 2.6.16.9
1134
1135 * Tue Apr 18 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2093_FC4]
1136 - 2.6.16.7
1137
1138 * Mon Apr 17 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2092_FC4]
1139 - 2.6.16.6
1140
1141 * Sun Apr 16 2006 Dave Jones <davej@redhat.com>
1142 - 2.6.16.5
1143
1144 * Fri Apr  7 2006 Dave Jones <davej@redhat.com>
1145 - 2.6.16.2
1146
1147 * Tue Apr  4 2006 Dave Jones <davej@redhat.com>
1148 - Reenable non-standard serial ports. (#187466)
1149 - Reenable snd-es18xx for x86-32 (#187733)
1150
1151 * Thu Mar 30 2006 Dave Jones <davej@redhat.com>
1152 - ship the .kernelrelease file in -devel too.
1153 - Disable EDAC debug.
1154
1155 * Tue Mar 26 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2069_FC4]
1156 - 2.6.16.1
1157
1158 * Mon Mar 25 2006 Dave Jones <davej@redhat.com>
1159 - Include patches posted for review for inclusion in 2.6.16.1
1160 - Updated new audit msg types.
1161 - Reenable HDLC driver (#186257)
1162 - Make acpi-cpufreq 'sticky'
1163 - Fix broken x86-64 32bit vDSO (#186924)
1164
1165 * Tue Mar 21 2006 Dave Jones <davej@redhat.com>
1166 - Improve spinlock scalability on big machines.
1167
1168 * Mon Mar 20 2006 Dave Jones <davej@redhat.com>
1169 - Sync with FC5's 2.6.16 kernel.
1170 - Update Tux & Exec-shield to latest.
1171
1172
1173 %define module_current_branch 22