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