/[pkgs]/devel/kernel/kernel.spec
ViewVC logotype

Contents of /devel/kernel/kernel.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1839 - (show annotations) (download)
Wed Nov 4 17:03:24 2009 UTC (2 weeks, 6 days ago) by kyle
Branch: MAIN
Changes since 1.1838: +4 -1 lines
* Wed Nov 04 2009 Kyle McMartin <kyle@redhat.com>
- Make JBD2_DEBUG a toggleable config option.
1 # We have to override the new %%install behavior because, well... the kernel is special.
2 %global __spec_install_pre %{___build_pre}
3
4 Summary: The Linux kernel
5
6 # For a stable, released kernel, released_kernel should be 1. For rawhide
7 # and/or a kernel built from an rc or git snapshot, released_kernel should
8 # be 0.
9 %global released_kernel 0
10
11 # Versions of various parts
12
13 # Polite request for people who spin their own kernel rpms:
14 # please modify the "buildid" define in a way that identifies
15 # that the kernel isn't the stock distribution kernel, for example,
16 # by setting the define to ".local" or ".bz123456"
17 #
18 # % define buildid .local
19
20 # fedora_build defines which build revision of this kernel version we're
21 # building. Rather than incrementing forever, as with the prior versioning
22 # setup, we set fedora_cvs_origin to the current cvs revision s/1.// of the
23 # kernel spec when the kernel is rebased, so fedora_build automatically
24 # works out to the offset from the rebase, so it doesn't get too ginormous.
25 #
26 # If you're building on a branch, the RCS revision will be something like
27 # 1.1205.1.1. In this case we drop the initial 1, subtract fedora_cvs_origin
28 # from the second number, and then append the rest of the RCS string as is.
29 # Don't stare at the awk too long, you'll go blind.
30 %define fedora_cvs_origin 1798
31 %define fedora_cvs_revision() %2
32 %global fedora_build %(echo %{fedora_cvs_origin}.%{fedora_cvs_revision $Revision: 1.1839 $} | awk -F . '{ OFS = "."; ORS = ""; print $3 - $1 ; i = 4 ; OFS = ""; while (i <= NF) { print ".", $i ; i++} }')
33
34 # base_sublevel is the kernel version we're starting with and patching
35 # on top of -- for example, 2.6.22-rc7-git1 starts with a 2.6.21 base,
36 # which yields a base_sublevel of 21.
37 %define base_sublevel 31
38
39 ## If this is a released kernel ##
40 %if 0%{?released_kernel}
41
42 # Do we have a -stable update to apply?
43 %define stable_update 0
44 # Is it a -stable RC?
45 %define stable_rc 0
46 # Set rpm version accordingly
47 %if 0%{?stable_update}
48 %define stablerev .%{stable_update}
49 %define stable_base %{stable_update}
50 %if 0%{?stable_rc}
51 # stable RCs are incremental patches, so we need the previous stable patch
52 %define stable_base %(echo $((%{stable_update} - 1)))
53 %endif
54 %endif
55 %define rpmversion 2.6.%{base_sublevel}%{?stablerev}
56
57 ## The not-released-kernel case ##
58 %else
59 # The next upstream release sublevel (base_sublevel+1)
60 %define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
61 # The rc snapshot level
62 %define rcrev 6
63 # The git snapshot level
64 %define gitrev 0
65 # Set rpm version accordingly
66 %define rpmversion 2.6.%{upstream_sublevel}
67 %endif
68 # Nb: The above rcrev and gitrev values automagically define Patch00 and Patch01 below.
69
70 # What parts do we want to build? We must build at least one kernel.
71 # These are the kernels that are built IF the architecture allows it.
72 # All should default to 1 (enabled) and be flipped to 0 (disabled)
73 # by later arch-specific checks.
74
75 # The following build options are enabled by default.
76 # Use either --without <opt> in your rpmbuild command or force values
77 # to 0 in here to disable them.
78 #
79 # standard kernel
80 %define with_up %{?_without_up: 0} %{?!_without_up: 1}
81 # kernel-smp (only valid for ppc 32-bit)
82 %define with_smp %{?_without_smp: 0} %{?!_without_smp: 1}
83 # kernel-kdump
84 %define with_kdump %{?_without_kdump: 0} %{?!_without_kdump: 1}
85 # kernel-debug
86 %define with_debug %{?_without_debug: 0} %{?!_without_debug: 1}
87 # kernel-doc
88 %define with_doc %{?_without_doc: 0} %{?!_without_doc: 1}
89 # kernel-headers
90 %define with_headers %{?_without_headers: 0} %{?!_without_headers: 1}
91 # kernel-firmware
92 %define with_firmware %{?_with_firmware: 1} %{?!_with_firmware: 0}
93 # tools/perf
94 %define with_perftool %{?_without_perftool: 0} %{?!_without_perftool: 1}
95 # perf noarch subpkg
96 %define with_perf %{?_without_perf: 0} %{?!_without_perf: 1}
97 # kernel-debuginfo
98 %define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1}
99 # kernel-bootwrapper (for creating zImages from kernel + initrd)
100 %define with_bootwrapper %{?_without_bootwrapper: 0} %{?!_without_bootwrapper: 1}
101 # Want to build a the vsdo directories installed
102 %define with_vdso_install %{?_without_vdso_install: 0} %{?!_without_vdso_install: 1}
103 # Use dracut instead of mkinitrd for initrd image generation
104 %define with_dracut %{?_without_dracut: 0} %{?!_without_dracut: 1}
105
106 # Build the kernel-doc package, but don't fail the build if it botches.
107 # Here "true" means "continue" and "false" means "fail the build".
108 %if 0%{?released_kernel}
109 %define doc_build_fail false
110 %else
111 %define doc_build_fail true
112 %endif
113
114 %define rawhide_skip_docs 1
115 %if 0%{?rawhide_skip_docs}
116 %define with_doc 0
117 %endif
118
119 # Additional options for user-friendly one-off kernel building:
120 #
121 # Only build the base kernel (--with baseonly):
122 %define with_baseonly %{?_with_baseonly: 1} %{?!_with_baseonly: 0}
123 # Only build the smp kernel (--with smponly):
124 %define with_smponly %{?_with_smponly: 1} %{?!_with_smponly: 0}
125
126 # should we do C=1 builds with sparse
127 %define with_sparse %{?_with_sparse: 1} %{?!_with_sparse: 0}
128
129 # Set debugbuildsenabled to 1 for production (build separate debug kernels)
130 # and 0 for rawhide (all kernels are debug kernels).
131 # See also 'make debug' and 'make release'.
132 %define debugbuildsenabled 0
133
134 # Want to build a vanilla kernel build without any non-upstream patches?
135 # (well, almost none, we need nonintconfig for build purposes). Default to 0 (off).
136 %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
137
138 # pkg_release is what we'll fill in for the rpm Release: field
139 %if 0%{?released_kernel}
140
141 %if 0%{?stable_rc}
142 %define stable_rctag .rc%{stable_rc}
143 %endif
144 %define pkg_release %{fedora_build}%{?stable_rctag}%{?buildid}%{?dist}
145
146 %else
147
148 # non-released_kernel
149 %if 0%{?rcrev}
150 %define rctag .rc%rcrev
151 %else
152 %define rctag .rc0
153 %endif
154 %if 0%{?gitrev}
155 %define gittag .git%gitrev
156 %else
157 %define gittag .git0
158 %endif
159 %define pkg_release 0.%{fedora_build}%{?rctag}%{?gittag}%{?buildid}%{?dist}
160
161 %endif
162
163 # The kernel tarball/base version
164 %define kversion 2.6.%{base_sublevel}
165
166 %define make_target bzImage
167
168 %define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}.%{_target_cpu}
169 %define hdrarch %_target_cpu
170 %define asmarch %_target_cpu
171
172 %if 0%{!?nopatches:1}
173 %define nopatches 0
174 %endif
175
176 %if %{with_vanilla}
177 %define nopatches 1
178 %endif
179
180 %if %{nopatches}
181 %define with_bootwrapper 0
182 %define variant -vanilla
183 %else
184 %define variant_fedora -fedora
185 %endif
186
187 %define using_upstream_branch 0
188 %if 0%{?upstream_branch:1}
189 %define stable_update 0
190 %define using_upstream_branch 1
191 %define variant -%{upstream_branch}%{?variant_fedora}
192 %define pkg_release 0.%{fedora_build}%{upstream_branch_tag}%{?buildid}%{?dist}
193 %endif
194
195 %if !%{debugbuildsenabled}
196 %define with_debug 0
197 %endif
198
199 %if !%{with_debuginfo}
200 %define _enable_debug_packages 0
201 %endif
202 %define debuginfodir /usr/lib/debug
203
204 # kernel-PAE is only built on i686.
205 %ifarch i686
206 %define with_pae 1
207 %else
208 %define with_pae 0
209 %endif
210
211 # if requested, only build base kernel
212 %if %{with_baseonly}
213 %define with_smp 0
214 %define with_kdump 0
215 %define with_debug 0
216 %endif
217
218 # if requested, only build smp kernel
219 %if %{with_smponly}
220 %define with_up 0
221 %define with_kdump 0
222 %define with_debug 0
223 %endif
224
225 %define all_x86 i386 i686
226
227 %if %{with_vdso_install}
228 # These arches install vdso/ directories.
229 %define vdso_arches %{all_x86} x86_64 ppc ppc64
230 %endif
231
232 # Overrides for generic default options
233
234 # only ppc and alphav56 need separate smp kernels
235 %ifnarch ppc alphaev56
236 %define with_smp 0
237 %endif
238
239 # only build kernel-kdump on ppc64
240 # (no relocatable kernel support upstream yet)
241 #FIXME: Temporarily disabled to speed up builds.
242 #ifnarch ppc64
243 %define with_kdump 0
244 #endif
245
246 # don't do debug builds on anything but i686 and x86_64
247 %ifnarch i686 x86_64
248 %define with_debug 0
249 %endif
250
251 # only package docs noarch
252 %ifnarch noarch
253 %define with_doc 0
254 %define with_perf 0
255 %endif
256
257 # don't build noarch kernels or headers (duh)
258 %ifarch noarch
259 %define with_up 0
260 %define with_headers 0
261 %define all_arch_configs kernel-%{version}-*.config
262 %define with_firmware %{?_without_firmware: 0} %{?!_without_firmware: 1}
263 %endif
264
265 # bootwrapper is only on ppc
266 %ifnarch ppc ppc64
267 %define with_bootwrapper 0
268 %endif
269
270 # sparse blows up on ppc64 alpha and sparc64
271 %ifarch ppc64 ppc alpha sparc64
272 %define with_sparse 0
273 %endif
274
275 # Per-arch tweaks
276
277 %ifarch %{all_x86}
278 %define asmarch x86
279 %define hdrarch i386
280 %define all_arch_configs kernel-%{version}-i?86*.config
281 %define image_install_path boot
282 %define kernel_image arch/x86/boot/bzImage
283 %endif
284
285 %ifarch x86_64
286 %define asmarch x86
287 %define all_arch_configs kernel-%{version}-x86_64*.config
288 %define image_install_path boot
289 %define kernel_image arch/x86/boot/bzImage
290 %endif
291
292 %ifarch ppc64
293 %define asmarch powerpc
294 %define hdrarch powerpc
295 %define all_arch_configs kernel-%{version}-ppc64*.config
296 %define image_install_path boot
297 %define make_target vmlinux
298 %define kernel_image vmlinux
299 %define kernel_image_elf 1
300 %endif
301
302 %ifarch s390x
303 %define asmarch s390
304 %define hdrarch s390
305 %define all_arch_configs kernel-%{version}-s390x.config
306 %define image_install_path boot
307 %define make_target image
308 %define kernel_image arch/s390/boot/image
309 %endif
310
311 %ifarch sparc
312 # We only build sparc headers since we dont support sparc32 hardware
313 %endif
314
315 %ifarch sparc64
316 %define asmarch sparc
317 %define all_arch_configs kernel-%{version}-sparc64*.config
318 %define make_target image
319 %define kernel_image arch/sparc/boot/image
320 %define image_install_path boot
321 %define with_perftool 0
322 %endif
323
324 %ifarch ppc
325 %define asmarch powerpc
326 %define hdrarch powerpc
327 %define all_arch_configs kernel-%{version}-ppc{-,.}*config
328 %define image_install_path boot
329 %define make_target vmlinux
330 %define kernel_image vmlinux
331 %define kernel_image_elf 1
332 %endif
333
334 %ifarch ia64
335 %define all_arch_configs kernel-%{version}-ia64*.config
336 %define image_install_path boot/efi/EFI/redhat
337 %define make_target compressed
338 %define kernel_image vmlinux.gz
339 %endif
340
341 %ifarch alpha alphaev56
342 %define all_arch_configs kernel-%{version}-alpha*.config
343 %define image_install_path boot
344 %define make_target vmlinux
345 %define kernel_image vmlinux
346 %endif
347
348 %ifarch %{arm}
349 %define all_arch_configs kernel-%{version}-arm*.config
350 %define image_install_path boot
351 %define hdrarch arm
352 %define make_target vmlinux
353 %define kernel_image vmlinux
354 %endif
355
356 %if %{nopatches}
357 # XXX temporary until last vdso patches are upstream
358 %define vdso_arches ppc ppc64
359 %endif
360
361 %if %{nopatches}%{using_upstream_branch}
362 # Ignore unknown options in our config-* files.
363 # Some options go with patches we're not applying.
364 %define oldconfig_target loose_nonint_oldconfig
365 %else
366 %define oldconfig_target nonint_oldconfig
367 %endif
368
369 # To temporarily exclude an architecture from being built, add it to
370 # %nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we
371 # don't build kernel-headers then the new build system will no longer let
372 # us use the previous build of that package -- it'll just be completely AWOL.
373 # Which is a BadThing(tm).
374
375 # We don't build a kernel on i386; we only do kernel-headers there,
376 # and we no longer build for 31bit S390. Same for 32bit sparc and arm.
377 %define nobuildarches i386 s390 sparc %{arm}
378
379 %ifarch %nobuildarches
380 %define with_up 0
381 %define with_smp 0
382 %define with_pae 0
383 %define with_kdump 0
384 %define with_debuginfo 0
385 %define with_perftool 0
386 %define _enable_debug_packages 0
387 %endif
388
389 %define with_pae_debug 0
390 %if %{with_pae}
391 %define with_pae_debug %{with_debug}
392 %endif
393
394 #
395 # Three sets of minimum package version requirements in the form of Conflicts:
396 # to versions below the minimum
397 #
398
399 #
400 # First the general kernel 2.6 required versions as per
401 # Documentation/Changes
402 #
403 %define kernel_dot_org_conflicts ppp < 2.4.3-3, isdn4k-utils < 3.2-32, nfs-utils < 1.0.7-12, e2fsprogs < 1.37-4, util-linux < 2.12, jfsutils < 1.1.7-2, reiserfs-utils < 3.6.19-2, xfsprogs < 2.6.13-4, procps < 3.2.5-6.3, oprofile < 0.9.1-2
404
405 #
406 # Then a series of requirements that are distribution specific, either
407 # because we add patches for something, or the older versions have
408 # problems with the newer kernel or lack certain things that make
409 # integration in the distro harder than needed.
410 #
411 %define package_conflicts initscripts < 7.23, udev < 063-6, iptables < 1.3.2-1, ipw2200-firmware < 2.4, iwl4965-firmware < 228.57.2, selinux-policy-targeted < 1.25.3-14, squashfs-tools < 4.0, wireless-tools < 29-3
412
413 #
414 # The ld.so.conf.d file we install uses syntax older ldconfig's don't grok.
415 #
416 %define kernel_xen_conflicts glibc < 2.3.5-1, xen < 3.0.1
417
418 %define kernel_PAE_obsoletes kernel-smp < 2.6.17, kernel-xen <= 2.6.27-0.2.rc0.git6.fc10
419 %define kernel_PAE_provides kernel-xen = %{rpmversion}-%{pkg_release}
420
421 %ifarch x86_64
422 %define kernel_obsoletes kernel-xen <= 2.6.27-0.2.rc0.git6.fc10
423 %define kernel_provides kernel-xen = %{rpmversion}-%{pkg_release}
424 %endif
425
426 # We moved the drm include files into kernel-headers, make sure there's
427 # a recent enough libdrm-devel on the system that doesn't have those.
428 %define kernel_headers_conflicts libdrm-devel < 2.4.0-0.15
429
430 #
431 # Packages that need to be installed before the kernel is, because the %post
432 # scripts use them.
433 #
434 %define kernel_prereq fileutils, module-init-tools, initscripts >= 8.11.1-1, kernel-firmware >= %{rpmversion}-%{pkg_release}, grubby >= 7.0.4-1
435 %if %{with_dracut}
436 %define initrd_prereq dracut >= 001-7
437 %else
438 %define initrd_prereq mkinitrd >= 6.0.61-1
439 %endif
440
441 #
442 # This macro does requires, provides, conflicts, obsoletes for a kernel package.
443 # %%kernel_reqprovconf <subpackage>
444 # It uses any kernel_<subpackage>_conflicts and kernel_<subpackage>_obsoletes
445 # macros defined above.
446 #
447 %define kernel_reqprovconf \
448 Provides: kernel = %{rpmversion}-%{pkg_release}\
449 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:.%{1}}\
450 Provides: kernel-drm = 4.3.0\
451 Provides: kernel-drm-nouveau = 15\
452 Provides: kernel-modeset = 1\
453 Provides: kernel-uname-r = %{KVERREL}%{?1:.%{1}}\
454 Requires(pre): %{kernel_prereq}\
455 Requires(pre): %{initrd_prereq}\
456 Requires(post): /sbin/new-kernel-pkg\
457 Requires(preun): /sbin/new-kernel-pkg\
458 Conflicts: %{kernel_dot_org_conflicts}\
459 Conflicts: %{package_conflicts}\
460 %{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}\
461 %{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}\
462 %{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}\
463 # We can't let RPM do the dependencies automatic because it'll then pick up\
464 # a correct but undesirable perl dependency from the module headers which\
465 # isn't required for the kernel proper to function\
466 AutoReq: no\
467 AutoProv: yes\
468 %{nil}
469
470 Name: kernel%{?variant}
471 Group: System Environment/Kernel
472 License: GPLv2
473 URL: http://www.kernel.org/
474 Version: %{rpmversion}
475 Release: %{pkg_release}
476 # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
477 # SET %%nobuildarches (ABOVE) INSTEAD
478 ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ia64 sparc sparc64 s390x alpha alphaev56 %{arm}
479 ExclusiveOS: Linux
480
481 %kernel_reqprovconf
482 %ifarch x86_64 sparc64
483 Obsoletes: kernel-smp
484 %endif
485
486
487 #
488 # List the packages used during the kernel build
489 #
490 BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar
491 BuildRequires: bzip2, findutils, gzip, m4, perl, make >= 3.78, diffutils, gawk
492 BuildRequires: gcc >= 3.4.2, binutils >= 2.12, redhat-rpm-config
493 BuildRequires: net-tools
494 BuildRequires: xmlto, asciidoc
495 %if %{with_sparse}
496 BuildRequires: sparse >= 0.4.1
497 %endif
498 %if %{with_perftool}
499 BuildRequires: elfutils-libelf-devel zlib-devel binutils-devel
500 %endif
501 BuildConflicts: rhbuildsys(DiskFree) < 500Mb
502
503 %define fancy_debuginfo 0
504 %if %{with_debuginfo}
505 %if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
506 %define fancy_debuginfo 1
507 %endif
508 %endif
509
510 %if %{fancy_debuginfo}
511 # Fancy new debuginfo generation introduced in Fedora 8.
512 BuildRequires: rpm-build >= 4.4.2.1-4
513 %define debuginfo_args --strict-build-id
514 %endif
515
516 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
517
518 Source11: genkey
519 Source14: find-provides
520 Source15: merge.pl
521
522 Source20: Makefile.config
523 Source21: config-debug
524 Source22: config-nodebug
525 Source23: config-generic
526 Source24: config-rhel-generic
527
528 Source30: config-x86-generic
529 Source31: config-i686-PAE
530
531 Source40: config-x86_64-generic
532
533 Source50: config-powerpc-generic
534 Source51: config-powerpc32-generic
535 Source52: config-powerpc32-smp
536 Source53: config-powerpc64
537
538 Source60: config-ia64-generic
539
540 Source70: config-s390x
541
542 Source90: config-sparc64-generic
543
544 Source100: config-arm
545
546 Source200: perf
547
548 # Here should be only the patches up to the upstream canonical Linus tree.
549
550 # For a stable release kernel
551 %if 0%{?stable_update}
552 %if 0%{?stable_base}
553 %define stable_patch_00 patch-2.6.%{base_sublevel}.%{stable_base}.bz2
554 Patch00: %{stable_patch_00}
555 %endif
556 %if 0%{?stable_rc}
557 %define stable_patch_01 patch-2.6.%{base_sublevel}.%{stable_update}-rc%{stable_rc}.bz2
558 Patch01: %{stable_patch_01}
559 %endif
560
561 # non-released_kernel case
562 # These are automagically defined by the rcrev and gitrev values set up
563 # near the top of this spec file.
564 %else
565 %if 0%{?rcrev}
566 Patch00: patch-2.6.%{upstream_sublevel}-rc%{rcrev}.bz2
567 %if 0%{?gitrev}
568 Patch01: patch-2.6.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}.bz2
569 %endif
570 %else
571 # pre-{base_sublevel+1}-rc1 case
572 %if 0%{?gitrev}
573 Patch00: patch-2.6.%{base_sublevel}-git%{gitrev}.bz2
574 %endif
575 %endif
576 %endif
577
578 %if %{using_upstream_branch}
579 ### BRANCH PATCH ###
580 %endif
581
582 Patch02: git-linus.diff
583
584 # we always need nonintconfig, even for -vanilla kernels
585 Patch03: linux-2.6-build-nonintconfig.patch
586
587 # we also need compile fixes for -vanilla
588 Patch04: linux-2.6-compile-fixes.patch
589
590 # build tweak for build ID magic, even for -vanilla
591 Patch05: linux-2.6-makefile-after_link.patch
592
593 %if !%{nopatches}
594
595 # revert upstream patches we get via other methods
596 Patch09: linux-2.6-upstream-reverts.patch
597 # Git trees.
598 Patch10: git-cpufreq.patch
599 Patch11: git-bluetooth.patch
600
601 # Standalone patches
602 Patch20: linux-2.6-hotfixes.patch
603
604 Patch21: linux-2.6-tracehook.patch
605 Patch22: linux-2.6-utrace.patch
606
607 Patch41: linux-2.6-sysrq-c.patch
608
609 Patch141: linux-2.6-ps3-storage-alias.patch
610 Patch143: linux-2.6-g5-therm-shutdown.patch
611 Patch144: linux-2.6-vio-modalias.patch
612 Patch147: linux-2.6-imac-transparent-bridge.patch
613
614 Patch150: linux-2.6.29-sparc-IOC_TYPECHECK.patch
615
616 Patch160: linux-2.6-execshield.patch
617
618 Patch250: linux-2.6-debug-sizeof-structs.patch
619 Patch260: linux-2.6-debug-nmi-timeout.patch
620 Patch270: linux-2.6-debug-taint-vm.patch
621 Patch280: linux-2.6-debug-spinlock-taint.patch
622 Patch300: linux-2.6-driver-level-usb-autosuspend.diff
623 Patch301: linux-2.6-fix-usb-serial-autosuspend.diff
624 Patch302: linux-2.6-qcserial-autosuspend.diff
625 Patch304: linux-2.6-usb-uvc-autosuspend.diff
626 Patch340: linux-2.6-debug-vm-would-have-oomkilled.patch
627 Patch360: linux-2.6-debug-always-inline-kzalloc.patch
628 Patch380: linux-2.6-defaults-pci_no_msi.patch
629 Patch381: linux-2.6-pciehp-update.patch
630 Patch382: linux-2.6-defaults-pciehp.patch
631 Patch383: linux-2.6-defaults-aspm.patch
632 Patch390: linux-2.6-defaults-acpi-video.patch
633 Patch391: linux-2.6-acpi-video-dos.patch
634 Patch450: linux-2.6-input-kill-stupid-messages.patch
635 Patch451: linux-2.6-input-fix-toshiba-hotkeys.patch
636 Patch452: linux-2.6.30-no-pcspkr-modalias.patch
637
638 Patch460: linux-2.6-serial-460800.patch
639
640 Patch470: die-floppy-die.patch
641
642 Patch510: linux-2.6-silence-noise.patch
643 Patch520: linux-2.6.30-hush-rom-warning.patch
644 Patch530: linux-2.6-silence-fbcon-logo.patch
645 Patch570: linux-2.6-selinux-mprotect-checks.patch
646 Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
647
648 Patch600: linux-2.6-defaults-alsa-hda-beep-off.patch
649 Patch610: hda_intel-prealloc-4mb-dmabuffer.patch
650
651 Patch670: linux-2.6-ata-quirk.patch
652
653 Patch680: linux-2.6-rt2x00-asus-leds.patch
654 Patch681: linux-2.6-mac80211-age-scan-results-on-resume.patch
655
656 Patch700: linux-2.6.31-nx-data.patch
657 Patch701: linux-2.6.31-modules-ro-nx.patch
658
659 Patch800: linux-2.6-crash-driver.patch
660
661 Patch900: linux-2.6-pci-cacheline-sizing.patch
662
663 Patch1515: lirc-2.6.31.patch
664 Patch1517: hdpvr-ir-enable.patch
665
666 # virt + ksm patches
667 Patch1551: linux-2.6-ksm-kvm.patch
668
669 # nouveau + drm fixes
670 Patch1813: drm-radeon-pm.patch
671 Patch1814: drm-nouveau.patch
672 Patch1818: drm-i915-resume-force-mode.patch
673 Patch1819: drm-intel-big-hammer.patch
674 Patch1821: drm-page-flip.patch
675 # intel drm is all merged upstream
676 Patch1824: drm-intel-next.patch
677 Patch1825: drm-intel-pm.patch
678
679 # kludge to make ich9 e1000 work
680 Patch2000: linux-2.6-e1000-ich9.patch
681
682 # linux1394 git patches
683 Patch2200: linux-2.6-firewire-git-update.patch
684 Patch2201: linux-2.6-firewire-git-pending.patch
685
686 # Quiet boot fixes
687 # silence the ACPI blacklist code
688 Patch2802: linux-2.6-silence-acpi-blacklist.patch
689
690 Patch2899: linux-2.6-v4l-dvb-fixes.patch
691 Patch2900: linux-2.6-v4l-dvb-update.patch
692 Patch2901: linux-2.6-v4l-dvb-experimental.patch
693 Patch2903: linux-2.6-revert-dvb-net-kabi-change.patch
694
695 # fs fixes
696
697 # NFSv4
698 Patch3050: linux-2.6-nfsd4-proots.patch
699 Patch3051: linux-2.6-nfs4-callback-hidden.patch
700
701 # VIA Nano / VX8xx updates
702 Patch11010: via-hwmon-temp-sensor.patch
703
704 # patches headed upstream
705 Patch12010: linux-2.6-dell-laptop-rfkill-fix.patch
706 Patch12011: linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch
707 Patch12013: linux-2.6-rfkill-all.patch
708
709 %endif
710
711 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
712
713 %description
714 The kernel package contains the Linux kernel (vmlinuz), the core of any
715 Linux operating system. The kernel handles the basic functions
716 of the operating system: memory allocation, process allocation, device
717 input and output, etc.
718
719
720 %package doc
721 Summary: Various documentation bits found in the kernel source
722 Group: Documentation
723 %description doc
724 This package contains documentation files from the kernel
725 source. Various bits of information about the Linux kernel and the
726 device drivers shipped with it are documented in these files.
727
728 You'll want to install this package if you need a reference to the
729 options that can be passed to Linux kernel modules at load time.
730
731
732 %package headers
733 Summary: Header files for the Linux kernel for use by glibc
734 Group: Development/System
735 Obsoletes: glibc-kernheaders
736 Provides: glibc-kernheaders = 3.0-46
737 %description headers
738 Kernel-headers includes the C header files that specify the interface
739 between the Linux kernel and userspace libraries and programs. The
740 header files define structures and constants that are needed for
741 building most standard programs and are also needed for rebuilding the
742 glibc package.
743
744 %package firmware
745 Summary: Firmware files used by the Linux kernel
746 Group: Development/System
747 # This is... complicated.
748 # Look at the WHENCE file.
749 License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted
750 %if "x%{?variant}" != "x"
751 Provides: kernel-firmware = %{rpmversion}-%{pkg_release}
752 %endif
753 %description firmware
754 Kernel-firmware includes firmware files required for some devices to
755 operate.
756
757 %package bootwrapper
758 Summary: Boot wrapper files for generating combined kernel + initrd images
759 Group: Development/System
760 Requires: gzip
761 %description bootwrapper
762 Kernel-bootwrapper contains the wrapper code which makes bootable "zImage"
763 files combining both kernel and initial ramdisk.
764
765 %package debuginfo-common-%{_target_cpu}
766 Summary: Kernel source files used by %{name}-debuginfo packages
767 Group: Development/Debug
768 %description debuginfo-common-%{_target_cpu}
769 This package is required by %{name}-debuginfo subpackages.
770 It provides the kernel source files common to all builds.
771
772 %package -n perf
773 Summary: Performance monitoring for the Linux kernel
774 Group: Development/System
775 License: GPLv2
776 %description -n perf
777 This package provides the supporting documentation for the perf tool
778 shipped in each kernel image subpackage.
779
780 #
781 # This macro creates a kernel-<subpackage>-debuginfo package.
782 # %%kernel_debuginfo_package <subpackage>
783 #
784 %define kernel_debuginfo_package() \
785 %package %{?1:%{1}-}debuginfo\
786 Summary: Debug information for package %{name}%{?1:-%{1}}\
787 Group: Development/Debug\
788 Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\
789 Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\
790 AutoReqProv: no\
791 %description -n %{name}%{?1:-%{1}}-debuginfo\
792 This package provides debug information for package %{name}%{?1:-%{1}}.\
793 This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\
794 %{expand:%%global debuginfo_args %{?debuginfo_args} -p '/.*/%%{KVERREL}%{?1:\.%{1}}/.*|/.*%%{KVERREL}%{?1:\.%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
795 %{nil}
796
797 #
798 # This macro creates a kernel-<subpackage>-devel package.
799 # %%kernel_devel_package <subpackage> <pretty-name>
800 #
801 %define kernel_devel_package() \
802 %package %{?1:%{1}-}devel\
803 Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
804 Group: System Environment/Kernel\
805 Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\
806 Provides: kernel-devel-%{_target_cpu} = %{version}-%{release}%{?1:.%{1}}\
807 Provides: kernel-devel = %{version}-%{release}%{?1:.%{1}}\
808 Provides: kernel-devel-uname-r = %{KVERREL}%{?1:.%{1}}\
809 AutoReqProv: no\
810 Requires(pre): /usr/bin/find\
811 %description -n kernel%{?variant}%{?1:-%{1}}-devel\
812 This package provides kernel headers and makefiles sufficient to build modules\
813 against the %{?2:%{2} }kernel package.\
814 %{nil}
815
816 #
817 # This macro creates a kernel-<subpackage> and its -devel and -debuginfo too.
818 # %%define variant_summary The Linux kernel compiled for <configuration>
819 # %%kernel_variant_package [-n <pretty-name>] <subpackage>
820 #
821 %define kernel_variant_package(n:) \
822 %package %1\
823 Summary: %{variant_summary}\
824 Group: System Environment/Kernel\
825 %kernel_reqprovconf\
826 %{expand:%%kernel_devel_package %1 %{!?-n:%1}%{?-n:%{-n*}}}\
827 %{expand:%%kernel_debuginfo_package %1}\
828 %{nil}
829
830
831 # First the auxiliary packages of the main kernel package.
832 %kernel_devel_package
833 %kernel_debuginfo_package
834
835
836 # Now, each variant package.
837
838 %define variant_summary The Linux kernel compiled for SMP machines
839 %kernel_variant_package -n SMP smp
840 %description smp
841 This package includes a SMP version of the Linux kernel. It is
842 required only on machines with two or more CPUs as well as machines with
843 hyperthreading technology.
844
845 Install the kernel-smp package if your machine uses two or more CPUs.
846
847
848 %define variant_summary The Linux kernel compiled for PAE capable machines
849 %kernel_variant_package PAE
850 %description PAE
851 This package includes a version of the Linux kernel with support for up to
852 64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
853 The non-PAE kernel can only address up to 4GB of memory.
854 Install the kernel-PAE package if your machine has more than 4GB of memory.
855
856
857 %define variant_summary The Linux kernel compiled with extra debugging enabled for PAE capable machines
858 %kernel_variant_package PAEdebug
859 Obsoletes: kernel-PAE-debug
860 %description PAEdebug
861 This package includes a version of the Linux kernel with support for up to
862 64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
863 The non-PAE kernel can only address up to 4GB of memory.
864 Install the kernel-PAE package if your machine has more than 4GB of memory.
865
866 This variant of the kernel has numerous debugging options enabled.
867 It should only be installed when trying to gather additional information
868 on kernel bugs, as some of these options impact performance noticably.
869
870
871 %define variant_summary The Linux kernel compiled with extra debugging enabled
872 %kernel_variant_package debug
873 %description debug
874 The kernel package contains the Linux kernel (vmlinuz), the core of any
875 Linux operating system. The kernel handles the basic functions
876 of the operating system: memory allocation, process allocation, device
877 input and output, etc.
878
879 This variant of the kernel has numerous debugging options enabled.
880 It should only be installed when trying to gather additional information
881 on kernel bugs, as some of these options impact performance noticably.
882
883
884 %define variant_summary A minimal Linux kernel compiled for crash dumps
885 %kernel_variant_package kdump
886 %description kdump
887 This package includes a kdump version of the Linux kernel. It is
888 required only on machines which will use the kexec-based kernel crash dump
889 mechanism.
890
891
892 %prep
893 # do a few sanity-checks for --with *only builds
894 %if %{with_baseonly}
895 %if !%{with_up}%{with_pae}
896 echo "Cannot build --with baseonly, up build is disabled"
897 exit 1
898 %endif
899 %endif
900
901 %if %{with_smponly}
902 %if !%{with_smp}
903 echo "Cannot build --with smponly, smp build is disabled"
904 exit 1
905 %endif
906 %endif
907
908 # more sanity checking; do it quietly
909 if [ "%{patches}" != "%%{patches}" ] ; then
910 for patch in %{patches} ; do
911 if [ ! -f $patch ] ; then
912 echo "ERROR: Patch ${patch##/*/} listed in specfile but is missing"
913 exit 1
914 fi
915 done
916 fi 2>/dev/null
917
918 patch_command='patch -p1 -F1 -s'
919 ApplyPatch()
920 {
921 local patch=$1
922 shift
923 if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
924 exit 1
925 fi
926 if ! egrep "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME%%%%%{?variant}}.spec ; then
927 if [ "${patch:0:10}" != "patch-2.6." ] ; then
928 echo "ERROR: Patch $patch not listed as a source patch in specfile"
929 exit 1
930 fi
931 fi 2>/dev/null
932 case "$patch" in
933 *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
934 *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
935 *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
936 esac
937 }
938
939 # don't apply patch if it's empty
940 ApplyOptionalPatch()
941 {
942 local patch=$1
943 shift
944 if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
945 exit 1
946 fi
947 local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
948 if [ "$C" -gt 9 ]; then
949 ApplyPatch $patch ${1+"$@"}
950 fi
951 }
952
953 # we don't want a .config file when building firmware: it just confuses the build system
954 %define build_firmware \
955 mv .config .config.firmware_save \
956 make INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware firmware_install \
957 mv .config.firmware_save .config
958
959 # First we unpack the kernel tarball.
960 # If this isn't the first make prep, we use links to the existing clean tarball
961 # which speeds things up quite a bit.
962
963 # Update to latest upstream.
964 %if 0%{?released_kernel}
965 %define vanillaversion 2.6.%{base_sublevel}
966 # non-released_kernel case
967 %else
968 %if 0%{?rcrev}
969 %define vanillaversion 2.6.%{upstream_sublevel}-rc%{rcrev}
970 %if 0%{?gitrev}
971 %define vanillaversion 2.6.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}
972 %endif
973 %else
974 # pre-{base_sublevel+1}-rc1 case
975 %if 0%{?gitrev}
976 %define vanillaversion 2.6.%{base_sublevel}-git%{gitrev}
977 %else
978 %define vanillaversion 2.6.%{base_sublevel}
979 %endif
980 %endif
981 %endif
982
983 # We can share hardlinked source trees by putting a list of
984 # directory names of the CVS checkouts that we want to share
985 # with in .shared-srctree. (Full pathnames are required.)
986 [ -f .shared-srctree ] && sharedirs=$(cat .shared-srctree)
987
988 if [ ! -d kernel-%{kversion}/vanilla-%{vanillaversion} ]; then
989
990 if [ -d kernel-%{kversion}/vanilla-%{kversion} ]; then
991
992 cd kernel-%{kversion}
993
994 # Any vanilla-* directories other than the base one are stale.
995 for dir in vanilla-*; do
996 [ "$dir" = vanilla-%{kversion} ] || rm -rf $dir &
997 done
998
999 else
1000
1001 # Ok, first time we do a make prep.
1002 rm -f pax_global_header
1003 for sharedir in $sharedirs ; do
1004 if [[ ! -z $sharedir && -d $sharedir/kernel-%{kversion}/vanilla-%{kversion} ]] ; then
1005 break
1006 fi
1007 done
1008 if [[ ! -z $sharedir && -d $sharedir/kernel-%{kversion}/vanilla-%{kversion} ]] ; then
1009 %setup -q -n kernel-%{kversion} -c -T
1010 cp -rl $sharedir/kernel-%{kversion}/vanilla-%{kversion} .
1011 else
1012 %setup -q -n kernel-%{kversion} -c
1013 mv linux-%{kversion} vanilla-%{kversion}
1014 fi
1015
1016 fi
1017
1018 %if "%{kversion}" != "%{vanillaversion}"
1019
1020 for sharedir in $sharedirs ; do
1021 if [[ ! -z $sharedir && -d $sharedir/kernel-%{kversion}/vanilla-%{vanillaversion} ]] ; then
1022 break
1023 fi
1024 done
1025 if [[ ! -z $sharedir && -d $sharedir/kernel-%{kversion}/vanilla-%{vanillaversion} ]] ; then
1026
1027 cp -rl $sharedir/kernel-%{kversion}/vanilla-%{vanillaversion} .
1028
1029 else
1030
1031 cp -rl vanilla-%{kversion} vanilla-%{vanillaversion}
1032 cd vanilla-%{vanillaversion}
1033
1034 # Update vanilla to the latest upstream.
1035 # (non-released_kernel case only)
1036 %if 0%{?rcrev}
1037 ApplyPatch patch-2.6.%{upstream_sublevel}-rc%{rcrev}.bz2
1038 %if 0%{?gitrev}
1039 ApplyPatch patch-2.6.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}.bz2
1040 %endif
1041 %else
1042 # pre-{base_sublevel+1}-rc1 case
1043 %if 0%{?gitrev}
1044 ApplyPatch patch-2.6.%{base_sublevel}-git%{gitrev}.bz2
1045 %endif
1046 %endif
1047
1048 cd ..
1049
1050 fi
1051
1052 %endif
1053
1054 else
1055 # We already have a vanilla dir.
1056 cd kernel-%{kversion}
1057 fi
1058
1059 if [ -d linux-%{kversion}.%{_target_cpu} ]; then
1060 # Just in case we ctrl-c'd a prep already
1061 rm -rf deleteme.%{_target_cpu}
1062 # Move away the stale away, and delete in background.
1063 mv linux-%{kversion}.%{_target_cpu} deleteme.%{_target_cpu}
1064 rm -rf deleteme.%{_target_cpu} &
1065 fi
1066
1067 cp -rl vanilla-%{vanillaversion} linux-%{kversion}.%{_target_cpu}
1068
1069 cd linux-%{kversion}.%{_target_cpu}
1070
1071 # released_kernel with possible stable updates
1072 %if 0%{?stable_base}
1073 ApplyPatch %{stable_patch_00}
1074 %endif
1075 %if 0%{?stable_rc}
1076 ApplyPatch %{stable_patch_01}
1077 %endif
1078
1079 %if %{using_upstream_branch}
1080 ### BRANCH APPLY ###
1081 %endif
1082
1083 # Drop some necessary files from the source dir into the buildroot
1084 cp $RPM_SOURCE_DIR/config-* .
1085 cp %{SOURCE15} .
1086
1087 # Dynamically generate kernel .config files from config-* files
1088 make -f %{SOURCE20} VERSION=%{version} configs
1089
1090 #if a rhel kernel, apply the rhel config options
1091 %if 0%{?rhel}
1092 for i in %{all_arch_configs}
1093 do
1094 mv $i $i.tmp
1095 ./merge.pl config-rhel-generic $i.tmp > $i
1096 rm $i.tmp
1097 done
1098 %endif
1099
1100 ApplyOptionalPatch git-linus.diff
1101
1102 # This patch adds a "make nonint_oldconfig" which is non-interactive and
1103 # also gives a list of missing options at the end. Useful for automated
1104 # builds (as used in the buildsystem).
1105 ApplyPatch linux-2.6-build-nonintconfig.patch
1106
1107 ApplyPatch linux-2.6-makefile-after_link.patch
1108
1109 #
1110 # misc small stuff to make things compile
1111 #
1112 ApplyOptionalPatch linux-2.6-compile-fixes.patch
1113
1114 %if !%{nopatches}
1115
1116 # revert patches from upstream that conflict or that we get via other means
1117 ApplyOptionalPatch linux-2.6-upstream-reverts.patch -R
1118
1119 #ApplyPatch git-cpufreq.patch
1120 #ApplyPatch git-bluetooth.patch
1121
1122 ApplyPatch linux-2.6-hotfixes.patch
1123
1124 # Roland's utrace ptrace replacement.
1125 #ApplyPatch linux-2.6-tracehook.patch # merged
1126 ApplyPatch linux-2.6-utrace.patch
1127
1128 # enable sysrq-c on all kernels, not only kexec
1129 #ApplyPatch linux-2.6-sysrq-c.patch
1130
1131 # Architecture patches
1132 # x86(-64)
1133 ApplyPatch via-hwmon-temp-sensor.patch
1134 ApplyPatch linux-2.6-dell-laptop-rfkill-fix.patch
1135
1136 #
1137 # Intel IOMMU
1138 #
1139
1140 #
1141 # PowerPC
1142 #
1143 ### NOT (YET) UPSTREAM:
1144 # The storage alias patch is Fedora-local, and allows the old 'ps3_storage'
1145 # module name to work on upgrades. Otherwise, I believe mkinitrd will fail
1146 # to pull the module in,
1147 ApplyPatch linux-2.6-ps3-storage-alias.patch
1148 # Alleviate G5 thermal shutdown problems
1149 ApplyPatch linux-2.6-g5-therm-shutdown.patch
1150 # Provide modalias in sysfs for vio devices
1151 ApplyPatch linux-2.6-vio-modalias.patch
1152 # Work around PCIe bridge setup on iSight
1153 ApplyPatch linux-2.6-imac-transparent-bridge.patch
1154
1155 #
1156 # SPARC64
1157 #
1158 ApplyPatch linux-2.6.29-sparc-IOC_TYPECHECK.patch
1159
1160 #
1161 # Exec shield
1162 #
1163 ApplyPatch linux-2.6-execshield.patch
1164
1165 #
1166 # bugfixes to drivers and filesystems
1167 #
1168
1169 # ext4
1170
1171 # xfs
1172
1173 # btrfs
1174
1175 # eCryptfs
1176
1177 # NFSv4
1178 ApplyPatch linux-2.6-nfsd4-proots.patch
1179 ApplyPatch linux-2.6-nfs4-callback-hidden.patch
1180
1181 # USB
1182 ApplyPatch linux-2.6-driver-level-usb-autosuspend.diff
1183 #ApplyPatch linux-2.6-fix-usb-serial-autosuspend.diff
1184 ApplyPatch linux-2.6-qcserial-autosuspend.diff
1185 ApplyPatch linux-2.6-usb-uvc-autosuspend.diff
1186
1187 # ACPI
1188 ApplyPatch linux-2.6-defaults-acpi-video.patch
1189 ApplyPatch linux-2.6-acpi-video-dos.patch
1190
1191 # Various low-impact patches to aid debugging.
1192 ApplyPatch linux-2.6-debug-sizeof-structs.patch
1193 ApplyPatch linux-2.6-debug-nmi-timeout.patch
1194 ApplyPatch linux-2.6-debug-taint-vm.patch
1195 ApplyPatch linux-2.6-debug-spinlock-taint.patch
1196 ApplyPatch linux-2.6-debug-vm-would-have-oomkilled.patch
1197 ApplyPatch linux-2.6-debug-always-inline-kzalloc.patch
1198
1199 #
1200 # PCI
1201 #
1202 # disable message signaled interrupts
1203 ApplyPatch linux-2.6-defaults-pci_no_msi.patch
1204 # update the pciehp driver
1205 #ApplyPatch linux-2.6-pciehp-update.patch
1206 # default to enabling passively listening for hotplug events
1207 #ApplyPatch linux-2.6-defaults-pciehp.patch
1208 # enable ASPM by default on hardware we expect to work
1209 ApplyPatch linux-2.6-defaults-aspm.patch
1210
1211 #
1212 # SCSI Bits.
1213 #
1214
1215 # ALSA
1216 # squelch hda_beep by default
1217 ApplyPatch linux-2.6-defaults-alsa-hda-beep-off.patch
1218 ApplyPatch hda_intel-prealloc-4mb-dmabuffer.patch
1219
1220 # Networking
1221
1222 # Misc fixes
1223 # The input layer spews crap no-one cares about.
1224 ApplyPatch linux-2.6-input-kill-stupid-messages.patch
1225
1226 # stop floppy.ko from autoloading during udev...
1227 ApplyPatch die-floppy-die.patch
1228
1229 # Get away from having to poll Toshibas
1230 #ApplyPatch linux-2.6-input-fix-toshiba-hotkeys.patch
1231
1232 ApplyPatch linux-2.6.30-no-pcspkr-modalias.patch
1233
1234 # Allow to use 480600 baud on 16C950 UARTs
1235 ApplyPatch linux-2.6-serial-460800.patch
1236
1237 # Silence some useless messages that still get printed with 'quiet'
1238 ApplyPatch linux-2.6-silence-noise.patch
1239 ApplyPatch linux-2.6.30-hush-rom-warning.patch
1240
1241 # Make fbcon not show the penguins with 'quiet'
1242 ApplyPatch linux-2.6-silence-fbcon-logo.patch
1243
1244 # Fix the SELinux mprotect checks on executable mappings
1245 #ApplyPatch linux-2.6-selinux-mprotect-checks.patch
1246 # Fix SELinux for sparc
1247 #ApplyPatch linux-2.6-sparc-selinux-mprotect-checks.patch
1248
1249 # Changes to upstream defaults.
1250
1251
1252 # ia64 ata quirk
1253 ApplyPatch linux-2.6-ata-quirk.patch
1254
1255 # rt2x00: back-port activity LED init patches
1256 #ApplyPatch linux-2.6-rt2x00-asus-leds.patch
1257
1258 # back-port scan result aging patches
1259 #ApplyPatch linux-2.6-mac80211-age-scan-results-on-resume.patch
1260
1261 # Mark kernel data as NX
1262 #ApplyPatch linux-2.6.31-nx-data.patch
1263 # Apply NX/RO to modules
1264 #ApplyPatch linux-2.6.31-modules-ro-nx.patch
1265
1266 # /dev/crash driver.
1267 ApplyPatch linux-2.6-crash-driver.patch
1268
1269 # Determine cacheline sizes in a generic manner.
1270 ApplyPatch linux-2.6-pci-cacheline-sizing.patch
1271
1272 # http://www.lirc.org/
1273 ApplyPatch lirc-2.6.31.patch
1274 # enable IR receiver on Hauppauge HD PVR (v4l-dvb merge pending)
1275 ApplyPatch hdpvr-ir-enable.patch
1276
1277 # Add kernel KSM support
1278 # Optimize KVM for KSM support
1279 #ApplyPatch linux-2.6-ksm-kvm.patch
1280
1281 # Assorted Virt Fixes
1282
1283 # Fix block I/O errors in KVM
1284 #ApplyPatch linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch
1285
1286 ApplyPatch linux-2.6-e1000-ich9.patch
1287
1288 # Nouveau DRM + drm fixes
1289 #ApplyPatch drm-nouveau.patch
1290 # pm broken on my thinkpad t60p - airlied
1291 #ApplyPatch drm-radeon-pm.patch
1292 #ApplyPatch drm-i915-resume-force-mode.patch
1293 ApplyPatch drm-intel-big-hammer.patch
1294 #ApplyPatch drm-page-flip.patch
1295 ApplyOptionalPatch drm-intel-next.patch
1296 #this appears to be upstream - mjg59?
1297 #ApplyPatch drm-intel-pm.patch
1298
1299 # linux1394 git patches
1300 #ApplyPatch linux-2.6-firewire-git-update.patch
1301 #ApplyOptionalPatch linux-2.6-firewire-git-pending.patch
1302
1303 # silence the ACPI blacklist code
1304 ApplyPatch linux-2.6-silence-acpi-blacklist.patch
1305
1306 # V4L/DVB updates/fixes/experimental drivers
1307 #ApplyPatch linux-2.6-v4l-dvb-fixes.patch
1308 #ApplyPatch linux-2.6-v4l-dvb-update.patch
1309 #ApplyPatch linux-2.6-v4l-dvb-experimental.patch
1310 #ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
1311
1312 # Patches headed upstream
1313 ApplyPatch linux-2.6-rfkill-all.patch
1314
1315 # END OF PATCH APPLICATIONS
1316
1317 %endif
1318
1319 # Any further pre-build tree manipulations happen here.
1320
1321 chmod +x scripts/checkpatch.pl
1322
1323 # only deal with configs if we are going to build for the arch
1324 %ifnarch %nobuildarches
1325
1326 mkdir configs
1327
1328 # Remove configs not for the buildarch
1329 for cfg in kernel-%{version}-*.config; do
1330 if [ `echo %{all_arch_configs} | grep -c $cfg` -eq 0 ]; then
1331 rm -f $cfg
1332 fi
1333 done
1334
1335 %if !%{debugbuildsenabled}
1336 rm -f kernel-%{version}-*debug.config
1337 %endif
1338
1339 # now run oldconfig over all the config files
1340 for i in *.config
1341 do
1342 mv $i .config
1343 Arch=`head -1 .config | cut -b 3-`
1344 make ARCH=$Arch %{oldconfig_target} > /dev/null
1345 echo "# $Arch" > configs/$i
1346 cat .config >> configs/$i
1347 rm -f include/generated/kernel.arch
1348 rm -f include/generated/kernel.cross
1349 done
1350 # end of kernel config
1351 %endif
1352
1353 # get rid of unwanted files resulting from patch fuzz
1354 find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
1355
1356 cd ..
1357
1358 ###
1359 ### build
1360 ###
1361 %build
1362
1363 %if %{with_sparse}
1364 %define sparse_mflags C=1
1365 %endif
1366
1367 %if %{fancy_debuginfo}
1368 # This override tweaks the kernel makefiles so that we run debugedit on an
1369 # object before embedding it. When we later run find-debuginfo.sh, it will
1370 # run debugedit again. The edits it does change the build ID bits embedded
1371 # in the stripped object, but repeating debugedit is a no-op. We do it
1372 # beforehand to get the proper final build ID bits into the embedded image.
1373 # This affects the vDSO images in vmlinux, and the vmlinux image in bzImage.
1374 export AFTER_LINK=\
1375 'sh -xc "/usr/lib/rpm/debugedit -b $$RPM_BUILD_DIR -d /usr/src/debug -i $@"'
1376 %endif
1377
1378 cp_vmlinux()
1379 {
1380 eu-strip --remove-comment -o "$2" "$1"
1381 }
1382
1383 BuildKernel() {
1384 MakeTarget=$1
1385 KernelImage=$2
1386 Flavour=$3
1387 InstallName=${4:-vmlinuz}
1388
1389 # Pick the right config file for the kernel we're building
1390 Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config
1391 DevelDir=/usr/src/kernels/%{KVERREL}${Flavour:+.${Flavour}}
1392
1393 # When the bootable image is just the ELF kernel, strip it.
1394 # We already copy the unstripped file into the debuginfo package.
1395 if [ "$KernelImage" = vmlinux ]; then
1396 CopyKernel=cp_vmlinux
1397 else
1398 CopyKernel=cp
1399 fi
1400
1401 KernelVer=%{version}-%{release}.%{_target_cpu}${Flavour:+.${Flavour}}
1402 echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}...
1403
1404 # make sure EXTRAVERSION says what we want it to say
1405 perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?stablerev}-%{release}.%{_target_cpu}${Flavour:+.${Flavour}}/" Makefile
1406
1407 # if pre-rc1 devel kernel, must fix up SUBLEVEL for our versioning scheme
1408 %if !0%{?rcrev}
1409 %if 0%{?gitrev}
1410 perl -p -i -e 's/^SUBLEVEL.*/SUBLEVEL = %{upstream_sublevel}/' Makefile
1411 %endif
1412 %endif
1413
1414 # and now to start the build process
1415
1416 make -s mrproper
1417 cp configs/$Config .config
1418
1419 Arch=`head -1 .config | cut -b 3-`
1420 echo USING ARCH=$Arch
1421
1422 make -s ARCH=$Arch %{oldconfig_target} > /dev/null
1423 make -s ARCH=$Arch V=1 %{?_smp_mflags} $MakeTarget %{?sparse_mflags}
1424 make -s ARCH=$Arch V=1 %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
1425
1426 %if %{with_perftool}
1427 pushd tools/perf
1428 # make sure the scripts are executable... won't be in tarball until 2.6.31 :/
1429 chmod +x util/generate-cmdlist.sh util/PERF-VERSION-GEN
1430 make -s V=1 %{?_smp_mflags} perf
1431 mkdir -p $RPM_BUILD_ROOT/usr/libexec/
1432 install -m 755 perf $RPM_BUILD_ROOT/usr/libexec/perf.$KernelVer
1433 popd
1434 %endif
1435
1436 # Start installing the results
1437 %if %{with_debuginfo}
1438 mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/boot
1439 mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
1440 %endif
1441 mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
1442 install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
1443 install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
1444 %if %{with_dracut}
1445 # We estimate the size of the initramfs because rpm needs to take this size
1446 # into consideration when performing disk space calculations. (See bz #530778)
1447 dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
1448 %else
1449 dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initrd-$KernelVer.img bs=1M count=5
1450 %endif
1451 if [ -f arch/$Arch/boot/zImage.stub ]; then
1452 cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
1453 fi
1454 $CopyKernel $KernelImage \
1455 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
1456 chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
1457
1458 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
1459 # Override $(mod-fw) because we don't want it to install any firmware
1460 # We'll do that ourselves with 'make firmware_install'
1461 make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
1462 %ifarch %{vdso_arches}
1463 make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
1464 if grep '^CONFIG_XEN=y$' .config >/dev/null; then
1465 echo > ldconfig-kernel.conf "\
1466 # This directive teaches ldconfig to search in nosegneg subdirectories
1467 # and cache the DSOs there with extra bit 0 set in their hwcap match
1468 # fields. In Xen guest kernels, the vDSO tells the dynamic linker to
1469 # search in nosegneg subdirectories and to match this extra hwcap bit
1470 # in the ld.so.cache file.
1471 hwcap 0 nosegneg"
1472 fi
1473 if [ ! -s ldconfig-kernel.conf ]; then
1474 echo > ldconfig-kernel.conf "\
1475 # Placeholder file, no vDSO hwcap entries used in this kernel."
1476 fi
1477 %{__install} -D -m 444 ldconfig-kernel.conf \
1478 $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
1479 %endif
1480
1481 # And save the headers/makefiles etc for building modules against
1482 #
1483 # This all looks scary, but the end result is supposed to be:
1484 # * all arch relevant include/ files
1485 # * all Makefile/Kconfig files
1486 # * all script/ files
1487
1488 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1489 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
1490 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1491 (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
1492 # dirs for additional modules per module-init-tools, kbuild/modules.txt
1493 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
1494 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
1495 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-updates
1496 # first copy everything
1497 cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1498 cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1499 cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1500 if [ -s Module.markers ]; then
1501 cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1502 fi
1503 # then drop all but the needed Makefiles/Kconfig files
1504 rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
1505 rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
1506 rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
1507 cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1508 cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1509 if [ -d arch/$Arch/scripts ]; then
1510 cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
1511 fi
1512 if [ -f arch/$Arch/*lds ]; then
1513 cp -a arch/$Arch/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
1514 fi
1515 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
1516 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
1517 %ifarch ppc
1518 cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
1519 %endif
1520 if [ -d arch/%{asmarch}/include ]; then
1521 cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
1522 fi
1523 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
1524 cd include
1525 cp -a acpi config crypto keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound trace video drm asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
1526 asmdir=$(readlink asm)
1527 cp -a $asmdir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/
1528 pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
1529 ln -s $asmdir asm
1530 popd
1531 # Make sure the Makefile and version.h have a matching timestamp so that
1532 # external modules can be built
1533 touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/version.h
1534 touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h
1535 # Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
1536 cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf
1537 cd ..
1538
1539 #
1540 # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
1541 #
1542 %if %{with_debuginfo}
1543 mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
1544 cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
1545 %endif
1546
1547 find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
1548
1549 # mark modules executable so that strip-to-file can strip them
1550 xargs --no-run-if-empty chmod u+x < modnames
1551
1552 # Generate a list of modules for block and networking.
1553
1554 fgrep /drivers/ modnames | xargs --no-run-if-empty nm -upA |
1555 sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef
1556
1557 collect_modules_list()
1558 {
1559 sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
1560 LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
1561 }
1562
1563 collect_modules_list networking \
1564 'register_netdev|ieee80211_register_hw|usbnet_probe'
1565 collect_modules_list block \
1566 'ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler'
1567 collect_modules_list drm \
1568 'drm_open|drm_init'
1569 collect_modules_list modesetting \
1570 'drm_crtc_init'
1571
1572 # detect missing or incorrect license tags
1573 rm -f modinfo
1574 while read i
1575 do
1576 echo -n "${i#$RPM_BUILD_ROOT/lib/modules/$KernelVer/} " >> modinfo
1577 /sbin/modinfo -l $i >> modinfo
1578 done < modnames
1579
1580 egrep -v \
1581 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' \
1582 modinfo && exit 1
1583
1584 rm -f modinfo modnames
1585
1586 # remove files that will be auto generated by depmod at rpm -i time
1587 for i in alias alias.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
1588 do
1589 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
1590 done
1591
1592 # Move the devel headers out of the root file system
1593 mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
1594 mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
1595 ln -sf ../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
1596 }
1597
1598 ###
1599 # DO it...
1600 ###
1601
1602 # prepare directories
1603 rm -rf $RPM_BUILD_ROOT
1604 mkdir -p $RPM_BUILD_ROOT/boot
1605
1606 cd linux-%{kversion}.%{_target_cpu}
1607
1608 %if %{with_debug}
1609 %if %{with_up}
1610 BuildKernel %make_target %kernel_image debug
1611 %endif
1612 %if %{with_pae}
1613 BuildKernel %make_target %kernel_image PAEdebug
1614 %endif
1615 %endif
1616
1617 %if %{with_pae}
1618 BuildKernel %make_target %kernel_image PAE
1619 %endif
1620
1621 %if %{with_up}
1622 BuildKernel %make_target %kernel_image
1623 %endif
1624
1625 %if %{with_smp}
1626 BuildKernel %make_target %kernel_image smp
1627 %endif
1628
1629 %if %{with_kdump}
1630 BuildKernel vmlinux vmlinux kdump vmlinux
1631 %endif
1632
1633 %if %{with_doc}
1634 # Make the HTML and man pages.
1635 make %{?_smp_mflags} htmldocs mandocs || %{doc_build_fail}
1636
1637 # sometimes non-world-readable files sneak into the kernel source tree
1638 chmod -R a=rX Documentation
1639 find Documentation -type d | xargs chmod u+w
1640 %endif
1641
1642 %if %{with_perf}
1643 pushd tools/perf
1644 make %{?_smp_mflags} man || %{doc_build_fail}
1645 popd
1646 %endif
1647
1648 ###
1649 ### Special hacks for debuginfo subpackages.
1650 ###
1651
1652 # This macro is used by %%install, so we must redefine it before that.
1653 %define debug_package %{nil}
1654
1655 %if %{fancy_debuginfo}
1656 %define __debug_install_post \
1657 /usr/lib/rpm/find-debuginfo.sh %{debuginfo_args} %{_builddir}/%{?buildsubdir}\
1658 %{nil}
1659 %endif
1660
1661 %if %{with_debuginfo}
1662 %ifnarch noarch
1663 %global __debug_package 1
1664 %files -f debugfiles.list debuginfo-common-%{_target_cpu}
1665 %defattr(-,root,root)
1666 %endif
1667 %endif
1668
1669 ###
1670 ### install
1671 ###
1672
1673 %install
1674
1675 cd linux-%{kversion}.%{_target_cpu}
1676
1677 %if %{with_doc}
1678 docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion}
1679 man9dir=$RPM_BUILD_ROOT%{_datadir}/man/man9
1680
1681 # copy the source over
1682 mkdir -p $docdir
1683 tar -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir
1684
1685 # Install man pages for the kernel API.
1686 mkdir -p $man9dir
1687 find Documentation/DocBook/man -name '*.9.gz' -print0 |
1688 xargs -0 --no-run-if-empty %{__install} -m 444 -t $man9dir $m
1689 ls $man9dir | grep -q '' || > $man9dir/BROKEN
1690 %endif # with_doc
1691
1692 # perf docs
1693 %if %{with_perf}
1694 mandir=$RPM_BUILD_ROOT%{_datadir}/man
1695 man1dir=$mandir/man1
1696 pushd tools/perf/Documentation
1697 make install-man mandir=$mandir
1698 popd
1699
1700 pushd $man1dir
1701 for d in *.1; do
1702 gzip $d;
1703 done
1704 popd
1705 %endif # with_perf
1706
1707 # perf shell wrapper
1708 %if %{with_perf}
1709 mkdir -p $RPM_BUILD_ROOT/usr/sbin/
1710 cp $RPM_SOURCE_DIR/perf $RPM_BUILD_ROOT/usr/sbin/perf
1711 chmod 0755 $RPM_BUILD_ROOT/usr/sbin/perf
1712 mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/perf
1713 %endif
1714
1715 %if %{with_headers}
1716 # Install kernel headers
1717 make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install
1718
1719 # Do headers_check but don't die if it fails.
1720 make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_check \
1721 > hdrwarnings.txt || :
1722 if grep -q exist hdrwarnings.txt; then
1723 sed s:^$RPM_BUILD_ROOT/usr/include/:: hdrwarnings.txt
1724 # Temporarily cause a build failure if header inconsistencies.
1725 # exit 1
1726 fi
1727
1728 find $RPM_BUILD_ROOT/usr/include \
1729 \( -name .install -o -name .check -o \
1730 -name ..install.cmd -o -name ..check.cmd \) | xargs rm -f
1731
1732 # glibc provides scsi headers for itself, for now
1733 rm -rf $RPM_BUILD_ROOT/usr/include/scsi
1734 rm -f $RPM_BUILD_ROOT/usr/include/asm*/atomic.h
1735 rm -f $RPM_BUILD_ROOT/usr/include/asm*/io.h
1736 rm -f $RPM_BUILD_ROOT/usr/include/asm*/irq.h
1737 %endif
1738
1739 %if %{with_firmware}
1740 %{build_firmware}
1741 %endif
1742
1743 %if %{with_bootwrapper}
1744 make DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kernel-wrapper WRAPPER_DTSDIR=%{_libdir}/kernel-wrapper/dts
1745 %endif
1746
1747
1748 ###
1749 ### clean
1750 ###
1751
1752 %clean
1753 rm -rf $RPM_BUILD_ROOT
1754
1755 ###
1756 ### scripts
1757 ###
1758
1759 #
1760 # This macro defines a %%post script for a kernel*-devel package.
1761 # %%kernel_devel_post [<subpackage>]
1762 #
1763 %define kernel_devel_post() \
1764 %{expand:%%post %{?1:%{1}-}devel}\
1765 if [ -f /etc/sysconfig/kernel ]\
1766 then\
1767 . /etc/sysconfig/kernel || exit $?\
1768 fi\
1769 if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]\
1770 then\
1771 (cd /usr/src/kernels/%{KVERREL}%{?1:.%{1}} &&\
1772 /usr/bin/find . -type f | while read f; do\
1773 hardlink -c /usr/src/kernels/*.fc*.*/$f $f\
1774 done)\
1775 fi\
1776 %{nil}
1777
1778 # This macro defines a %%posttrans script for a kernel package.
1779 # %%kernel_variant_posttrans [<subpackage>]
1780 # More text can follow to go at the end of this variant's %%post.
1781 #
1782 %define kernel_variant_posttrans() \
1783 %{expand:%%posttrans %{?1}}\
1784 /sbin/new-kernel-pkg --package kernel%{?1:-%{1}} --rpmposttrans %{KVERREL}%{?1:.%{1}} || exit $?\
1785 %{nil}
1786
1787 #
1788 # This macro defines a %%post script for a kernel package and its devel package.
1789 # %%kernel_variant_post [-v <subpackage>] [-r <replace>]
1790 # More text can follow to go at the end of this variant's %%post.
1791 #
1792 %define kernel_variant_post(v:r:) \
1793 %{expand:%%kernel_devel_post %{?-v*}}\
1794 %{expand:%%kernel_variant_posttrans %{?-v*}}\
1795 %{expand:%%post %{?-v*}}\
1796 %{-r:\
1797 if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\
1798 [ -f /etc/sysconfig/kernel ]; then\
1799 /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\
1800 fi}\
1801 %{expand:\
1802 %if %{with_dracut}\
1803 /sbin/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --mkinitrd --dracut --depmod --install %{KVERREL}%{?-v:.%{-v*}} || exit $?\
1804 %else\
1805 /sbin/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --mkinitrd --depmod --install %{KVERREL}%{?-v:.%{-v*}} || exit $?\
1806 %endif}\
1807 #if [ -x /sbin/weak-modules ]\
1808 #then\
1809 # /sbin/weak-modules --add-kernel %{KVERREL}%{?-v*} || exit $?\
1810 #fi\
1811 %{nil}
1812
1813 #
1814 # This macro defines a %%preun script for a kernel package.
1815 # %%kernel_variant_preun <subpackage>
1816 #
1817 %define kernel_variant_preun() \
1818 %{expand:%%preun %{?1}}\
1819 /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}%{?1:.%{1}} || exit $?\
1820 #if [ -x /sbin/weak-modules ]\
1821 #then\
1822 # /sbin/weak-modules --remove-kernel %{KVERREL}%{?1} || exit $?\
1823 #fi\
1824 %{nil}
1825
1826 %kernel_variant_preun
1827 %ifarch x86_64
1828 %kernel_variant_post -r (kernel-smp|kernel-xen)
1829 %else
1830 %kernel_variant_post -r kernel-smp
1831 %endif
1832
1833 %kernel_variant_preun smp
1834 %kernel_variant_post -v smp
1835
1836 %kernel_variant_preun PAE
1837 %kernel_variant_post -v PAE -r (kernel|kernel-smp|kernel-xen)
1838
1839 %kernel_variant_preun debug
1840 %kernel_variant_post -v debug
1841
1842 %kernel_variant_post -v PAEdebug -r (kernel|kernel-smp|kernel-xen)
1843 %kernel_variant_preun PAEdebug
1844
1845 if [ -x /sbin/ldconfig ]
1846 then
1847 /sbin/ldconfig -X || exit $?
1848 fi
1849
1850 ###
1851 ### file lists
1852 ###
1853
1854 %if %{with_headers}
1855 %files headers
1856 %defattr(-,root,root)
1857 /usr/include/*
1858 %endif
1859
1860 %if %{with_firmware}
1861 %files firmware
1862 %defattr(-,root,root)
1863 /lib/firmware/*
1864 %doc linux-%{kversion}.%{_target_cpu}/firmware/WHENCE
1865 %endif
1866
1867 %if %{with_bootwrapper}
1868 %files bootwrapper
1869 %defattr(-,root,root)
1870 /usr/sbin/*
1871 %{_libdir}/kernel-wrapper
1872 %endif
1873
1874 # only some architecture builds need kernel-doc
1875 %if %{with_doc}
1876 %files doc
1877 %defattr(-,root,root)
1878 %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation/*
1879 %dir %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation
1880 %dir %{_datadir}/doc/kernel-doc-%{rpmversion}
1881 %{_datadir}/man/man9/*
1882 %endif
1883
1884 %if %{with_perf}
1885 %files -n perf
1886 %defattr(-,root,root)
1887 %{_datadir}/doc/perf
1888 /usr/sbin/perf
1889 %{_datadir}/man/man1/*
1890 %endif
1891
1892 # This is %{image_install_path} on an arch where that includes ELF files,
1893 # or empty otherwise.
1894 %define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
1895
1896 #
1897 # This macro defines the %%files sections for a kernel package
1898 # and its devel and debuginfo packages.
1899 # %%kernel_variant_files [-k vmlinux] <condition> <subpackage>
1900 #
1901 %define kernel_variant_files(k:) \
1902 %if %{1}\
1903 %{expand:%%files %{?2}}\
1904 %defattr(-,root,root)\
1905 /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?2:.%{2}}\
1906 /boot/System.map-%{KVERREL}%{?2:.%{2}}\
1907 %if %{with_perftool}\
1908 /usr/libexec/perf.%{KVERREL}%{?2:.%{2}}\
1909 %endif\
1910 #/boot/symvers-%{KVERREL}%{?2:.%{2}}.gz\
1911 /boot/config-%{KVERREL}%{?2:.%{2}}\
1912 %dir /lib/modules/%{KVERREL}%{?2:.%{2}}\
1913 /lib/modules/%{KVERREL}%{?2:.%{2}}/kernel\
1914 /lib/modules/%{KVERREL}%{?2:.%{2}}/build\
1915 /lib/modules/%{KVERREL}%{?2:.%{2}}/source\
1916 /lib/modules/%{KVERREL}%{?2:.%{2}}/extra\
1917 /lib/modules/%{KVERREL}%{?2:.%{2}}/updates\
1918 /lib/modules/%{KVERREL}%{?2:.%{2}}/weak-updates\
1919 %ifarch %{vdso_arches}\
1920 /lib/modules/%{KVERREL}%{?2:.%{2}}/vdso\
1921 /etc/ld.so.conf.d/kernel-%{KVERREL}%{?2:.%{2}}.conf\
1922 %endif\
1923 /lib/modules/%{KVERREL}%{?2:.%{2}}/modules.*\
1924 %if %{with_dracut}\
1925 %ghost /boot/initramfs-%{KVERREL}%{?2:.%{2}}.img\
1926 %else\
1927 %ghost /boot/initrd-%{KVERREL}%{?2:.%{2}}.img\
1928 %endif\
1929 %{expand:%%files %{?2:%{2}-}devel}\
1930 %defattr(-,root,root)\
1931 %dir /usr/src/kernels\
1932 %verify(not mtime) /usr/src/kernels/%{KVERREL}%{?2:.%{2}}\
1933 /usr/src/kernels/%{KVERREL}%{?2:.%{2}}\
1934 %if %{with_debuginfo}\
1935 %ifnarch noarch\
1936 %if %{fancy_debuginfo}\
1937 %{expand:%%files -f debuginfo%{?2}.list %{?2:%{2}-}debuginfo}\
1938 %else\
1939 %{expand:%%files %{?2:%{2}-}debuginfo}\
1940 %endif\
1941 %defattr(-,root,root)\
1942 %if !%{fancy_debuginfo}\
1943 %if "%{elf_image_install_path}" != ""\
1944 %{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}%{?2:.%{2}}.debug\
1945 %endif\
1946 %{debuginfodir}/lib/modules/%{KVERREL}%{?2:.%{2}}\
1947 %{debuginfodir}/usr/src/kernels/%{KVERREL}%{?2:.%{2}}\
1948 %endif\
1949 %endif\
1950 %endif\
1951 %endif\
1952 %{nil}
1953
1954
1955 %kernel_variant_files %{with_up}
1956 %kernel_variant_files %{with_smp} smp
1957 %if %{with_up}
1958 %kernel_variant_files %{with_debug} debug
1959 %endif
1960 %kernel_variant_files %{with_pae} PAE
1961 %kernel_variant_files %{with_pae_debug} PAEdebug
1962 %kernel_variant_files -k vmlinux %{with_kdump} kdump
1963
1964 # plz don't put in a version string unless you're going to tag
1965 # and build.
1966
1967 # ##############################################################
1968 #
1969 # STOP! The devel branch is for F-13. Update F-12 for Fedora 12.
1970 #
1971 # ##############################################################
1972
1973 %changelog
1974 * Wed Nov 04 2009 Kyle McMartin <kyle@redhat.com>
1975 - Make JBD2_DEBUG a toggleable config option.
1976
1977 * Wed Nov 04 2009 Kyle McMartin <kyle@redhat.com> 2.6.32-0.39.rc6.git0
1978 - 2.6.32-rc6, fix for NULL ptr deref in cfg80211.
1979
1980 * Mon Nov 02 2009 Kyle McMartin <kyle@redhat.com> 2.6.32-0.39.rc5.git6
1981 - 2.6.32-rc5-git6 (with sandeen's reversion of "ext4: Remove journal_checksum
1982 mount option and enable it by default")
1983
1984 * Mon Nov 02 2009 Chuck Ebbert <cebbert@redhat.com>
1985 - 2.6.32-rc5-git5
1986
1987 * Tue Oct 27 2009 John W. Linville <linville@redhat.com>
1988 - Disable build of prism54 module
1989
1990 * Tue Oct 27 2009 Dave Airlie <airlied@redhat.com>
1991 - Get dd command line args correct.
1992
1993 * Mon Oct 26 2009 Dave Jones <davej@redhat.com>
1994 - Make a 20MB initramfs file so rpm gets its diskspace calculations right. (#530778)
1995
1996 * Sat Oct 23 2009 Chuck Ebbert <cebbert@redhat.com>
1997 - 2.6.32-rc5-git3
1998 - Drop merged patch:
1999 linux-2.6-virtio_blk-revert-QUEUE_FLAG_VIRT-addition.patch
2000
2001 * Sat Oct 17 2009 Chuck Ebbert <cebbert@redhat.com> 2.6.32-0.33.rc5.git1
2002 - 2.6.32-rc5-git1
2003
2004 * Fri Oct 16 2009 Chuck Ebbert <cebbert@redhat.com>
2005 - 2.6.32-rc5
2006 - New config option: CONFIG_VMXNET3=m
2007
2008 * Wed Oct 14 2009 Chuck Ebbert <cebbert@redhat.com>
2009 - 2.6.32-rc4-git4
2010
2011 * Wed Oct 14 2009 Steve Dickson <steved@redhat.com>
2012 - Updated the NFS v4 pseudo root patch so it will apply
2013 - Fixed hang during NFS installs (bz 528537)
2014
2015 * Wed Oct 14 2009 Peter Jones <pjones@redhat.com>
2016 - Add scsi_register_device_handler to modules.block's symbol list so
2017 we'll have scsi device handlers in installer images.
2018
2019 * Tue Oct 13 2009 Kyle McMartin <kyle@redhat.com>
2020 - Always build perf docs, regardless of whether we build kernel-doc.
2021 Seems rather unfair to not ship the manpages half the time.
2022 Also, drop BuildRequires %if when not with_doc, the rules about %if
2023 there are f*!&^ing complicated.
2024
2025 * Tue Oct 13 2009 Kyle McMartin <kyle@redhat.com>
2026 - Build perf manpages properly.
2027
2028 * Tue Oct 13 2009 Dave Airlie <airlied@redhat.com>
2029 - cleanup some of drm vga arb bits that are upstream
2030
2031 * Mon Oct 12 2009 Jarod Wilson <jarod@redhat.com>
2032 - Merge lirc compile fixes into lirc patch
2033 - Refresh lirc patch with additional irq handling fixage
2034 - Fix IR transmit on port 1 of 1st-gen mceusb transceiver
2035 - Support another mouse button variant on imon devices
2036
2037 * Mon Oct 12 2009 Chuck Ebbert <cebbert@redhat.com> 2.6.32-0.24.rc4.git0
2038 - Last-minute USB fix from upstream.
2039
2040 * Sun Oct 11 2009 Chuck Ebbert <cebbert@redhat.com>
2041 - Fix lirc build after header changes.
2042 - Fix bug in lirc interrupt processing.
2043
2044 * Sun Oct 11 2009 Chuck Ebbert <cebbert@redhat.com>
2045 - Fix up multiple definition of debug options
2046 (EXT4_DEBUG, DEBUG_FORCE_WEAK_PER_CPU)
2047
2048 * Sun Oct 11 2009 Chuck Ebbert <cebbert@redhat.com>
2049 - 2.6.32-rc4
2050 - New config options:
2051 CONFIG_BE2ISCSI=m
2052 CONFIG_SCSI_BFA_FC=m
2053 CONFIG_USB_MUSB_HDRC is not set
2054
2055 * Sun Oct 11 2009 Kyle McMartin <kyle@redhat.com>
2056 - 2.6.32-rc3-git3
2057
2058 * Thu Oct 08 2009 Ben Skeggs <bskeggs@redhat.com>
2059 - ppc: compile nvidiafb as a module only, nvidiafb+nouveau = bang! (rh#491308)
2060
2061 * Wed Oct 07 2009 Dave Jones <davej@redhat.com>
2062 - Enable FUNCTION_GRAPH_TRACER on x86-64.
2063
2064 * Wed Oct 07 2009 Dave Jones <davej@redhat.com>
2065 - Disable CONFIG_IRQSOFF_TRACER on srostedt's recommendation.
2066 (Adds unwanted overhead when not in use).
2067
2068 * Sun Oct 04 2009 Kyle McMartin <kyle@redhat.com> 2.6.32-0.17.rc3.git0
2069 - 2.6.32-rc3 (bah, rebase script didn't catch it.)
2070
2071 * Sun Oct 04 2009 Kyle McMartin <kyle@redhat.com>
2072 - 2.6.32-rc1-git7
2073 - [x86,x86_64] ACPI_PROCESSOR_AGGREGATOR=m
2074
2075 * Mon Sep 28 2009 Kyle McMartin <kyle@redhat.com>
2076 - 2.6.32-rc1
2077 - rebased crash-driver patchset, ia64_ksyms.c conflicts. move x86 crash.h
2078 file to the right place.
2079 - full changelog forthcoming & to fedora-kernel-list.
2080
2081 * Mon Sep 28 2009 Kyle McMartin <kyle@redhat.com>
2082 - sick of rejects.
2083
2084 * Mon Sep 28 2009 Chuck Ebbert <cebbert@redhat.com>
2085 - Fix up some items missing in make debug vs. make release,
2086 rearrange so the options are in the same order.
2087 - Add new debug options:
2088 CONFIG_EXT4_DEBUG
2089 CONFIG_DEBUG_FORCE_WEAK_PER_CPU
2090
2091 * Sun Sep 27 2009 Kyle McMartin <kyle@redhat.com>
2092 - Must now make mrproper after each config pass, due to Kbuild
2093 stashing away the $ARCH variable.
2094
2095 * Sun Sep 27 2009 Kyle McMartin <kyle@redhat.com>
2096 - 2.6.31-git18
2097 - rebased:
2098 - hdpvr-ir-enable.patch
2099 - linux-2.6-build-nonintconfig.patch
2100 - linux-2.6-debug-sizeof-structs.patch
2101 - linux-2.6-debug-vm-would-have-oomkilled.patch
2102 - linux-2.6-execshield.patch
2103 - linux-2.6-makefile-after_link.patch
2104 - linux-2.6-serial-460800.patch
2105 - linux-2.6-utrace.patch
2106 - via-hwmon-temp-sensor.patch
2107 - merged:
2108 - linux-2.6-tracehook.patch
2109 - linux-2.6-die-closed-source-bios-muppets-die.patch
2110 - linux-2.6-intel-iommu-updates.patch
2111 - linux-2.6-ksm.patch
2112 - linux-2.6-ksm-updates.patch
2113 - linux-2.6-ksm-fix-munlock.patch
2114 - linux-2.6-vga-arb.patch
2115 - v4l-dvb-fix-cx25840-firmware-loading.patch
2116 - linux-2.6-rtc-show-hctosys.patch
2117
2118 * Fri Sep 18 2009 Dave Jones <davej@redhat.com>
2119 - %ghost the dracut initramfs file.
2120
2121 * Thu Sep 17 2009 Hans de Goede <hdegoede@redhat.com>
2122 - Now that we have %%post generation of dracut images we do not need to
2123 Require dracut-kernel anymore
2124
2125 * Thu Sep 17 2009 Chuck Ebbert <cebbert@redhat.com>
2126 - Disable drm-nouveau too -- it won't build without other
2127 drm updates.
2128
2129 * Wed Sep 16 2009 Roland McGrath <roland@redhat.com>
2130 - Remove workaround for gcc bug #521991, now fixed.
2131
2132 * Tue Sep 15 2009 Kyle McMartin <kyle@redhat.com>
2133 - 2.6.31-git4
2134 - rebased:
2135 - linux-2.6-execshield.patch: split paravirt_types.h
2136 - linux-2.6-buildnonintconfig.patch
2137 - disabled:
2138 - ksm, drm.
2139 - merged:
2140 - linux-2.6-kvm-pvmmu-do-not-batch-pte-updates-from-interrupt-context.patch
2141 - linux-2.6-kvm-vmx-check-cpl-before-emulating-debug-register-access.patch
2142 - linux-2.6-use-__pa_symbol-to-calculate-address-of-C-symbol.patch
2143 - linux-2.6-xen-stack-protector-fix.patch
2144 - linux-2.6-bluetooth-autosuspend.diff
2145 - hid-ignore-all-recent-imon-devices.patch
2146 - config changes:
2147 - arm:
2148 - CONFIG_HIGHPTE off, seems safer this way.
2149 - generic:
2150 - RDS_RDMA/RDS_TCP=m
2151 - SCSI_PMCRAID=m
2152 - WLAN=y, CFG80211_DEFAULT_PS=y, NL80211_TESTMODE off.
2153 - WL12XX=m
2154 - B43_PHY_LP=y
2155 - BT_MRVL=m
2156 - new MISDN stuff modular.
2157 - sparc:
2158 - enable PERF_COUNTERS & EVENT_PROFILE
2159 - ppc:
2160 - XILINX_EMACSLITE=m
2161
2162 * Mon Sep 14 2009 Chuck Ebbert <cebbert@redhat.com>
2163 - 2.6.31-git2
2164 - Drop merged patches:
2165 sched-introduce-SCHED_RESET_ON_FORK-scheduling-policy-flag.patch
2166 linux-2.6-nfs4-ver4opt.patch
2167 linux-2.6-alsa-improve-hda-powerdown.patch
2168 alsa-tell-user-that-stream-to-be-rewound-is-suspended.patch
2169 linux-2.6-ahci-export-capabilities.patch
2170 - New s390 config option:
2171 CONFIG_SCLP_ASYNC=m
2172 - New generic config options:
2173 CONFIG_ATA_VERBOSE_ERROR=y
2174 CONFIG_PATA_RDC=m
2175 CONFIG_SOUND_OSS_CORE_PRECLAIM=y
2176 CONFIG_SND_HDA_PATCH_LOADER=y
2177 CONFIG_SND_HDA_CODEC_CIRRUS=y
2178 CONFIG_OPROFILE_EVENT_MULTIPLEX=y
2179 CONFIG_CRYPTO_VMAC=m
2180 CONFIG_CRYPTO_GHASH=m
2181 - New debug option:
2182 CONFIG_DEBUG_CREDENTIALS=y in debug kernels
2183
2184 * Mon Sep 14 2009 Steve Dickson <steved@redhat.com>
2185 - Added support for -o v4 mount parsing
2186
2187 * Fri Sep 11 2009 Dave Jones <davej@redhat.com>
2188 - Apply NX/RO to modules
2189
2190 * Fri Sep 11 2009 Dave Jones <davej@redhat.com>
2191 - Mark kernel data section as NX
2192
2193 * Fri Sep 11 2009 Ben Skeggs <bskeggs@redhat.com>
2194 - nouveau: bring in Matthew Garret's initial switchable graphics support
2195
2196 * Fri Sep 11 2009 Ben Skeggs <bskeggs@redhat.com>
2197 - nouveau: fixed use of strap-based panel mode when required (rh#522649)
2198 - nouveau: temporarily block accel on NVAC chipsets (rh#522361, rh#522575)
2199
2200 * Thu Sep 10 2009 Matthew Garrett <mjg@redhat.com>
2201 - linux-2.6-ahci-export-capabilities.patch: Backport from upstream
2202 - linux-2.6-rtc-show-hctosys.patch: Export the hctosys state of an rtc
2203 - linux-2.6-rfkill-all.patch: Support for keys that toggle all rfkill state
2204
2205 * Thu Sep 10 2009 Ben Skeggs <bskeggs@redhat.com>
2206 - drm-nouveau.patch: add some scaler-only modes for LVDS, GEM/TTM fixes
2207
2208 * Wed Sep 09 2009 Dennis Gilmore <dennis@ausil.us> 2.6.31-2
2209 - touch the dracut initrd file when using %%{with_dracut}
2210
2211 * Wed Sep 09 2009 Chuck Ebbert <cebbert@redhat.com> 2.6.31-1
2212 - Linux 2.6.31
2213
2214 * Wed Sep 09 2009 Chuck Ebbert <cebbert@redhat.com>
2215 - Enable VXpocket and PDaudioCF PCMCIA sound drivers.
2216
2217 * Wed Sep 09 2009 Hans de Goede <hdegoede@redhat.com>
2218 - Move to %%post generation of dracut initrd, because of GPL issues surrounding
2219 shipping a prebuild initrd
2220 - Require grubby >= 7.0.4-1, for %%post generation
2221
2222 * Wed Sep 9 2009 Steve Dickson <steved@redhat.com>
2223 - Updated the NFS4 pseudo root code to the latest release.
2224
2225 * Wed Sep 09 2009 Justin M. Forbes <jforbes@redhat.com>
2226 - Revert virtio_blk to rotational mode. (#509383)
2227
2228 * Wed Sep 09 2009 Dave Airlie <airlied@redhat.com> 2.6.31-0.219.rc9.git
2229 - uggh lost nouveau bits in page flip
2230
2231 * Wed Sep 09 2009 Dave Airlie <airlied@redhat.com> 2.6.31-0.218.rc9.git2
2232 - fix r600 oops with page flip patch (#520766)
2233
2234 * Wed Sep 09 2009 Ben Skeggs <bskeggs@redhat.com>
2235 - drm-nouveau.patch: fix display resume on pre-G8x chips
2236
2237 * Wed Sep 09 2009 Ben Skeggs <bskeggs@redhat.com>
2238 - drm-nouveau.patch: add getparam to know using tile_flags is ok for scanout
2239
2240 * Wed Sep 09 2009 Chuck Ebbert <cebbert@redhat.com>
2241 - 2.6.31-rc9-git2
2242
2243 * Wed Sep 9 2009 Roland McGrath <roland@redhat.com> 2.6.31-0.214.rc9.git1
2244 - compile with -fno-var-tracking-assignments, work around gcc bug #521991
2245
2246 * Wed Sep 09 2009 Dave Airlie <airlied@redhat.com> 2.6.31-0.213.rc9.git1
2247 - fix two bugs in r600 kms, fencing + mobile lvds
2248
2249 * Tue Sep 08 2009 Ben Skeggs <bskeggs@redhat.com> 2.6.31-0.212.rc9.git1
2250 - drm-nouveau.patch: fix ppc build
2251
2252 * Tue Sep 08 2009 Ben Skeggs <bskeggs@redhat.com> 2.6.31-0.211.rc9.git1
2253 - drm-nouveau.patch: more misc fixes
2254
2255 * Tue Sep 08 2009 Dave Airlie <airlied@redhat.com> 2.6.31-0.210.rc9.git1
2256 - drm-page-flip.patch: rebase again
2257
2258 * Tue Sep 08 2009 Dave Airlie <airlied@redhat.com> 2.6.31-0.209.rc9.git1
2259 - drm-next.patch: fix r600 signal interruption return value
2260
2261 * Tue Sep 08 2009 Ben Skeggs <bskeggs@redhat.com> 2.6.31-0.208.rc9.git1
2262 - drm-nouveau.patch: latest upstream + rebase onto drm-next
2263
2264 * Tue Sep 08 2009 Dave Airlie <airlied@redhat.com> 2.6.31-0.207.rc9.git1
2265 - drm-vga-arb.patch: update to avoid lockdep + add r600 support
2266
2267 * Tue Sep 08 2009 Dave Airlie <airlied@redhat.com> 2.6.31-0.206.rc9.git1
2268 - drm: rebase to drm-next - r600 accel + kms should start working now
2269
2270 * Mon Sep 07 2009 Chuck Ebbert <cebbert@redhat.com> 2.6.31-0.205.rc9.git1
2271 - 2.6.31-rc9-git1
2272 - Temporarily hack the drm-next patch so it still applies; the result
2273 should still be safe to build.
2274
2275 * Sat Sep 05 2009 Chuck Ebbert <cebbert@redhat.com> 2.6.31-0.204.rc9
2276 - 2.6.31-rc9
2277
2278 * Fri Sep 04 2009 Chuck Ebbert <cebbert@redhat.com> 2.6.31-0.203.rc8.git2
2279 - Fix kernel build errors when building firmware by removing the
2280 .config file before that step and restoring it afterward.
2281
2282 * Thu Sep 03 2009 Adam Jackson <ajax@redhat.com>
2283 - drm-ddc-caching-bug.patch: Empty the connector's mode list when it's
2284 disconnected.
2285
2286 * Thu Sep 03 2009 Jarod Wilson <jarod@redhat.com>
2287 - Update hdpvr and lirc_zilog drivers for 2.6.31 i2c
2288
2289 * Thu Sep 03 2009 Justin M.Forbes <jforbes@redhat.com>
2290 - Fix xen guest with stack protector. (#508120)
2291 - Small kvm fixes.
2292
2293 * Wed Sep 02 2009 Adam Jackson <ajax@redhat.com> 2.6.31-0.199.rc8.git2
2294 - drm-intel-pm.patch: Disable by default, too flickery on too many machines.
2295 Enable with i915.powersave=1.
2296
2297 * Wed Sep 02 2009 Dave Jones <davej@redhat.com>
2298 - Add missing scriptlet dependancy. (#520788)
2299
2300 * Tue Sep 01 2009 Adam Jackson <ajax@redhat.com>
2301 - Make DRM less chatty about EDID failures. No one cares.
2302
2303 * Tue Sep 01 2009 Chuck Ebbert <cebbert@redhat.com>
2304 - 2.6.31-rc8-git2
2305 - Blank out drm-intel-next: entire contents are now upstream.
2306
2307 * Tue Sep 01 2009 Dave Jones <davej@redhat.com>
2308 - Make firmware buildarch noarch. (Suggested by drago01 on irc)
2309
2310 * Tue Sep 01 2009 Jarod Wilson <jarod@redhat.com>
2311 - Fix up lirc_zilog to enable functional IR transmit and receive
2312 on the Hauppauge HD PVR
2313 - Fix audio on PVR-500 when used in same system as HVR-1800 (#480728)
2314
2315 * Sun Aug 30 2009 Chuck Ebbert <cebbert@redhat.com>
2316 - 2.6.31-rc8-git1
2317 - Drop linux-2.6-inotify-accounting.patch, merged upstream.
2318
2319 * Sun Aug 30 2009 Jarod Wilson <jarod@redhat.com>
2320 - fix lirc_imon oops on older devices w/o tx ctrl ep (#520008)
2321
2322 * Fri Aug 28 2009 Eric Paris <eparis@redhat.com> 2.6.31-0.190.rc8
2323 - fix inotify length accounting and send inotify events
2324
2325 * Fri Aug 28 2009 David Woodhouse <David.Woodhouse@intel.com>
2326 - Enable Solos DSL driver
2327
2328 * Fri Aug 28 2009 Chuck Ebbert <cebbert@redhat.com>
2329 - 2.6.31-rc8
2330
2331 * Thu Aug 27 2009 Chuck Ebbert <cebbert@redhat.com> 2.6.31-0.185.rc7.git6
2332 - 2.6.31-rc7-git6
2333 - Drop patch merged upstream:
2334 xen-fb-probe-fix.patch
2335
2336 * Thu Aug 27 2009 Adam Jackson <ajax@redhat.com>
2337 - drm-rv710-ucode-fix.patch: Treat successful microcode load on RV710 as,
2338 you know, success. (#519718)
2339
2340 * Thu Aug 27 2009 Chuck Ebbert <cebbert@redhat.com>
2341 - 2.6.31-rc7-git5
2342 - Drop patch linux-2.6-ima-leak.patch, now merged upstream.
2343
2344 * Wed Aug 26 2009 Jarod Wilson <jarod@redhat.com>
2345 - Fix up hdpvr ir enable patch for use w/modular i2c (Da