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

Contents of /devel/kernel/kernel.spec

Parent Directory Parent Directory | Revision Log Revision Log


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