3 # the following bcond combos will not work
4 # - without_vserver and any of the following
9 # LATEST VERSION CHECKER:
10 # # curl -s http://www.kernel.org/kdist/finger_banner
13 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
14 # - update or remove tahoe9xx patch2
15 # - update or remove mpt-fusion patch90
16 # - update grsec_minimal patch1000:
17 # fs/proc/base.c:1484: error: 'struct task_struct' has no member named 'uid'
19 # HOWTO update configuration files:
21 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
22 # - sort configuration files using:
23 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86_84.config
24 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
27 %bcond_without source # don't build kernel-source package
28 %bcond_without doc # don't build kernel-doc package
29 %bcond_without pcmcia # don't build pcmcia
31 %bcond_with verbose # verbose build (V=1)
32 %bcond_without reiser4 # support for reiser4 fs (experimental)
34 %bcond_without grsecurity # don't build grsecurity nor pax at all
35 %bcond_without grsec_full # build full grsecurity
36 %bcond_with grsec_minimal # build only minimal subset (proc,link,fifo,shm)
37 %bcond_with pax # build pax and full grsecurity (ie. grsec_full && pax)
39 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
40 %bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
41 %bcond_with nfsroot # build with root on NFS support
43 %bcond_without imq # imq support
44 %bcond_without wrr # wrr support
45 %bcond_without esfq # esfq support
46 %bcond_without ipv6 # ipv6 support
48 %bcond_without vserver # support for VServer (enabled by default)
49 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
50 %bcond_without apparmor # build kernel with apparmor (exerimental mix)
52 %bcond_with rescuecd # build kernel for our rescue
54 %bcond_with myown # build with your own config (kernel-myown.config)
56 %{?debug:%define with_verbose 1}
58 %if %{without grsecurity}
59 %unglobal with_grsec_full
60 %unglobal with_grsec_minimal
65 %unglobal with_grsec_minimal
66 %define with_grsec_full 1
67 %define with_grsecurity 1
71 %if %{with grsec_minimal}
73 %unglobal with_grsec_full
74 %define with_grsecurity 1
77 %if %{with grsec_full}
78 %unglobal with_grsec_minimal
79 %define with_grsecurity 1
88 %unglobal with_apparmor
89 %unglobal with_tuxonice
90 %unglobal with_grsecurity
91 %unglobal with_grsec_full
92 %unglobal with_grsec_minimal
94 %unglobal with_vserver
103 %define have_pcmcia 0
106 %ifarch sparc sparc64
107 %unglobal with_pcmcia
112 %if %{without pcmcia}
113 %define have_pcmcia 0
116 %define basever 2.6.32
120 %define _enable_debug_packages 0
122 %define tuxonice_version 3.0.1
123 %define netfilter_snap 20070806
126 %if "%{_alt_kernel}" == ""
127 %define alt_kernel myown
130 %if %{without rescuecd}
131 %define __alt_kernel %{?with_pax:pax}%{!?with_grsec_full:nogrsecurity}%{!?with_apparmor:noaa}%{?with_pae:pae}
132 %if "%{__alt_kernel}" != ""
133 %define alt_kernel %{__alt_kernel}
136 %define alt_kernel rescuecd
140 # kernel release (used in filesystem and eventually in uname -r)
141 # modules will be looked from /lib/modules/%{kernel_release}
142 # localversion is just that without version for "> localversion"
143 %define localversion %{rel}
144 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
146 Summary: The Linux kernel (the core of the Linux operating system)
147 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
148 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
149 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
150 Summary(pl.UTF-8): JÄ…dro Linuksa
151 Name: kernel%{_alt_kernel}
152 Version: %{basever}%{postver}
157 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
158 # Source0-md5: 260551284ac224c3a43c4adac7df4879
159 %if "%{postver}" != "%{nil}"
160 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v%{basever}/patch-%{version}.bz2
161 # Source1-md5: 6cd1e135751b51946f56a2fb49ed05a3
164 Source3: kernel-autoconf.h
165 Source4: kernel-config.h
166 Source6: kernel-config.awk
167 Source7: kernel-module-build.pl
168 Source8: kernel-track-config-change.awk
169 # not used by kernel.spec, but it's good to have it in SOURCES
170 Source9: kernel-config-sort.pl
171 Source10: kernel.make
173 Source20: kernel-multiarch.config
174 Source21: kernel-x86.config
175 Source22: kernel-sparc.config
176 Source23: kernel-alpha.config
177 Source24: kernel-powerpc.config
178 Source25: kernel-ia64.config
180 Source40: kernel-netfilter.config
181 Source41: kernel-patches.config
182 Source42: kernel-tuxonice.config
183 Source43: kernel-vserver.config
184 Source45: kernel-grsec.config
186 Source49: kernel-pax.config
187 Source50: kernel-no-pax.config
188 Source51: kernel-grsec_minimal.config
189 Source55: kernel-imq.config
190 Source56: kernel-reiser4.config
191 Source57: kernel-wrr.config
193 Source58: kernel-inittmpfs.config
194 Source59: kernel-bzip2-lzma.config
196 # tahoe9xx http://www.tahoe.pl/drivers/tahoe9xx-2.6.24.patch
197 Patch2: kernel-tahoe9xx.patch
199 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
200 Patch3: kernel-fbcondecor.patch
201 Patch4: kernel-fbcon-margins.patch
203 # netfilter related stuff mostly based on patch-o-matic-ng
204 # snapshot 20070806 with some fixes. Some modules
205 # were ported to nf_conntrack.
207 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
208 Patch11: kernel-pom-ng-ipv4options.patch
210 Patch14: kernel-pom-ng-ROUTE.patch
211 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
212 Patch22: kernel-pom-ng-rsh.patch
213 Patch23: kernel-pom-ng-rpc.patch
215 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
216 Patch36: kernel-nf_rtsp.patch
218 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
219 Patch37: kernel-owner-xid.patch
221 # based on http://www.svn.barbara.eu.org/ipt_account/attachment/wiki/Software/ipt_account-0.1.21-20070804164729.tar.gz?format=raw
222 Patch38: kernel-ipt_account.patch
224 # based on http://www.intra2net.com/de/produkte/opensource/ipt_account/pom-ng-ipt_ACCOUNT-1.12.tgz
225 Patch39: kernel-ipt_ACCOUNT.patch
227 # based on kernel-2.6.25-layer7-2.20.patch from
228 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
229 Patch40: kernel-layer7.patch
231 # http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.28-1.diff
232 Patch41: kernel-ipvs-nfct.patch
236 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
237 Patch49: kernel-zph.patch
239 # http://www.linuximq.net/patchs/linux-2.6.32-imq-test2.diff
240 Patch50: kernel-imq.patch
242 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.28.patch.bz2
243 Patch51: kernel-reiser4.patch
245 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
246 Patch52: kernel-wrr.patch
248 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
249 Patch53: kernel-esfq.patch
251 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
252 Patch54: kernel-toshiba_acpi.patch
254 # by Baggins request:
255 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
256 Patch55: kernel-atm-vbr.patch
257 Patch56: kernel-atmdd.patch
259 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
260 Patch59: kernel-rndis_host-wm5.patch
262 # Project suspend2 renamed to tuxonice
263 # http://www.tuxonice.net/downloads/all/tuxonice-3.0.99.32-for-2.6.32.patch.bz2
264 Patch69: kernel-tuxonice.patch
265 Patch70: kernel-tuxonice-headers.patch
267 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
268 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
269 Patch85: kernel-hostap.patch
271 # Taken from http://download.opensuse.org/factory/repo/src-oss/suse/src/kernel-source-2.6.30-10.3.src.rpm
272 Patch90: kernel-mpt-fusion.patch
274 # based on http://vserver.13thfloor.at/Experimental/patch-2.6.32.8-vs2.3.0.36.29.1.diff
275 Patch100: kernel-vserver-2.3.patch
276 Patch101: kernel-vserver-fixes.patch
278 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
279 # Fix verified for that kernel version.
280 Patch130: kernel-forcedeth-WON.patch
282 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.3_for_2.6.31.diff.gz
283 Patch140: kernel-unionfs.patch
285 # aufs1, http://aufs.sourceforge.net/
286 # aufs1 is NOT maintained since Jan 2009.
287 Patch145: kernel-aufs.patch
288 Patch146: kernel-aufs-support.patch
290 Patch148: kernel-aufs2.patch
292 Patch150: kernel-ppc-crtsavres.patch
294 # git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-devel.git
295 Patch160: kernel-squashfs-lzma.patch
297 Patch200: kernel-ppc-ICE-hacks.patch
299 # The following patch extend the routing functionality in Linux
300 # to support static routes (defined by user), new way to use the
301 # alternative routes, the reverse path protection (rp_filter),
302 # the NAT processing to use correctly the routing when multiple
304 # http://www.ssi.bg/~ja/routes-2.6.28-16.diff
305 Patch300: kernel-routes.patch
307 Patch1000: kernel-grsec-minimal.patch
309 Patch2000: kernel-small_fixes.patch
310 Patch2001: kernel-pwc-uncompress.patch
311 Patch2003: kernel-regressions.patch
313 # kill some thousands of warnings
314 # (only warnings, so just remove parts of this patch if conflics)
315 Patch2500: kernel-warnings.patch
317 # git://kernel.ubuntu.com/ubuntu/ubuntu-karmic.git
318 # see ubuntu/apparmor dir
319 Patch5000: kernel-apparmor.patch
322 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
323 Patch7000: kernel-inittmpfs.patch
325 # based on http://www.grsecurity.net/~spender/grsecurity-2.1.14-2.6.32.7-201001291848.patch kernel-grsec_full.patch
326 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
327 # (since upstream deletes older patches)
328 Patch9999: kernel-grsec_full.patch
329 Patch10000: kernel-grsec-caps.patch
330 Patch10001: kernel-grsec-common.patch
331 Patch10002: kernel-grsec_fixes.patch
333 URL: http://www.kernel.org/
334 BuildRequires: binutils >= 3:2.18
335 %ifarch sparc sparc64
336 BuildRequires: elftoaout
339 BuildRequires: uboot-mkimage
341 BuildRequires: /sbin/depmod
342 BuildRequires: gcc >= 5:3.2
343 BuildRequires: xz >= 1:4.999.7
345 # for hostname command
346 BuildRequires: net-tools
347 BuildRequires: perl-base
348 BuildRequires: rpm-build >= 4.5-24
349 BuildRequires: rpmbuild(macros) >= 1.217
350 Requires(post): coreutils
351 Requires(post): geninitrd >= 10000-3
352 Requires(post): module-init-tools >= 0.9.9
353 Requires: /sbin/depmod
355 Requires: geninitrd >= 10000-3
356 Requires: module-init-tools >= 0.9.9
357 Provides: %{name}(netfilter) = %{netfilter_snap}
358 Provides: %{name}(vermagic) = %{kernel_release}
359 Obsoletes: kernel-firmware
360 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
361 Obsoletes: kernel-misc-acer_acpi
362 Obsoletes: kernel-misc-fuse
363 Obsoletes: kernel-misc-uvc
364 Obsoletes: kernel-modules
365 Obsoletes: kernel-net-ar81
366 Obsoletes: kernel-net-hostap
367 Obsoletes: kernel-net-ieee80211
368 Obsoletes: kernel-net-ipp2p
369 Obsoletes: kernel-net-rt61
370 Obsoletes: kernel-smp
371 Conflicts: e2fsprogs < 1.29
372 Conflicts: isdn4k-utils < 3.1pre1
373 Conflicts: jfsutils < 1.1.3
374 Conflicts: module-init-tools < 0.9.10
375 Conflicts: nfs-utils < 1.0.5
376 Conflicts: oprofile < 0.9
377 Conflicts: ppp < 1:2.4.0
378 Conflicts: procps < 3.2.0
379 Conflicts: quota-tools < 3.09
380 %if %{with reiserfs4}
381 Conflicts: reiser4progs < 1.0.0
383 Conflicts: reiserfsprogs < 3.6.3
384 Conflicts: udev < 1:081
385 Conflicts: util-linux < 2.10o
386 Conflicts: util-vserver < 0.30.216
387 Conflicts: xfsprogs < 2.6.0
389 ExcludeArch: i386 i486 i586
391 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
394 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
396 %ifarch %{ix86} %{x8664}
397 %define target_arch_dir x86
400 %define target_arch_dir powerpc
402 %ifarch sparc sparc64
403 %define target_arch_dir sparc
405 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
406 %define target_arch_dir %{_target_base_arch}
409 %define defconfig arch/%{target_arch_dir}/defconfig
411 # No ELF objects there to strip (skips processing 27k files)
412 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
413 %define _noautochrpath .*%{_kernelsrcdir}/.*
416 %define initrd_dir /boot/efi
418 %define initrd_dir /boot
421 %define topdir %{_builddir}/%{name}-%{version}
422 %define srcdir %{topdir}/linux-%{basever}
423 %define objdir %{topdir}/%{targetobj}
424 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
426 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
428 %if "%{_target_base_arch}" != "%{_arch}"
429 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
430 %define DepMod /bin/true
432 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
433 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
434 %define DepMod /sbin/depmod
437 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
438 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
439 %define DepMod /sbin/depmod
442 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
443 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
444 %define DepMod /sbin/depmod
447 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
448 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
452 %define CrossOpts ARCH=powerpc CC="%{__cc}"
454 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
456 %define DepMod /sbin/depmod
458 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
460 %define __features Netfilter module dated: %{netfilter_snap}\
461 %{?with_grsec_full:Grsecurity support - enabled}\
462 %{?with_grsec_minimal:Grsecurity minimal support /proc,link,fifo,shm/ - enabled}\
463 %{?with_pax:PaX support - enabled}\
464 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
465 %{?with_nfsroot:Root on NFS - enabled}\
466 %{?with_apparmor:apparmor support - enabled}\
468 %define Features %(echo "%{__features}" | sed '/^$/d')
471 This package contains the Linux kernel that is used to boot and run
472 your system. It contains few device drivers for specific hardware.
473 Most hardware is instead supported by modules loaded after booting.
477 %description -l de.UTF-8
478 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
479 Linux-Betriebssystems. Der Kernel ist für grundliegende
480 Systemfunktionen verantwortlich: Speicherreservierung,
481 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
485 %description -l fr.UTF-8
486 Le package kernel contient le kernel linux (vmlinuz), la partie
487 centrale d'un système d'exploitation Linux. Le noyau traite les
488 fonctions basiques d'un système d'exploitation: allocation mémoire,
489 allocation de process, entrée/sortie de peripheriques, etc.
493 %description -l pl.UTF-8
494 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
495 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
496 się w komputerze, takiego jak sterowniki dysków itp.
501 Summary: vmlinux - uncompressed kernel image
502 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
503 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
505 Obsoletes: kernel-smp-vmlinux
508 vmlinux - uncompressed kernel image.
510 %description vmlinux -l de.UTF-8
511 vmlinux - dekompressiertes Kernel Bild.
513 %description vmlinux -l pl.UTF-8
514 vmlinux - rozpakowany obraz jÄ…dra.
517 Summary: DRM kernel modules
518 Summary(de.UTF-8): DRM Kernel Treiber
519 Summary(pl.UTF-8): Sterowniki DRM
521 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
522 Requires: %{name} = %{epoch}:%{version}-%{release}
523 Obsoletes: kernel-smp-drm
529 %description drm -l de.UTF-8
532 %description drm -l pl.UTF-8
536 Summary: PCMCIA modules
537 Summary(de.UTF-8): PCMCIA Module
538 Summary(pl.UTF-8): Moduły PCMCIA
540 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
541 Requires: %{name} = %{epoch}:%{version}-%{release}
542 Obsoletes: kernel-smp-pcmcia
543 Conflicts: pcmcia-cs < 3.1.21
544 Conflicts: pcmciautils < 004
550 %description pcmcia -l de.UTF-8
553 %description pcmcia -l pl.UTF-8
557 Summary: ALSA kernel modules
558 Summary(de.UTF-8): ALSA Kernel Module
559 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
561 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
562 Requires: %{name} = %{epoch}:%{version}-%{release}
563 Obsoletes: kernel-smp-sound-alsa
566 %description sound-alsa
567 ALSA (Advanced Linux Sound Architecture) sound drivers.
569 %description sound-alsa -l de.UTF-8
570 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
572 %description sound-alsa -l pl.UTF-8
573 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
576 Summary: OSS kernel modules
577 Summary(de.UTF-8): OSS Kernel Module
578 Summary(pl.UTF-8): Sterowniki dźwięku OSS
580 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
581 Requires: %{name} = %{epoch}:%{version}-%{release}
582 Obsoletes: kernel-smp-sound-oss
585 %description sound-oss
586 OSS (Open Sound System) drivers.
588 %description sound-oss -l de.UTF-8
589 OSS (Open Sound System) Treiber.
591 %description sound-oss -l pl.UTF-8
592 Sterowniki dźwięku OSS (Open Sound System).
595 Summary: Header files for the Linux kernel
596 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
597 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
598 Group: Development/Building
599 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
603 These are the C header files for the Linux kernel, which define
604 structures and constants that are needed when rebuilding the kernel or
605 building kernel modules.
607 %description headers -l de.UTF-8
608 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
609 Strukturen und Konstante beinhalten, die beim rekompilieren des
610 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
612 %description headers -l pl.UTF-8
613 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
614 oraz budowania modułów jądra.
616 %package module-build
617 Summary: Development files for building kernel modules
618 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
619 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
620 Group: Development/Building
621 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
622 Conflicts: rpmbuild(macros) < 1.321
625 %description module-build
626 Development files from kernel source tree needed to build Linux kernel
627 modules from external packages.
629 %description module-build -l de.UTF-8
630 Development Dateien des Linux-Kernels die beim kompilieren externer
631 Kernel Module gebraucht werden.
633 %description module-build -l pl.UTF-8
634 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
635 Linuksa z zewnętrznych pakietów.
638 Summary: Kernel source tree
639 Summary(de.UTF-8): Der Kernel Quelltext
640 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
641 Group: Development/Building
642 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
646 This is the source code for the Linux kernel. You can build a custom
647 kernel that is better tuned to your particular hardware.
649 %description source -l de.UTF-8
650 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
651 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
652 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
653 im Kernel-Source definiert sind. Die Source-Dateien können auch
654 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
655 Hardware ausgerichtet ist.
657 %description source -l fr.UTF-8
658 Le package pour le kernel-source contient le code source pour le noyau
659 linux. Ces sources sont nécessaires pour compiler la plupart des
660 programmes C, car il dépend de constantes définies dans le code
661 source. Les sources peuvent être aussi utilisée pour compiler un noyau
662 personnalisé pour avoir de meilleures performances sur des matériels
665 %description source -l pl.UTF-8
666 Pakiet zawiera kod źródłowy jądra systemu.
669 Summary: Kernel documentation
670 Summary(de.UTF-8): Kernel Dokumentation
671 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
676 This is the documentation for the Linux kernel, as found in
677 /usr/src/linux/Documentation directory.
679 %description doc -l de.UTF-8
680 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
681 Verzeichniss vorgefunden werden kann.
683 %description doc -l pl.UTF-8
684 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
685 /usr/src/linux/Documentation.
689 ln -s %{SOURCE7} kernel-module-build.pl
690 ln -s %{SOURCE10} Makefile
693 # hack against warning in pax/grsec
694 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
696 %if "%{postver}" != "%{nil}"
697 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
706 # tahoe9xx: 2.6.29 - need update
709 %if %{with fbcondecor}
717 # kernel-pom-ng-IPV4OPTSSTRIP.patch
720 # kernel-pom-ng-ipv4options.patch
723 # kernel-pom-ng-ROUTE.patch
726 # kernel-pom-ng-mms-conntrack-nat.patch
729 # kernel-pom-ng-rsh.patch
732 # kernel-pom-ng-rpc.patch
735 # kernel-nf_rtsp.patch
738 # kernel-owner-xid.patch
743 # kernel-ipt_account.patch
746 # kernel-ipt_ACCOUNT.patch
749 # kernel-layer7.patch
785 # kernel-rndis_host-wm5.patch
788 # hostap enhancements from/for aircrack-ng
791 # LSI MPT Fusion driver update (by LSI via SUSE folks)
804 # unionfs (problems with aufs2, needed for aufs1 patch)
805 %if %{without rescuecd}
824 # grsecurity & pax stuff
827 # remember that we have the same config file for grsec_minimal and
828 # grsec_full, but the patches are different.
830 %if %{with grsecurity}
831 %if %{with grsec_minimal}
834 # grsec_full and/or pax
836 %{?with_vserver:%patch10000 -p1}
837 %{?with_vserver:%patch10001 -p1}
838 %{?with_vserver:%patch10002 -p1}
842 # end of grsecurity & pax stuff
866 # Fix EXTRAVERSION in main Makefile
867 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
869 # cleanup backups after patching
870 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
874 cat > %{targetobj}.mk <<'EOF'
875 # generated by %{name}.spec
876 KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
877 KERNELOUTPUT := %{objdir}
879 SRCARCH := %{target_arch_dir}
880 ARCH := %{_target_base_arch}
881 Q := %{!?with_verbose:@}
882 MAKE_OPTS := %{MakeOpts}
883 DEFCONFIG := %{defconfig}
890 CONFIG_PAX_SEGMEXEC=y
891 # performance impact on CPUs without NX bit
892 CONFIG_PAX_PAGEEXEC=n
895 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
901 CONFIG_PAX_NOELFRELOCS=n
904 CONFIG_PAX_EMUTRAMP=y
905 CONFIG_PAX_EMUSIGRT=y
909 %ifarch sparc sparc64 alpha
913 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
914 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
915 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
916 # PAX_HOOK_ACL_FLAGS.
918 %if %{with grsec_full}
919 # Hardening grsec options if with pax
920 CONFIG_GRKERNSEC_PROC_MEMMAP=y
921 # almost rational (see HIDESYM help)
922 CONFIG_GRKERNSEC_HIDESYM=y
924 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
926 CONFIG_PAX_HAVE_ACL_FLAGS=n
927 CONFIG_PAX_HOOK_ACL_FLAGS=y
937 # CONFIG_SOUND is not set
938 # CONFIG_AUDIT is not set
939 # CONFIG_TR is not set
940 # CONFIG_BT is not set
941 # CONFIG_VIDEO_DEV is not set
942 # CONFIG_DVB_CORE is not set
943 # CONFIG_HAMRADIO is not set
944 # CONFIG_ARCNET is not set
945 # CONFIG_FB is not set
946 # CONFIG_DRM is not set
947 # CONFIG_WATCHDOG is not set
948 # CONFIG_INPUT_JOYSTICK is not set
949 # CONFIG_DEBUG_KERNEL is not set
950 # CONFIG_ISDN is not set
951 # CONFIG_AGP is not set
952 # CONFIG_SECURITY is not set
953 # CONFIG_PARIDE is not set
954 # CONFIG_CPU_FREQ is not set
955 # CONFIG_GAMEPORT is not set
956 # CONFIG_KVM is not set
957 # CONFIG_PHONE is not set
958 # CONFIG_STRICT_DEVMEM is not set
959 # CONFIG_IMA is not set
962 CONFIG_AUFS_BR_RAMFS=y
964 CONFIG_BLK_DEV_LOOP=y
976 Config="kernel-%{target_arch_dir}.config"
977 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
979 # prepare local and important options
980 cat <<-EOCONFIG > important.config
981 LOCALVERSION="-%{localversion}"
985 CONFIG_DEBUG_SLAB_LEAK=y
986 CONFIG_DEBUG_PREEMPT=y
987 CONFIG_RT_DEADLOCK_DETECT=y
990 # apparmor, will be moved to external file if works
992 CONFIG_SECURITY_APPARMOR=y
993 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
994 CONFIG_SECURITY_APPARMOR_DISABLE=n
995 CONFIG_SECURITY_APPARMOR_NETWORK=y
1002 %ifarch i686 athlon pentium3 pentium4
1011 %if %{without pcmcia}
1015 %if %{with fbcondecor}
1019 CONFIG_FB_TILEBLITTING=n
1020 CONFIG_FB_CON_DECOR=y
1028 # Temporary disabled RELOCATABLE. Needed only on x86??
1029 %if %{with pax} || %{with grsec_full}
1030 CONFIG_RELOCATABLE=n
1034 %if %{with rescuecd}
1035 RescueConfig rescue.config
1038 PaXconfig pax.config
1041 # prepare kernel-style config file from multiple config files
1042 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1044 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
1047 %if %{with rescuecd}
1058 %if %{with grsec_full}
1062 %if %{with grsec_minimal}
1080 %if %{with tuxonice}
1081 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1085 %{SOURCE40} %{?0:netfilter} \
1086 %{SOURCE41} %{?0:patches} \
1088 $RPM_SOURCE_DIR/$Config
1092 install -d arch/%{target_arch_dir}
1093 BuildConfig > %{defconfig}
1094 ln -sf %{defconfig} .config
1098 TARGETOBJ=%{targetobj} \
1099 %{?with_verbose:V=1} \
1102 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1106 TARGETOBJ=%{targetobj} \
1107 %{?with_verbose:V=1} \
1111 rm -rf $RPM_BUILD_ROOT
1112 %{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install firmware_install \
1114 %{?with_verbose:V=1} \
1116 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1117 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1118 KERNELRELEASE=%{kernel_release}
1120 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1122 # create directories which may be missing, to simplyfy %files
1123 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1125 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1126 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1127 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1129 # no point embed content for %ghost files. empty them
1134 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1136 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1140 install -d $RPM_BUILD_ROOT/boot
1141 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1142 %ifarch %{ix86} %{x8664}
1143 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1144 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1147 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1148 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1151 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1152 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1153 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1155 %ifarch alpha sparc sparc64
1156 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1157 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1158 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1160 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1161 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1164 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1165 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1168 install %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1173 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1175 %if "%{_target_base_arch}" != "%{_arch}"
1176 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1180 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1183 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1184 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1185 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1187 rm -f $RPM_BUILD_ROOT/COPYING
1190 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1191 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1192 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1193 cp -a %{objdir}/include/linux/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf-dist.h
1194 cp -a %{objdir}/include/linux/{utsrelease,version}.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1195 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h
1196 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1198 # collect module-build files and directories
1199 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1201 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1202 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1205 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1206 install -d $RPM_BUILD_ROOT%{_docdir}
1207 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1209 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1210 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1211 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1212 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1215 rm -rf $RPM_BUILD_ROOT
1218 if [ -x /sbin/new-kernel-pkg ]; then
1219 /sbin/new-kernel-pkg --remove %{kernel_release}
1224 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1225 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1226 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1227 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1229 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1230 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1231 mv -f /boot/System.map{,.old} 2> /dev/null
1232 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1233 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1234 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1235 ln -sf System.map-%{kernel_release} /boot/System.map
1236 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1238 %depmod %{kernel_release}
1240 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1241 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1242 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1243 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1244 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1246 if [ -x /sbin/update-grub ]; then
1247 /sbin/update-grub >/dev/null 2>&1
1249 if [ -x /sbin/new-kernel-pkg ]; then
1250 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1252 if [ -x /sbin/rc-boot ]; then
1253 /sbin/rc-boot 1>&2 || :
1257 mv -f /boot/vmlinux{,.old} 2> /dev/null
1258 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1259 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1260 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1263 %depmod %{kernel_release}
1266 %depmod %{kernel_release}
1269 %depmod %{kernel_release}
1272 %depmod %{kernel_release}
1275 %depmod %{kernel_release}
1278 %depmod %{kernel_release}
1281 %depmod %{kernel_release}
1284 %depmod %{kernel_release}
1287 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1290 if [ "$1" = "0" ]; then
1291 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1292 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1293 rm -f %{_prefix}/src/linux%{_alt_kernel}
1298 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1299 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1300 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1302 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1303 if [ "$1" = 0 ]; then
1304 rm -f /lib/modules/%{kernel_release}/{build,source}
1308 %defattr(644,root,root,755)
1309 %ifarch sparc sparc64
1310 /boot/vmlinux.aout-%{kernel_release}
1313 /boot/efi/vmlinuz-%{kernel_release}
1315 /boot/vmlinuz-%{kernel_release}
1316 /boot/System.map-%{kernel_release}
1317 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1318 /lib/firmware/%{kernel_release}
1320 %dir /lib/modules/%{kernel_release}
1321 %dir /lib/modules/%{kernel_release}/kernel
1322 /lib/modules/%{kernel_release}/kernel/arch
1323 /lib/modules/%{kernel_release}/kernel/crypto
1324 /lib/modules/%{kernel_release}/kernel/drivers
1326 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1328 /lib/modules/%{kernel_release}/kernel/fs
1329 /lib/modules/%{kernel_release}/kernel/kernel
1330 /lib/modules/%{kernel_release}/kernel/lib
1331 /lib/modules/%{kernel_release}/kernel/net
1332 /lib/modules/%{kernel_release}/kernel/mm
1334 %dir /lib/modules/%{kernel_release}/kernel/sound
1335 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1336 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1338 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1339 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1340 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1343 %dir /lib/modules/%{kernel_release}/misc
1345 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1346 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1347 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1348 %if %{without rescuecd}
1349 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1350 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1351 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1352 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1353 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1354 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1356 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1357 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1358 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1359 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1360 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1361 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1362 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1363 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1366 /lib/modules/%{kernel_release}/kernel/sound
1369 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1372 /lib/modules/%{kernel_release}/modules.order
1374 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1375 %ghost /lib/modules/%{kernel_release}/modules.alias
1376 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1377 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1378 %ghost /lib/modules/%{kernel_release}/modules.dep
1379 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1380 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1381 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1382 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1383 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1384 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1385 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1386 %ghost /lib/modules/%{kernel_release}/modules.symbols
1387 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1388 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1390 # symlinks pointing to kernelsrcdir
1391 %ghost /lib/modules/%{kernel_release}/build
1392 %ghost /lib/modules/%{kernel_release}/source
1394 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1396 %defattr(644,root,root,755)
1397 /boot/vmlinux-%{kernel_release}
1402 %defattr(644,root,root,755)
1403 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1408 %defattr(644,root,root,755)
1409 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1410 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1411 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1412 %if %{without rescuecd}
1413 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1414 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1415 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1416 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1418 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1419 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1420 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1421 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1422 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1423 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1424 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1425 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1426 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1431 %defattr(644,root,root,755)
1432 /lib/modules/%{kernel_release}/kernel/sound
1433 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1434 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1435 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1437 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1440 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1441 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1442 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1443 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1448 %defattr(644,root,root,755)
1449 /lib/modules/%{kernel_release}/kernel/sound/oss
1453 %files headers -f files.headers_exclude_kbuild
1454 %defattr(644,root,root,755)
1455 %dir %{_kernelsrcdir}
1456 %{_kernelsrcdir}/include
1457 %dir %{_kernelsrcdir}/arch
1458 %dir %{_kernelsrcdir}/arch/[!K]*
1459 %{_kernelsrcdir}/arch/*/include
1460 %dir %{_kernelsrcdir}/security
1461 %dir %{_kernelsrcdir}/security/selinux
1462 %{_kernelsrcdir}/security/selinux/include
1463 %{_kernelsrcdir}/config-dist
1464 %{_kernelsrcdir}/Module.symvers-dist
1466 %files module-build -f files.mb_include_modulebuild_and_dirs
1467 %defattr(644,root,root,755)
1469 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1471 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1472 %exclude %dir %{_kernelsrcdir}/arch/um
1473 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1474 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1475 %{_kernelsrcdir}/drivers/lguest/lg.h
1476 %{_kernelsrcdir}/kernel/bounds.c
1477 %dir %{_kernelsrcdir}/scripts
1478 %{_kernelsrcdir}/scripts/Kbuild.include
1479 %{_kernelsrcdir}/scripts/Makefile*
1480 %{_kernelsrcdir}/scripts/basic
1481 %{_kernelsrcdir}/scripts/kconfig
1482 %{_kernelsrcdir}/scripts/mkcompile_h
1483 %{_kernelsrcdir}/scripts/mkmakefile
1484 %{_kernelsrcdir}/scripts/mod
1485 %{_kernelsrcdir}/scripts/module-common.lds
1486 %{_kernelsrcdir}/scripts/setlocalversion
1487 %{_kernelsrcdir}/scripts/*.c
1488 %{_kernelsrcdir}/scripts/*.sh
1489 %dir %{_kernelsrcdir}/scripts/selinux
1490 %{_kernelsrcdir}/scripts/selinux/Makefile
1491 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1492 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1493 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1494 %exclude %dir %{_kernelsrcdir}/security
1495 %exclude %dir %{_kernelsrcdir}/security/selinux
1499 %defattr(644,root,root,755)
1500 %dir %{_docdir}/%{name}-%{version}
1502 %{_docdir}/%{name}-%{version}/[!jkz]*
1503 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1504 %{_docdir}/%{name}-%{version}/kbuild
1505 %{_docdir}/%{name}-%{version}/kdump
1506 %{_docdir}/%{name}-%{version}/kvm
1507 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1508 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1509 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1513 %files source -f files.source_exclude_modulebuild_and_dirs
1514 %defattr(644,root,root,755)
1515 %{_kernelsrcdir}/arch/*/[!Mik]*
1516 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1517 %{_kernelsrcdir}/arch/ia64/ia32/[!M]*
1518 %{_kernelsrcdir}/arch/ia64/install.sh
1519 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1520 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1521 %{_kernelsrcdir}/arch/m68k/install.sh
1522 %{_kernelsrcdir}/arch/parisc/install.sh
1523 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1524 %{_kernelsrcdir}/arch/ia64/kvm
1525 %{_kernelsrcdir}/arch/powerpc/kvm
1527 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1529 %{_kernelsrcdir}/arch/s390/kvm
1530 %{_kernelsrcdir}/arch/x86/kvm
1531 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1532 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1533 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1534 %{_kernelsrcdir}/block
1535 %{_kernelsrcdir}/crypto
1536 %{_kernelsrcdir}/drivers
1537 %{_kernelsrcdir}/firmware
1539 %if %{with grsecurity} && %{without rescuecd}
1540 %{_kernelsrcdir}/grsecurity
1542 %{_kernelsrcdir}/init
1543 %{_kernelsrcdir}/ipc
1544 %{_kernelsrcdir}/kernel
1545 %exclude %{_kernelsrcdir}/kernel/bounds.c
1546 %{_kernelsrcdir}/lib
1548 %{_kernelsrcdir}/net
1549 %{_kernelsrcdir}/virt
1550 %{_kernelsrcdir}/samples
1551 %{_kernelsrcdir}/scripts/*
1552 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1553 %exclude %{_kernelsrcdir}/scripts/Makefile*
1554 %exclude %{_kernelsrcdir}/scripts/basic
1555 %exclude %{_kernelsrcdir}/scripts/kconfig
1556 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1557 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1558 %exclude %{_kernelsrcdir}/scripts/mod
1559 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1560 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1561 %exclude %{_kernelsrcdir}/scripts/*.c
1562 %exclude %{_kernelsrcdir}/scripts/*.sh
1563 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1564 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1565 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1566 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1567 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1568 %{_kernelsrcdir}/sound
1569 %{_kernelsrcdir}/security
1570 %exclude %{_kernelsrcdir}/security/selinux/include
1571 %{_kernelsrcdir}/tools
1572 %{_kernelsrcdir}/usr
1573 %{_kernelsrcdir}/COPYING
1574 %{_kernelsrcdir}/CREDITS
1575 %{_kernelsrcdir}/MAINTAINERS
1576 %{_kernelsrcdir}/README
1577 %{_kernelsrcdir}/REPORTING-BUGS