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