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