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