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 %define __alt_kernel %{?with_pax:pax}%{!?with_grsec_full:nogrsecurity}%{!?with_apparmor:noaa}%{?with_pae:pae}
131 %if "%{__alt_kernel}" != ""
132 %define alt_kernel %{__alt_kernel}
137 %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 Patch1: http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v%{basever}/patch-%{version}.xz
161 # Patch1-md5: bcde8b57108d4989765a616b4b8ff301
163 Source3: kernel-autoconf.h
164 Source4: kernel-config.h
165 Source6: kernel-config.awk
166 Source7: kernel-module-build.pl
167 Source8: kernel-track-config-change.awk
168 # not used by kernel.spec, but it's good to have it in SOURCES
169 Source9: kernel-config-sort.pl
170 Source10: kernel.make
172 Source20: kernel-multiarch.config
173 Source21: kernel-x86.config
174 Source22: kernel-sparc.config
175 Source23: kernel-alpha.config
176 Source24: kernel-powerpc.config
177 Source25: kernel-ia64.config
179 Source40: kernel-netfilter.config
180 Source41: kernel-patches.config
181 Source42: kernel-tuxonice.config
182 Source43: kernel-vserver.config
183 Source45: kernel-grsec.config
185 Source49: kernel-pax.config
186 Source50: kernel-no-pax.config
187 Source51: kernel-grsec_minimal.config
188 Source55: kernel-imq.config
189 Source56: kernel-reiser4.config
190 Source57: kernel-wrr.config
192 Source58: kernel-inittmpfs.config
193 Source59: kernel-bzip2-lzma.config
195 # tahoe9xx http://www.tahoe.pl/drivers/tahoe9xx-2.6.24.patch
196 Patch2: kernel-tahoe9xx.patch
198 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
199 Patch3: kernel-fbcondecor.patch
200 Patch4: kernel-fbcon-margins.patch
202 # netfilter related stuff mostly based on patch-o-matic-ng
203 # snapshot 20070806 with some fixes. Some modules
204 # were ported to nf_conntrack.
206 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
207 Patch11: kernel-pom-ng-ipv4options.patch
209 Patch14: kernel-pom-ng-ROUTE.patch
210 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
211 Patch22: kernel-pom-ng-rsh.patch
212 Patch23: kernel-pom-ng-rpc.patch
214 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
215 Patch36: kernel-nf_rtsp.patch
217 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
218 Patch37: kernel-owner-xid.patch
220 # based on http://www.svn.barbara.eu.org/ipt_account/attachment/wiki/Software/ipt_account-0.1.21-20070804164729.tar.gz?format=raw
221 Patch38: kernel-ipt_account.patch
223 # based on http://www.intra2net.com/de/produkte/opensource/ipt_account/pom-ng-ipt_ACCOUNT-1.12.tgz
224 Patch39: kernel-ipt_ACCOUNT.patch
226 # based on kernel-2.6.25-layer7-2.20.patch from
227 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
228 Patch40: kernel-layer7.patch
230 # http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.28-1.diff
231 Patch41: kernel-ipvs-nfct.patch
235 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
236 Patch49: kernel-zph.patch
238 # http://www.linuximq.net/patchs/linux-2.6.32-imq-test2.diff
239 Patch50: kernel-imq.patch
241 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.28.patch.bz2
242 Patch51: kernel-reiser4.patch
244 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
245 Patch52: kernel-wrr.patch
247 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
248 Patch53: kernel-esfq.patch
250 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
251 Patch54: kernel-toshiba_acpi.patch
253 # by Baggins request:
254 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
255 Patch55: kernel-atm-vbr.patch
256 Patch56: kernel-atmdd.patch
258 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
259 Patch59: kernel-rndis_host-wm5.patch
261 # Project suspend2 renamed to tuxonice
262 # http://www.tuxonice.net/downloads/all/tuxonice-3.0.99.32-for-2.6.32.patch.bz2
263 Patch69: kernel-tuxonice.patch
264 Patch70: kernel-tuxonice-headers.patch
266 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
267 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
268 Patch85: kernel-hostap.patch
270 # Taken from http://download.opensuse.org/factory/repo/src-oss/suse/src/kernel-source-2.6.30-10.3.src.rpm
271 Patch90: kernel-mpt-fusion.patch
273 # based on http://vserver.13thfloor.at/Experimental/patch-2.6.32.63-vs2.3.0.36.30.diff
274 Patch100: kernel-vserver-2.3.patch
275 Patch101: kernel-vserver-fixes.patch
277 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
278 # Fix verified for that kernel version.
279 Patch130: kernel-forcedeth-WON.patch
281 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.3_for_2.6.31.diff.gz
282 Patch140: kernel-unionfs.patch
284 # aufs1, http://aufs.sourceforge.net/
285 # aufs1 is NOT maintained since Jan 2009.
286 Patch145: kernel-aufs.patch
287 Patch146: kernel-aufs-support.patch
289 Patch148: kernel-aufs2.patch
291 Patch150: kernel-ppc-crtsavres.patch
293 # git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-devel.git
294 Patch160: kernel-squashfs-lzma.patch
296 Patch200: kernel-ppc-ICE-hacks.patch
298 # The following patch extend the routing functionality in Linux
299 # to support static routes (defined by user), new way to use the
300 # alternative routes, the reverse path protection (rp_filter),
301 # the NAT processing to use correctly the routing when multiple
303 # http://www.ssi.bg/~ja/routes-2.6.28-16.diff
304 Patch300: kernel-routes.patch
306 Patch1000: kernel-grsec-minimal.patch
308 Patch2000: kernel-small_fixes.patch
309 Patch2001: kernel-pwc-uncompress.patch
310 Patch2003: kernel-regressions.patch
312 # kill some thousands of warnings
313 # (only warnings, so just remove parts of this patch if conflics)
314 Patch2500: kernel-warnings.patch
316 # git://kernel.ubuntu.com/ubuntu/ubuntu-karmic.git
317 # see ubuntu/apparmor dir
318 Patch5000: kernel-apparmor.patch
321 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
322 Patch7000: kernel-inittmpfs.patch
324 # based on http://www.grsecurity.net/~spender/grsecurity-2.1.14-2.6.32.7-201001291848.patch kernel-grsec_full.patch
325 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
326 # (since upstream deletes older patches)
327 Patch9999: kernel-grsec_full.patch
328 Patch10000: kernel-grsec-caps.patch
329 Patch10001: kernel-grsec-common.patch
330 Patch10002: kernel-grsec_fixes.patch
332 URL: http://www.kernel.org/
333 BuildRequires: binutils >= 3:2.18
334 %ifarch sparc sparc64
335 BuildRequires: elftoaout
338 BuildRequires: uboot-mkimage
340 ##BuildRequires: gcc < 6:4.6
341 BuildRequires: /sbin/depmod
342 BuildRequires: gcc >= 5:3.2
343 BuildRequires: tar >= 1:1.22
344 BuildRequires: xz >= 1:4.999.7
346 # for hostname command
347 BuildRequires: net-tools
348 BuildRequires: perl-base
349 BuildRequires: rpm-build >= 4.5-24
350 BuildRequires: rpmbuild(macros) >= 1.217
351 Requires(post): coreutils
352 Requires(post): geninitrd >= 10000-3
353 Requires(post): module-init-tools >= 0.9.9
354 Requires: /sbin/depmod
356 Requires: geninitrd >= 10000-3
357 Requires: module-init-tools >= 0.9.9
358 Provides: %{name}(netfilter) = %{netfilter_snap}
359 Provides: %{name}(vermagic) = %{kernel_release}
360 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
361 Obsoletes: kernel-firmware
362 Obsoletes: kernel-misc-acer_acpi
363 Obsoletes: kernel-misc-fuse
364 Obsoletes: kernel-misc-uvc
365 Obsoletes: kernel-modules
366 Obsoletes: kernel-net-ar81
367 Obsoletes: kernel-net-hostap
368 Obsoletes: kernel-net-ieee80211
369 Obsoletes: kernel-net-ipp2p
370 Obsoletes: kernel-net-rt61
371 Obsoletes: kernel-smp
372 Conflicts: e2fsprogs < 1.29
373 Conflicts: isdn4k-utils < 3.1pre1
374 Conflicts: jfsutils < 1.1.3
375 Conflicts: module-init-tools < 0.9.10
376 Conflicts: nfs-utils < 1.0.5
377 Conflicts: oprofile < 0.9
378 Conflicts: ppp < 1:2.4.0
379 Conflicts: procps < 3.2.0
380 Conflicts: quota-tools < 3.09
381 %if %{with reiserfs4}
382 Conflicts: reiser4progs < 1.0.0
384 Conflicts: reiserfsprogs < 3.6.3
385 Conflicts: udev < 1:081
386 Conflicts: util-linux < 2.10o
387 Conflicts: util-vserver < 0.30.216
388 Conflicts: xfsprogs < 2.6.0
390 ExcludeArch: i386 i486 i586
392 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
395 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
397 %ifarch %{ix86} %{x8664}
398 %define target_arch_dir x86
401 %define target_arch_dir powerpc
403 %ifarch sparc sparc64
404 %define target_arch_dir sparc
406 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
407 %define target_arch_dir %{_target_base_arch}
410 %define defconfig arch/%{target_arch_dir}/defconfig
412 # No ELF objects there to strip (skips processing 27k files)
413 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
414 %define _noautochrpath .*%{_kernelsrcdir}/.*
417 %define initrd_dir /boot/efi
419 %define initrd_dir /boot
422 %define topdir %{_builddir}/%{name}-%{version}
423 %define srcdir %{topdir}/linux-%{basever}
424 %define objdir %{topdir}/%{targetobj}
425 %define targetobj %{_target_base_arch}-gcc-%(%{__cc} -dumpversion)
427 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
429 %if "%{_target_base_arch}" != "%{_arch}"
430 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
431 %define DepMod /bin/true
433 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
434 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
435 %define DepMod /sbin/depmod
438 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
439 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
440 %define DepMod /sbin/depmod
443 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
444 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
445 %define DepMod /sbin/depmod
448 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
449 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
453 %define CrossOpts ARCH=powerpc CC="%{__cc}"
455 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
457 %define DepMod /sbin/depmod
459 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
461 %define __features Netfilter module dated: %{netfilter_snap}\
462 %{?with_grsec_full:Grsecurity support - enabled}\
463 %{?with_grsec_minimal:Grsecurity minimal support /proc,link,fifo,shm/ - enabled}\
464 %{?with_pax:PaX support - enabled}\
465 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
466 %{?with_nfsroot:Root on NFS - enabled}\
467 %{?with_apparmor:apparmor support - enabled}\
469 %define Features %(echo "%{__features}" | sed '/^$/d')
472 This package contains the Linux kernel that is used to boot and run
473 your system. It contains few device drivers for specific hardware.
474 Most hardware is instead supported by modules loaded after booting.
478 %description -l de.UTF-8
479 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
480 Linux-Betriebssystems. Der Kernel ist für grundliegende
481 Systemfunktionen verantwortlich: Speicherreservierung,
482 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
486 %description -l fr.UTF-8
487 Le package kernel contient le kernel linux (vmlinuz), la partie
488 centrale d'un système d'exploitation Linux. Le noyau traite les
489 fonctions basiques d'un système d'exploitation: allocation mémoire,
490 allocation de process, entrée/sortie de peripheriques, etc.
494 %description -l pl.UTF-8
495 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
496 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
497 się w komputerze, takiego jak sterowniki dysków itp.
502 Summary: vmlinux - uncompressed kernel image
503 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
504 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
506 Obsoletes: kernel-smp-vmlinux
509 vmlinux - uncompressed kernel image.
511 %description vmlinux -l de.UTF-8
512 vmlinux - dekompressiertes Kernel Bild.
514 %description vmlinux -l pl.UTF-8
515 vmlinux - rozpakowany obraz jÄ…dra.
518 Summary: DRM kernel modules
519 Summary(de.UTF-8): DRM Kernel Treiber
520 Summary(pl.UTF-8): Sterowniki DRM
522 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
523 Requires: %{name} = %{epoch}:%{version}-%{release}
524 Obsoletes: kernel-smp-drm
530 %description drm -l de.UTF-8
533 %description drm -l pl.UTF-8
537 Summary: PCMCIA modules
538 Summary(de.UTF-8): PCMCIA Module
539 Summary(pl.UTF-8): Moduły PCMCIA
541 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
542 Requires: %{name} = %{epoch}:%{version}-%{release}
543 Obsoletes: kernel-smp-pcmcia
544 Conflicts: pcmcia-cs < 3.1.21
545 Conflicts: pcmciautils < 004
551 %description pcmcia -l de.UTF-8
554 %description pcmcia -l pl.UTF-8
558 Summary: ALSA kernel modules
559 Summary(de.UTF-8): ALSA Kernel Module
560 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
562 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
563 Requires: %{name} = %{epoch}:%{version}-%{release}
564 Obsoletes: kernel-smp-sound-alsa
567 %description sound-alsa
568 ALSA (Advanced Linux Sound Architecture) sound drivers.
570 %description sound-alsa -l de.UTF-8
571 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
573 %description sound-alsa -l pl.UTF-8
574 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
577 Summary: OSS kernel modules
578 Summary(de.UTF-8): OSS Kernel Module
579 Summary(pl.UTF-8): Sterowniki dźwięku OSS
581 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
582 Requires: %{name} = %{epoch}:%{version}-%{release}
583 Obsoletes: kernel-smp-sound-oss
586 %description sound-oss
587 OSS (Open Sound System) drivers.
589 %description sound-oss -l de.UTF-8
590 OSS (Open Sound System) Treiber.
592 %description sound-oss -l pl.UTF-8
593 Sterowniki dźwięku OSS (Open Sound System).
596 Summary: Header files for the Linux kernel
597 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
598 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
599 Group: Development/Building
600 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
604 These are the C header files for the Linux kernel, which define
605 structures and constants that are needed when rebuilding the kernel or
606 building kernel modules.
608 %description headers -l de.UTF-8
609 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
610 Strukturen und Konstante beinhalten, die beim rekompilieren des
611 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
613 %description headers -l pl.UTF-8
614 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
615 oraz budowania modułów jądra.
617 %package module-build
618 Summary: Development files for building kernel modules
619 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
620 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
621 Group: Development/Building
622 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
623 Conflicts: rpmbuild(macros) < 1.321
626 %description module-build
627 Development files from kernel source tree needed to build Linux kernel
628 modules from external packages.
630 %description module-build -l de.UTF-8
631 Development Dateien des Linux-Kernels die beim kompilieren externer
632 Kernel Module gebraucht werden.
634 %description module-build -l pl.UTF-8
635 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
636 Linuksa z zewnętrznych pakietów.
639 Summary: Kernel source tree
640 Summary(de.UTF-8): Der Kernel Quelltext
641 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
642 Group: Development/Building
643 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
647 This is the source code for the Linux kernel. You can build a custom
648 kernel that is better tuned to your particular hardware.
650 %description source -l de.UTF-8
651 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
652 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
653 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
654 im Kernel-Source definiert sind. Die Source-Dateien können auch
655 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
656 Hardware ausgerichtet ist.
658 %description source -l fr.UTF-8
659 Le package pour le kernel-source contient le code source pour le noyau
660 linux. Ces sources sont nécessaires pour compiler la plupart des
661 programmes C, car il dépend de constantes définies dans le code
662 source. Les sources peuvent être aussi utilisée pour compiler un noyau
663 personnalisé pour avoir de meilleures performances sur des matériels
666 %description source -l pl.UTF-8
667 Pakiet zawiera kod źródłowy jądra systemu.
670 Summary: Kernel documentation
671 Summary(de.UTF-8): Kernel Dokumentation
672 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
677 This is the documentation for the Linux kernel, as found in
678 /usr/src/linux/Documentation directory.
680 %description doc -l de.UTF-8
681 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
682 Verzeichniss vorgefunden werden kann.
684 %description doc -l pl.UTF-8
685 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
686 /usr/src/linux/Documentation.
690 ln -s %{SOURCE7} kernel-module-build.pl
691 ln -s %{SOURCE10} Makefile
694 # hack against warning in pax/grsec
695 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
697 %if "%{postver}" != "%{nil}"
707 # tahoe9xx: 2.6.29 - need update
710 %if %{with fbcondecor}
718 # kernel-pom-ng-IPV4OPTSSTRIP.patch
721 # kernel-pom-ng-ipv4options.patch
724 # kernel-pom-ng-ROUTE.patch
727 # kernel-pom-ng-mms-conntrack-nat.patch
730 # kernel-pom-ng-rsh.patch
733 # kernel-pom-ng-rpc.patch
736 # kernel-nf_rtsp.patch
739 # kernel-owner-xid.patch
744 # kernel-ipt_account.patch
747 # kernel-ipt_ACCOUNT.patch
750 # kernel-layer7.patch
786 # kernel-rndis_host-wm5.patch
789 # hostap enhancements from/for aircrack-ng
792 # LSI MPT Fusion driver update (by LSI via SUSE folks)
805 # unionfs (problems with aufs2, needed for aufs1 patch)
806 %if %{without rescuecd}
825 # grsecurity & pax stuff
828 # remember that we have the same config file for grsec_minimal and
829 # grsec_full, but the patches are different.
831 %if %{with grsecurity}
832 %if %{with grsec_minimal}
835 # grsec_full and/or pax
837 %{?with_vserver:%patch10000 -p1}
838 %{?with_vserver:%patch10001 -p1}
839 %{?with_vserver:%patch10002 -p1}
843 # end of grsecurity & pax stuff
867 # Fix EXTRAVERSION in main Makefile
868 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
870 # cleanup backups after patching
871 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
875 cat > %{targetobj}.mk <<'EOF'
876 # generated by %{name}.spec
877 KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
878 KERNELOUTPUT := %{objdir}
880 SRCARCH := %{target_arch_dir}
881 ARCH := %{_target_base_arch}
882 Q := %{!?with_verbose:@}
883 MAKE_OPTS := %{MakeOpts}
884 DEFCONFIG := %{defconfig}
891 CONFIG_PAX_SEGMEXEC=y
892 # performance impact on CPUs without NX bit
893 CONFIG_PAX_PAGEEXEC=n
896 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
902 CONFIG_PAX_NOELFRELOCS=n
905 CONFIG_PAX_EMUTRAMP=y
906 CONFIG_PAX_EMUSIGRT=y
910 %ifarch sparc sparc64 alpha
914 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
915 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
916 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
917 # PAX_HOOK_ACL_FLAGS.
919 %if %{with grsec_full}
920 # Hardening grsec options if with pax
921 CONFIG_GRKERNSEC_PROC_MEMMAP=y
922 # almost rational (see HIDESYM help)
923 CONFIG_GRKERNSEC_HIDESYM=y
925 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
927 CONFIG_PAX_HAVE_ACL_FLAGS=n
928 CONFIG_PAX_HOOK_ACL_FLAGS=y
938 # CONFIG_SOUND is not set
939 # CONFIG_AUDIT is not set
940 # CONFIG_TR is not set
941 # CONFIG_BT is not set
942 # CONFIG_VIDEO_DEV is not set
943 # CONFIG_DVB_CORE is not set
944 # CONFIG_HAMRADIO is not set
945 # CONFIG_ARCNET is not set
946 # CONFIG_FB is not set
947 # CONFIG_DRM is not set
948 # CONFIG_WATCHDOG is not set
949 # CONFIG_INPUT_JOYSTICK is not set
950 # CONFIG_DEBUG_KERNEL is not set
951 # CONFIG_ISDN is not set
952 # CONFIG_AGP is not set
953 # CONFIG_SECURITY is not set
954 # CONFIG_PARIDE is not set
955 # CONFIG_CPU_FREQ is not set
956 # CONFIG_GAMEPORT is not set
957 # CONFIG_KVM is not set
958 # CONFIG_PHONE is not set
959 # CONFIG_STRICT_DEVMEM is not set
960 # CONFIG_IMA is not set
963 CONFIG_AUFS_BR_RAMFS=y
965 CONFIG_BLK_DEV_LOOP=y
977 Config="kernel-%{target_arch_dir}.config"
978 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
980 # prepare local and important options
981 cat <<-EOCONFIG > important.config
982 LOCALVERSION="-%{localversion}"
986 CONFIG_DEBUG_SLAB_LEAK=y
987 CONFIG_DEBUG_PREEMPT=y
988 CONFIG_RT_DEADLOCK_DETECT=y
991 # apparmor, will be moved to external file if works
993 CONFIG_SECURITY_APPARMOR=y
994 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
995 CONFIG_SECURITY_APPARMOR_DISABLE=n
996 CONFIG_SECURITY_APPARMOR_NETWORK=y
1003 %ifarch i686 athlon pentium3 pentium4
1012 %if %{without pcmcia}
1016 %if %{with fbcondecor}
1020 CONFIG_FB_TILEBLITTING=n
1021 CONFIG_FB_CON_DECOR=y
1029 # Temporary disabled RELOCATABLE. Needed only on x86??
1030 %if %{with pax} || %{with grsec_full}
1031 CONFIG_RELOCATABLE=n
1035 %if %{with rescuecd}
1036 RescueConfig rescue.config
1039 PaXconfig pax.config
1042 # prepare kernel-style config file from multiple config files
1043 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1045 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
1048 %if %{with rescuecd}
1059 %if %{with grsec_full}
1063 %if %{with grsec_minimal}
1081 %if %{with tuxonice}
1082 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1086 %{SOURCE40} %{?0:netfilter} \
1087 %{SOURCE41} %{?0:patches} \
1089 $RPM_SOURCE_DIR/$Config
1093 install -d arch/%{target_arch_dir}
1094 BuildConfig > %{defconfig}
1095 ln -sf %{defconfig} .config
1099 TARGETOBJ=%{targetobj} \
1100 %{?with_verbose:V=1} \
1103 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1107 TARGETOBJ=%{targetobj} \
1108 %{?with_verbose:V=1} \
1112 rm -rf $RPM_BUILD_ROOT
1113 %{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install firmware_install \
1115 %{?with_verbose:V=1} \
1117 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1118 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1119 KERNELRELEASE=%{kernel_release}
1121 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1123 # create directories which may be missing, to simplyfy %files
1124 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1126 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1127 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1128 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1130 # no point embed content for %ghost files. empty them
1135 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1137 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1141 install -d $RPM_BUILD_ROOT/boot
1142 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1143 %ifarch %{ix86} %{x8664}
1144 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1145 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1148 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1149 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1152 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1153 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1154 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1156 %ifarch alpha sparc sparc64
1157 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1158 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1159 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1161 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1162 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1165 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1166 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1169 install %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1174 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1176 %if "%{_target_base_arch}" != "%{_arch}"
1177 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1181 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1184 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1185 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1186 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1188 rm -f $RPM_BUILD_ROOT/COPYING
1191 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1192 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1193 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1194 cp -a %{objdir}/include/linux/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf-dist.h
1195 cp -a %{objdir}/include/linux/{utsrelease,version}.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1196 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h
1197 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1199 # collect module-build files and directories
1200 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1202 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1203 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1206 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1207 install -d $RPM_BUILD_ROOT%{_docdir}
1208 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1210 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1211 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1212 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1213 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1216 rm -rf $RPM_BUILD_ROOT
1219 if [ -x /sbin/new-kernel-pkg ]; then
1220 /sbin/new-kernel-pkg --remove %{kernel_release}
1225 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1226 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1227 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1228 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1230 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1231 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1232 mv -f /boot/System.map{,.old} 2> /dev/null
1233 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1234 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1235 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1236 ln -sf System.map-%{kernel_release} /boot/System.map
1237 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1239 %depmod %{kernel_release}
1241 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1242 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1243 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1244 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1245 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1247 if [ -x /sbin/update-grub ]; then
1248 /sbin/update-grub >/dev/null 2>&1
1250 if [ -x /sbin/new-kernel-pkg ]; then
1251 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1253 if [ -x /sbin/rc-boot ]; then
1254 /sbin/rc-boot 1>&2 || :
1258 mv -f /boot/vmlinux{,.old} 2> /dev/null
1259 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1260 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1261 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1264 %depmod %{kernel_release}
1267 %depmod %{kernel_release}
1270 %depmod %{kernel_release}
1273 %depmod %{kernel_release}
1276 %depmod %{kernel_release}
1279 %depmod %{kernel_release}
1282 %depmod %{kernel_release}
1285 %depmod %{kernel_release}
1288 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1291 if [ "$1" = "0" ]; then
1292 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1293 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1294 rm -f %{_prefix}/src/linux%{_alt_kernel}
1299 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1300 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1301 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1303 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1304 if [ "$1" = 0 ]; then
1305 rm -f /lib/modules/%{kernel_release}/{build,source}
1309 %defattr(644,root,root,755)
1310 %ifarch sparc sparc64
1311 /boot/vmlinux.aout-%{kernel_release}
1314 /boot/efi/vmlinuz-%{kernel_release}
1316 /boot/vmlinuz-%{kernel_release}
1317 /boot/System.map-%{kernel_release}
1318 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1319 /lib/firmware/%{kernel_release}
1321 %dir /lib/modules/%{kernel_release}
1322 %dir /lib/modules/%{kernel_release}/kernel
1323 /lib/modules/%{kernel_release}/kernel/arch
1324 /lib/modules/%{kernel_release}/kernel/crypto
1325 /lib/modules/%{kernel_release}/kernel/drivers
1327 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1329 /lib/modules/%{kernel_release}/kernel/fs
1330 /lib/modules/%{kernel_release}/kernel/kernel
1331 /lib/modules/%{kernel_release}/kernel/lib
1332 /lib/modules/%{kernel_release}/kernel/net
1333 /lib/modules/%{kernel_release}/kernel/mm
1335 %dir /lib/modules/%{kernel_release}/kernel/sound
1336 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1337 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1339 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1340 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1341 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1344 %dir /lib/modules/%{kernel_release}/misc
1346 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1347 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1348 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1349 %if %{without rescuecd}
1350 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1351 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1352 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1353 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1354 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1355 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1357 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1358 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1359 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1360 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1361 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1362 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1363 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1364 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1367 /lib/modules/%{kernel_release}/kernel/sound
1370 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1373 /lib/modules/%{kernel_release}/modules.order
1375 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1376 %ghost /lib/modules/%{kernel_release}/modules.alias
1377 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1378 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1379 %ghost /lib/modules/%{kernel_release}/modules.dep
1380 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1381 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1382 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1383 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1384 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1385 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1386 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1387 %ghost /lib/modules/%{kernel_release}/modules.symbols
1388 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1389 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1391 # symlinks pointing to kernelsrcdir
1392 %ghost /lib/modules/%{kernel_release}/build
1393 %ghost /lib/modules/%{kernel_release}/source
1395 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1397 %defattr(644,root,root,755)
1398 /boot/vmlinux-%{kernel_release}
1403 %defattr(644,root,root,755)
1404 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1409 %defattr(644,root,root,755)
1410 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1411 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1412 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1413 %if %{without rescuecd}
1414 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1415 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1416 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1417 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1419 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1420 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1421 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1422 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1423 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1424 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1425 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1426 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1427 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1432 %defattr(644,root,root,755)
1433 /lib/modules/%{kernel_release}/kernel/sound
1434 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1435 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1436 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1438 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1441 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1442 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1443 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1444 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1449 %defattr(644,root,root,755)
1450 /lib/modules/%{kernel_release}/kernel/sound/oss
1454 %files headers -f files.headers_exclude_kbuild
1455 %defattr(644,root,root,755)
1456 %dir %{_kernelsrcdir}
1457 %{_kernelsrcdir}/include
1458 %dir %{_kernelsrcdir}/arch
1459 %dir %{_kernelsrcdir}/arch/[!K]*
1460 %{_kernelsrcdir}/arch/*/include
1461 %dir %{_kernelsrcdir}/security
1462 %dir %{_kernelsrcdir}/security/selinux
1463 %{_kernelsrcdir}/security/selinux/include
1464 %{_kernelsrcdir}/config-dist
1465 %{_kernelsrcdir}/Module.symvers-dist
1467 %files module-build -f files.mb_include_modulebuild_and_dirs
1468 %defattr(644,root,root,755)
1470 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1472 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1473 %exclude %dir %{_kernelsrcdir}/arch/um
1474 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1475 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1476 %{_kernelsrcdir}/drivers/lguest/lg.h
1477 %{_kernelsrcdir}/kernel/bounds.c
1478 %dir %{_kernelsrcdir}/scripts
1479 %{_kernelsrcdir}/scripts/Kbuild.include
1480 %{_kernelsrcdir}/scripts/Makefile*
1481 %{_kernelsrcdir}/scripts/basic
1482 %{_kernelsrcdir}/scripts/kconfig
1483 %{_kernelsrcdir}/scripts/mkcompile_h
1484 %{_kernelsrcdir}/scripts/mkmakefile
1485 %{_kernelsrcdir}/scripts/mod
1486 %{_kernelsrcdir}/scripts/module-common.lds
1487 %{_kernelsrcdir}/scripts/setlocalversion
1488 %{_kernelsrcdir}/scripts/*.c
1489 %{_kernelsrcdir}/scripts/*.sh
1490 %dir %{_kernelsrcdir}/scripts/selinux
1491 %{_kernelsrcdir}/scripts/selinux/Makefile
1492 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1493 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1494 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1495 %exclude %dir %{_kernelsrcdir}/security
1496 %exclude %dir %{_kernelsrcdir}/security/selinux
1500 %defattr(644,root,root,755)
1501 %dir %{_docdir}/%{name}-%{version}
1503 %{_docdir}/%{name}-%{version}/[!jkz]*
1504 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1505 %{_docdir}/%{name}-%{version}/kbuild
1506 %{_docdir}/%{name}-%{version}/kdump
1507 %{_docdir}/%{name}-%{version}/kvm
1508 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1509 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1510 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1514 %files source -f files.source_exclude_modulebuild_and_dirs
1515 %defattr(644,root,root,755)
1516 %{_kernelsrcdir}/arch/*/[!Mik]*
1517 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1518 %{_kernelsrcdir}/arch/ia64/ia32/[!M]*
1519 %{_kernelsrcdir}/arch/ia64/install.sh
1520 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1521 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1522 %{_kernelsrcdir}/arch/m68k/install.sh
1523 %{_kernelsrcdir}/arch/parisc/install.sh
1524 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1525 %{_kernelsrcdir}/arch/ia64/kvm
1526 %{_kernelsrcdir}/arch/powerpc/kvm
1528 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1530 %{_kernelsrcdir}/arch/s390/kvm
1531 %{_kernelsrcdir}/arch/x86/kvm
1532 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1533 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1534 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1535 %{_kernelsrcdir}/block
1536 %{_kernelsrcdir}/crypto
1537 %{_kernelsrcdir}/drivers
1538 %{_kernelsrcdir}/firmware
1540 %if %{with grsecurity} && %{without rescuecd}
1541 %{_kernelsrcdir}/grsecurity
1543 %{_kernelsrcdir}/init
1544 %{_kernelsrcdir}/ipc
1545 %{_kernelsrcdir}/kernel
1546 %exclude %{_kernelsrcdir}/kernel/bounds.c
1547 %{_kernelsrcdir}/lib
1549 %{_kernelsrcdir}/net
1550 %{_kernelsrcdir}/virt
1551 %{_kernelsrcdir}/samples
1552 %{_kernelsrcdir}/scripts/*
1553 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1554 %exclude %{_kernelsrcdir}/scripts/Makefile*
1555 %exclude %{_kernelsrcdir}/scripts/basic
1556 %exclude %{_kernelsrcdir}/scripts/kconfig
1557 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1558 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1559 %exclude %{_kernelsrcdir}/scripts/mod
1560 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1561 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1562 %exclude %{_kernelsrcdir}/scripts/*.c
1563 %exclude %{_kernelsrcdir}/scripts/*.sh
1564 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1565 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1566 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1567 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1568 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1569 %{_kernelsrcdir}/sound
1570 %{_kernelsrcdir}/security
1571 %exclude %{_kernelsrcdir}/security/selinux/include
1572 %{_kernelsrcdir}/tools
1573 %{_kernelsrcdir}/usr
1574 %{_kernelsrcdir}/COPYING
1575 %{_kernelsrcdir}/CREDITS
1576 %{_kernelsrcdir}/MAINTAINERS
1577 %{_kernelsrcdir}/README
1578 %{_kernelsrcdir}/REPORTING-BUGS