3 # the following bcond combos will not work
4 # - without_vserver and any of the following
7 # LATEST VERSION CHECKER:
8 # # curl -s http://www.kernel.org/kdist/finger_banner
11 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
12 # - IPv4 source address selection for multihomed vservers is completely broken
13 # meaning routing table is ignored except for default
15 # HOWTO update configuration files:
17 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
18 # - sort configuration files using:
19 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
20 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
23 %bcond_without source # don't build kernel-source package
24 %bcond_without doc # don't build kernel-doc package
25 %bcond_without pcmcia # don't build pcmcia
27 %bcond_with verbose # verbose build (V=1)
28 %bcond_with reiser4 # support for reiser4 fs (experimental)
30 %bcond_without grsecurity # don't build grsecurity nor pax at all
31 %bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
33 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
34 %bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
35 %bcond_with nfsroot # build with root on NFS support
37 %bcond_without imq # imq support
38 %bcond_without wrr # wrr support
39 %bcond_without esfq # esfq support
40 %bcond_without ipv6 # ipv6 support
42 %bcond_without vserver # support for VServer (enabled by default)
43 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
45 %bcond_with vanilla # don't include any patches
46 %bcond_with rescuecd # build kernel for our rescue
47 %bcond_with myown # build with your own config (kernel-myown.config)
49 %{?debug:%define with_verbose 1}
52 %unglobal with_grsecurity
55 %if %{without grsecurity}
60 %define with_grsecurity 1
70 %unglobal with_tuxonice
71 %unglobal with_grsecurity
73 %unglobal with_vserver
95 %define basever 2.6.38
99 %define _enable_debug_packages 0
101 %define tuxonice_version 3.2
102 %define netfilter_snap 20070806
105 %if "%{_alt_kernel}" == ""
106 %define alt_kernel myown
110 %define alt_kernel vanilla
113 %define alt_kernel rescuecd
114 %else # not rescuecd:
115 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
116 %if "%{__alt_kernel}" != ""
117 %define alt_kernel %{__alt_kernel}
119 %endif # not rescuecd
123 # kernel release (used in filesystem and eventually in uname -r)
124 # modules will be looked from /lib/modules/%{kernel_release}
125 # localversion is just that without version for "> localversion"
126 %define localversion %{rel}
127 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
129 Summary: The Linux kernel (the core of the Linux operating system)
130 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
131 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
132 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
133 Summary(pl.UTF-8): JÄ…dro Linuksa
134 Name: kernel%{_alt_kernel}
135 Version: %{basever}%{postver}
140 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
141 # Source0-md5: 7d471477bfa67546f902da62227fa976
142 %if "%{postver}" != "%{nil}"
143 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
144 # Source1-md5: 527fab8162c682ad849eb21fc30d28ef
147 Source3: kernel-autoconf.h
148 Source4: kernel-config.h
149 Source6: kernel-config.awk
150 Source7: kernel-module-build.pl
151 Source8: kernel-track-config-change.awk
152 # not used by kernel.spec, but it's good to have it in SOURCES
153 Source9: kernel-config-sort.pl
154 Source10: kernel.make
156 Source20: kernel-multiarch.config
157 Source21: kernel-x86.config
158 Source22: kernel-sparc.config
159 Source23: kernel-alpha.config
160 Source24: kernel-powerpc.config
161 Source25: kernel-ia64.config
163 Source40: kernel-netfilter.config
164 Source41: kernel-patches.config
165 Source42: kernel-tuxonice.config
166 Source43: kernel-vserver.config
167 Source45: kernel-grsec.config
169 Source49: kernel-pax.config
170 Source50: kernel-no-pax.config
171 Source55: kernel-imq.config
172 Source56: kernel-reiser4.config
173 Source57: kernel-wrr.config
175 Source58: kernel-inittmpfs.config
176 Source59: kernel-bzip2-lzma.config
178 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
179 Patch3: kernel-fbcondecor.patch
180 Patch4: kernel-fbcon-margins.patch
181 Patch5: linux-wistron-amilo8210.patch
183 # netfilter related stuff mostly based on patch-o-matic-ng
184 # snapshot 20070806 with some fixes. Some modules
185 # were ported to nf_conntrack.
187 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
188 Patch11: kernel-pom-ng-ipv4options.patch
190 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
191 Patch22: kernel-pom-ng-rsh.patch
192 Patch23: kernel-pom-ng-rpc.patch
194 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
195 Patch36: kernel-nf_rtsp.patch
197 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
198 Patch37: kernel-owner-xid.patch
200 # based on kernel-2.6.25-layer7-2.20.patch from
201 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
202 Patch40: kernel-layer7.patch
206 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
207 Patch49: kernel-zph.patch
209 # based on http://www.linuximq.net/patchs/linux-2.6.35-imq-multiqueue-test1.diff
210 Patch50: kernel-imq.patch
212 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
213 Patch51: kernel-reiser4.patch
215 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
216 Patch52: kernel-wrr.patch
218 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
219 Patch53: kernel-esfq.patch
221 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
222 Patch54: kernel-toshiba_acpi.patch
224 # by Baggins request:
225 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
226 Patch55: kernel-atm-vbr.patch
227 Patch56: kernel-atmdd.patch
229 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
230 Patch59: kernel-rndis_host-wm5.patch
232 # Project suspend2 renamed to tuxonice
233 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
234 # NOTE: currently using own diff from tuxonice git tree until official patch is released
235 Patch69: kernel-tuxonice.patch
236 Patch70: kernel-tuxonice-headers.patch
238 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
239 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
240 Patch85: kernel-hostap.patch
242 # http://vserver.13thfloor.at/Experimental/patch-2.6.38.6-vs2.3.0.37-rc15.diff
243 Patch100: kernel-vserver-2.3.patch
244 Patch101: kernel-vserver-fixes.patch
246 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
247 # Fix verified for that kernel version.
248 Patch130: kernel-forcedeth-WON.patch
250 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.38-rc7.diff.gz
251 Patch140: kernel-unionfs.patch
253 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
255 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
256 # cd aufs2-standalone
257 # git checkout -b aufs2.1 origin/aufs2.1
258 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
260 # cp -a Documentation fs include linux
261 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
263 Patch145: kernel-aufs2.patch
264 Patch146: kernel-aufs2-unionfs.patch
265 Patch147: kernel-aufs2-no-const-grsec.patch
266 Patch148: kernel-aufs2-reiser4.patch
268 # Show normal colors in menuconfig with ncurses ABI 6
269 Patch250: kernel-fix_256colors_menuconfig.patch
271 # The following patch extend the routing functionality in Linux
272 # to support static routes (defined by user), new way to use the
273 # alternative routes, the reverse path protection (rp_filter),
274 # the NAT processing to use correctly the routing when multiple
276 # http://www.ssi.bg/~ja/routes-2.6.38-16.diff
277 Patch300: kernel-routes.patch
279 # https://patchwork.kernel.org/patch/236261/
280 Patch400: kernel-virtio-gl-accel.patch
282 Patch2000: kernel-small_fixes.patch
283 Patch2001: kernel-pwc-uncompress.patch
284 Patch2003: kernel-regressions.patch
286 Patch2200: kernel-xfs-delaylog.patch
288 Patch2300: kernel-drm-intel-2011Q1.patch
290 # kill some thousands of warnings
291 # (only warnings, so just remove parts of this patch if conflics)
292 Patch2500: kernel-warnings.patch
294 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
295 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
296 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
297 Patch5000: kernel-apparmor.patch
300 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
301 Patch7000: kernel-inittmpfs.patch
303 # based on http://www.grsecurity.net/~spender/grsecurity-2.2.2-2.6.38.6-201105111839.patch
304 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
305 # (since upstream deletes older patches)
306 Patch9999: kernel-grsec_full.patch
307 Patch10000: kernel-grsec-caps.patch
308 Patch10001: kernel-grsec-common.patch
309 Patch10002: kernel-grsec_fixes.patch
311 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
312 # kernel.spec every time.
313 #Patch50000: kernel-usb_reset.patch
315 URL: http://www.kernel.org/
316 BuildRequires: binutils >= 3:2.18
317 %ifarch sparc sparc64
318 BuildRequires: elftoaout
321 BuildRequires: uboot-mkimage
323 BuildRequires: /sbin/depmod
324 BuildRequires: gcc >= 5:3.2
325 BuildRequires: xz >= 1:4.999.7
327 # for hostname command
328 BuildRequires: module-init-tools >= 3.5
329 BuildRequires: net-tools
330 BuildRequires: perl-base
331 BuildRequires: rpm-build >= 4.5-24
332 BuildRequires: rpmbuild(macros) >= 1.217
333 Requires(post): coreutils
334 Requires(post): geninitrd >= 10000-3
335 Requires(post): module-init-tools >= 0.9.9
336 Requires: /sbin/depmod
338 Requires: geninitrd >= 10000-3
339 Requires: module-init-tools >= 0.9.9
341 Provides: %{name}(netfilter) = %{netfilter_snap}
342 Provides: %{name}(vermagic) = %{kernel_release}
343 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
344 Obsoletes: kernel-firmware
345 Obsoletes: kernel-misc-acer_acpi
346 Obsoletes: kernel-misc-fuse
347 Obsoletes: kernel-misc-uvc
348 Obsoletes: kernel-modules
349 Obsoletes: kernel-net-ar81
350 Obsoletes: kernel-net-hostap
351 Obsoletes: kernel-net-ieee80211
352 Obsoletes: kernel-net-ipp2p
353 Obsoletes: kernel-net-rt61
354 Obsoletes: kernel-smp
355 Conflicts: e2fsprogs < 1.29
356 Conflicts: isdn4k-utils < 3.1pre1
357 Conflicts: jfsutils < 1.1.3
358 Conflicts: lvm2 < 2.02.40
359 Conflicts: module-init-tools < 0.9.10
360 Conflicts: nfs-utils < 1.0.5
361 Conflicts: oprofile < 0.9
362 Conflicts: ppp < 1:2.4.0
363 Conflicts: procps < 3.2.0
364 Conflicts: quota-tools < 3.09
365 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
366 Conflicts: reiserfsprogs < 3.6.3
367 Conflicts: rpm < 4.4.2-0.2
368 Conflicts: udev < 1:081
369 Conflicts: util-linux < 2.10o
370 Conflicts: util-vserver < 0.30.216
371 Conflicts: xfsprogs < 2.6.0
373 ExcludeArch: i386 i486 i586
375 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
378 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
380 %ifarch %{ix86} %{x8664}
381 %define target_arch_dir x86
384 %define target_arch_dir powerpc
386 %ifarch sparc sparc64
387 %define target_arch_dir sparc
389 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
390 %define target_arch_dir %{_target_base_arch}
393 %define defconfig arch/%{target_arch_dir}/defconfig
395 # No ELF objects there to strip (skips processing 27k files)
396 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
397 %define _noautochrpath .*%{_kernelsrcdir}/.*
400 %define initrd_dir /boot/efi
402 %define initrd_dir /boot
405 %define topdir %{_builddir}/%{name}-%{version}
406 %define srcdir %{topdir}/linux-%{basever}
407 %define objdir %{topdir}/%{targetobj}
408 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
410 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
412 %if "%{_target_base_arch}" != "%{_arch}"
413 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
414 %define DepMod /bin/true
416 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
417 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
418 %define DepMod /sbin/depmod
421 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
422 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
423 %define DepMod /sbin/depmod
426 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
427 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
428 %define DepMod /sbin/depmod
431 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
432 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
436 %define CrossOpts ARCH=powerpc CC="%{__cc}"
438 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
440 %define DepMod /sbin/depmod
442 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
444 %define __features Netfilter module dated: %{netfilter_snap}\
445 %{?with_grsecurity:Grsecurity support - enabled}\
446 %{?with_pax:PaX support - enabled}\
447 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
448 %{?with_nfsroot:Root on NFS - enabled}\
450 %define Features %(echo "%{__features}" | sed '/^$/d')
453 This package contains the Linux kernel that is used to boot and run
454 your system. It contains few device drivers for specific hardware.
455 Most hardware is instead supported by modules loaded after booting.
459 %description -l de.UTF-8
460 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
461 Linux-Betriebssystems. Der Kernel ist für grundliegende
462 Systemfunktionen verantwortlich: Speicherreservierung,
463 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
467 %description -l fr.UTF-8
468 Le package kernel contient le kernel linux (vmlinuz), la partie
469 centrale d'un système d'exploitation Linux. Le noyau traite les
470 fonctions basiques d'un système d'exploitation: allocation mémoire,
471 allocation de process, entrée/sortie de peripheriques, etc.
475 %description -l pl.UTF-8
476 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
477 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
478 się w komputerze, takiego jak sterowniki dysków itp.
483 Summary: vmlinux - uncompressed kernel image
484 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
485 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
487 Obsoletes: kernel-smp-vmlinux
490 vmlinux - uncompressed kernel image.
492 %description vmlinux -l de.UTF-8
493 vmlinux - dekompressiertes Kernel Bild.
495 %description vmlinux -l pl.UTF-8
496 vmlinux - rozpakowany obraz jÄ…dra.
499 Summary: DRM kernel modules
500 Summary(de.UTF-8): DRM Kernel Treiber
501 Summary(pl.UTF-8): Sterowniki DRM
503 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
504 Requires: %{name} = %{epoch}:%{version}-%{release}
505 Obsoletes: kernel-smp-drm
511 %description drm -l de.UTF-8
514 %description drm -l pl.UTF-8
518 Summary: PCMCIA modules
519 Summary(de.UTF-8): PCMCIA Module
520 Summary(pl.UTF-8): Moduły PCMCIA
522 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
523 Requires: %{name} = %{epoch}:%{version}-%{release}
524 Obsoletes: kernel-smp-pcmcia
525 Conflicts: pcmcia-cs < 3.1.21
526 Conflicts: pcmciautils < 004
532 %description pcmcia -l de.UTF-8
535 %description pcmcia -l pl.UTF-8
539 Summary: ALSA kernel modules
540 Summary(de.UTF-8): ALSA Kernel Module
541 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
543 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
544 Requires: %{name} = %{epoch}:%{version}-%{release}
545 Obsoletes: kernel-smp-sound-alsa
548 %description sound-alsa
549 ALSA (Advanced Linux Sound Architecture) sound drivers.
551 %description sound-alsa -l de.UTF-8
552 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
554 %description sound-alsa -l pl.UTF-8
555 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
558 Summary: OSS kernel modules
559 Summary(de.UTF-8): OSS Kernel Module
560 Summary(pl.UTF-8): Sterowniki dźwięku OSS
562 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
563 Requires: %{name} = %{epoch}:%{version}-%{release}
564 Obsoletes: kernel-smp-sound-oss
567 %description sound-oss
568 OSS (Open Sound System) drivers.
570 %description sound-oss -l de.UTF-8
571 OSS (Open Sound System) Treiber.
573 %description sound-oss -l pl.UTF-8
574 Sterowniki dźwięku OSS (Open Sound System).
577 Summary: Header files for the Linux kernel
578 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
579 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
580 Group: Development/Building
581 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
585 These are the C header files for the Linux kernel, which define
586 structures and constants that are needed when rebuilding the kernel or
587 building kernel modules.
589 %description headers -l de.UTF-8
590 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
591 Strukturen und Konstante beinhalten, die beim rekompilieren des
592 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
594 %description headers -l pl.UTF-8
595 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
596 oraz budowania modułów jądra.
598 %package module-build
599 Summary: Development files for building kernel modules
600 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
601 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
602 Group: Development/Building
603 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
604 Conflicts: rpmbuild(macros) < 1.550
607 %description module-build
608 Development files from kernel source tree needed to build Linux kernel
609 modules from external packages.
611 %description module-build -l de.UTF-8
612 Development Dateien des Linux-Kernels die beim kompilieren externer
613 Kernel Module gebraucht werden.
615 %description module-build -l pl.UTF-8
616 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
617 Linuksa z zewnętrznych pakietów.
620 Summary: Kernel source tree
621 Summary(de.UTF-8): Der Kernel Quelltext
622 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
623 Group: Development/Building
624 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
628 This is the source code for the Linux kernel. You can build a custom
629 kernel that is better tuned to your particular hardware.
631 %description source -l de.UTF-8
632 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
633 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
634 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
635 im Kernel-Source definiert sind. Die Source-Dateien können auch
636 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
637 Hardware ausgerichtet ist.
639 %description source -l fr.UTF-8
640 Le package pour le kernel-source contient le code source pour le noyau
641 linux. Ces sources sont nécessaires pour compiler la plupart des
642 programmes C, car il dépend de constantes définies dans le code
643 source. Les sources peuvent être aussi utilisée pour compiler un noyau
644 personnalisé pour avoir de meilleures performances sur des matériels
647 %description source -l pl.UTF-8
648 Pakiet zawiera kod źródłowy jądra systemu.
651 Summary: Kernel documentation
652 Summary(de.UTF-8): Kernel Dokumentation
653 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
658 This is the documentation for the Linux kernel, as found in
659 /usr/src/linux/Documentation directory.
661 %description doc -l de.UTF-8
662 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
663 Verzeichniss vorgefunden werden kann.
665 %description doc -l pl.UTF-8
666 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
667 /usr/src/linux/Documentation.
671 ln -s %{SOURCE7} kernel-module-build.pl
672 ln -s %{SOURCE10} Makefile
675 # hack against warning in pax/grsec
676 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
678 %if "%{postver}" != "%{nil}"
679 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
682 %if %{without vanilla}
690 %if %{with fbcondecor}
699 # kernel-pom-ng-IPV4OPTSSTRIP.patch
702 # kernel-pom-ng-ipv4options.patch
705 # kernel-pom-ng-mms-conntrack-nat.patch
708 # kernel-pom-ng-rsh.patch
711 # kernel-pom-ng-rpc.patch
714 # kernel-nf_rtsp.patch
717 # kernel-owner-xid.patch
722 # kernel-layer7.patch
755 # kernel-rndis_host-wm5.patch
758 # hostap enhancements from/for aircrack-ng
790 # grsecurity & pax stuff
793 %if %{with grsecurity}
795 # aufs2 needs to modify those pointers
797 %{?with_vserver:%patch10000 -p1}
798 %{?with_vserver:%patch10001 -p1}
799 %{?with_vserver:%patch10002 -p1}
802 # end of grsecurity & pax stuff
822 # Do not remove this, please!
825 # Fix EXTRAVERSION in main Makefile
826 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
828 # cleanup backups after patching
829 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
833 cat > %{targetobj}.mk <<'EOF'
834 # generated by %{name}.spec
835 KERNELSRC := %{srcdir}
836 KERNELOUTPUT := %{objdir}
838 SRCARCH := %{target_arch_dir}
839 ARCH := %{_target_base_arch}
840 Q := %{!?with_verbose:@}
841 MAKE_OPTS := %{MakeOpts}
842 DEFCONFIG := %{defconfig}
849 CONFIG_PAX_SEGMEXEC=y
850 # performance impact on CPUs without NX bit
851 CONFIG_PAX_PAGEEXEC=n
854 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
860 CONFIG_PAX_NOELFRELOCS=n
863 CONFIG_PAX_EMUTRAMP=y
864 CONFIG_PAX_EMUSIGRT=y
868 %ifarch sparc sparc64 alpha
872 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
873 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
874 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
875 # PAX_HOOK_ACL_FLAGS.
877 %if %{with grsecurity}
878 # Hardening grsec options if with pax
879 CONFIG_GRKERNSEC_PROC_MEMMAP=y
880 # almost rational (see HIDESYM help)
881 CONFIG_GRKERNSEC_HIDESYM=y
883 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
885 CONFIG_PAX_HAVE_ACL_FLAGS=n
886 CONFIG_PAX_HOOK_ACL_FLAGS=y
896 # CONFIG_SOUND is not set
897 # CONFIG_AUDIT is not set
898 # CONFIG_TR is not set
899 # CONFIG_BT is not set
900 # CONFIG_VIDEO_DEV is not set
901 # CONFIG_DVB_CORE is not set
902 # CONFIG_HAMRADIO is not set
903 # CONFIG_ARCNET is not set
904 # CONFIG_FB is not set
905 # CONFIG_DRM is not set
906 # CONFIG_WATCHDOG is not set
907 # CONFIG_INPUT_JOYSTICK is not set
908 # CONFIG_DEBUG_KERNEL is not set
909 # CONFIG_ISDN is not set
910 # CONFIG_AGP is not set
911 # CONFIG_SECURITY is not set
912 # CONFIG_PARIDE is not set
913 # CONFIG_CPU_FREQ is not set
914 # CONFIG_GAMEPORT is not set
915 # CONFIG_KVM is not set
916 # CONFIG_PHONE is not set
917 # CONFIG_STRICT_DEVMEM is not set
918 # CONFIG_IMA is not set
921 CONFIG_AUFS_BR_RAMFS=y
923 CONFIG_BLK_DEV_LOOP=y
936 Config="kernel-%{target_arch_dir}.config"
937 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
939 # prepare local and important options
940 cat <<-EOCONFIG > important.config
941 LOCALVERSION="-%{localversion}"
945 CONFIG_DEBUG_SLAB_LEAK=y
946 CONFIG_DEBUG_PREEMPT=y
947 CONFIG_RT_DEADLOCK_DETECT=y
954 %ifarch i686 athlon pentium3 pentium4
963 %if %{without pcmcia}
967 %if %{with fbcondecor}
971 CONFIG_FB_TILEBLITTING=n
972 CONFIG_FB_CON_DECOR=y
980 # Temporary disabled RELOCATABLE. Needed only on x86??
981 %if %{with pax} || %{with grsecurity}
987 RescueConfig rescue.config
993 # prepare kernel-style config file from multiple config files
994 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
996 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
999 %if %{without vanilla}
1000 %if %{with rescuecd}
1011 %if %{with grsecurity}
1029 %if %{with tuxonice}
1030 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1034 %{SOURCE41} %{?0:patches} \
1036 %{SOURCE40} %{?0:netfilter} \
1038 $RPM_SOURCE_DIR/$Config
1042 install -d arch/%{target_arch_dir}
1043 BuildConfig > %{defconfig}
1044 ln -sf %{defconfig} .config
1048 TARGETOBJ=%{targetobj} \
1049 %{?with_verbose:V=1} \
1052 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1056 TARGETOBJ=%{targetobj} \
1057 %{?with_verbose:V=1} \
1061 rm -rf $RPM_BUILD_ROOT
1062 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1064 %{?with_verbose:V=1} \
1066 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1067 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1068 KERNELRELEASE=%{kernel_release}
1070 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1072 # create directories which may be missing, to simplyfy %files
1073 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1075 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1076 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1077 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1079 # no point embed content for %ghost files. empty them
1084 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1086 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1087 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1091 install -d $RPM_BUILD_ROOT/boot
1092 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1093 %ifarch %{ix86} %{x8664}
1094 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1095 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1098 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1099 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1102 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1103 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1104 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1106 %ifarch alpha sparc sparc64
1107 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1108 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1109 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1111 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1112 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1115 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1116 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1120 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1124 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1126 %if "%{_target_base_arch}" != "%{_arch}"
1127 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1131 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1134 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1135 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1136 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1138 rm -f $RPM_BUILD_ROOT/COPYING
1141 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1142 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1143 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1144 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1145 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1146 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1147 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1148 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1150 # collect module-build files and directories
1151 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1153 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1154 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1157 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1158 install -d $RPM_BUILD_ROOT%{_docdir}
1159 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1161 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1162 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1163 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1164 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1167 rm -rf $RPM_BUILD_ROOT
1170 if [ -x /sbin/new-kernel-pkg ]; then
1171 /sbin/new-kernel-pkg --remove %{kernel_release}
1176 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1177 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1178 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1179 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1181 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1182 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1183 mv -f /boot/System.map{,.old} 2> /dev/null
1184 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1185 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1186 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1187 ln -sf System.map-%{kernel_release} /boot/System.map
1188 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1190 %depmod %{kernel_release}
1193 # generate initrd after all dependant modules are installed
1194 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1195 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1196 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1197 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1198 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1200 # update boot loaders when old package files are gone from filesystem
1201 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1202 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1203 /sbin/update-grub >/dev/null
1206 if [ -x /sbin/new-kernel-pkg ]; then
1207 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1209 if [ -x /sbin/rc-boot ]; then
1210 /sbin/rc-boot 1>&2 || :
1214 mv -f /boot/vmlinux{,.old} 2> /dev/null
1215 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1216 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1217 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1220 %depmod %{kernel_release}
1223 %depmod %{kernel_release}
1226 %depmod %{kernel_release}
1229 %depmod %{kernel_release}
1232 %depmod %{kernel_release}
1235 %depmod %{kernel_release}
1238 %depmod %{kernel_release}
1241 %depmod %{kernel_release}
1244 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1247 if [ "$1" = "0" ]; then
1248 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1249 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1250 rm -f %{_prefix}/src/linux%{_alt_kernel}
1255 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1256 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1257 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1259 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1260 if [ "$1" = 0 ]; then
1261 rm -f /lib/modules/%{kernel_release}/{build,source}
1265 %defattr(644,root,root,755)
1266 %ifarch sparc sparc64
1267 /boot/vmlinux.aout-%{kernel_release}
1270 /boot/efi/vmlinuz-%{kernel_release}
1272 /boot/vmlinuz-%{kernel_release}
1273 /boot/System.map-%{kernel_release}
1274 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1275 /lib/firmware/%{kernel_release}
1277 %dir /lib/modules/%{kernel_release}
1278 %dir /lib/modules/%{kernel_release}/kernel
1279 /lib/modules/%{kernel_release}/kernel/arch
1280 /lib/modules/%{kernel_release}/kernel/crypto
1281 /lib/modules/%{kernel_release}/kernel/drivers
1283 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1285 /lib/modules/%{kernel_release}/kernel/fs
1286 /lib/modules/%{kernel_release}/kernel/kernel
1287 /lib/modules/%{kernel_release}/kernel/lib
1288 /lib/modules/%{kernel_release}/kernel/net
1289 /lib/modules/%{kernel_release}/kernel/mm
1291 %dir /lib/modules/%{kernel_release}/kernel/sound
1292 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1293 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1297 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1300 %dir /lib/modules/%{kernel_release}/misc
1302 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1303 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1304 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1305 %if %{without rescuecd}
1306 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1307 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1308 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1309 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1310 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1311 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1313 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1314 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1315 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1316 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1317 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1318 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1319 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1320 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1323 /lib/modules/%{kernel_release}/kernel/sound
1325 /lib/modules/%{kernel_release}/kernel/security
1327 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1330 /lib/modules/%{kernel_release}/modules.order
1331 /lib/modules/%{kernel_release}/modules.builtin
1333 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1334 %ghost /lib/modules/%{kernel_release}/modules.alias
1335 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1336 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1337 %ghost /lib/modules/%{kernel_release}/modules.dep
1338 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1339 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1340 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1341 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1342 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1343 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1344 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1345 %ghost /lib/modules/%{kernel_release}/modules.symbols
1346 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1347 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1349 # symlinks pointing to kernelsrcdir
1350 %ghost /lib/modules/%{kernel_release}/build
1351 %ghost /lib/modules/%{kernel_release}/source
1353 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1355 %defattr(644,root,root,755)
1356 /boot/vmlinux-%{kernel_release}
1361 %defattr(644,root,root,755)
1362 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1367 %defattr(644,root,root,755)
1368 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1369 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1370 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1371 %if %{without rescuecd}
1372 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1373 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1374 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1375 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1377 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1378 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1379 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1380 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1381 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1382 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1383 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1384 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1385 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1390 %defattr(644,root,root,755)
1391 /lib/modules/%{kernel_release}/kernel/sound
1392 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1393 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1394 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1396 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1399 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1400 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1401 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1402 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1407 %defattr(644,root,root,755)
1408 /lib/modules/%{kernel_release}/kernel/sound/oss
1412 %files headers -f files.headers_exclude_kbuild
1413 %defattr(644,root,root,755)
1414 %dir %{_kernelsrcdir}
1415 %{_kernelsrcdir}/include
1416 %dir %{_kernelsrcdir}/arch
1417 %dir %{_kernelsrcdir}/arch/[!K]*
1418 %{_kernelsrcdir}/arch/*/include
1419 %dir %{_kernelsrcdir}/security
1420 %dir %{_kernelsrcdir}/security/selinux
1421 %{_kernelsrcdir}/security/selinux/include
1422 %{_kernelsrcdir}/config-dist
1423 %{_kernelsrcdir}/Module.symvers-dist
1425 %files module-build -f files.mb_include_modulebuild_and_dirs
1426 %defattr(644,root,root,755)
1428 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1430 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1431 %exclude %dir %{_kernelsrcdir}/arch/um
1432 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1433 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1434 %{_kernelsrcdir}/drivers/lguest/lg.h
1435 %{_kernelsrcdir}/kernel/bounds.c
1436 %dir %{_kernelsrcdir}/scripts
1437 %{_kernelsrcdir}/scripts/Kbuild.include
1438 %{_kernelsrcdir}/scripts/Makefile*
1439 %{_kernelsrcdir}/scripts/basic
1440 %{_kernelsrcdir}/scripts/kconfig
1441 %{_kernelsrcdir}/scripts/mkcompile_h
1442 %{_kernelsrcdir}/scripts/mkmakefile
1443 %{_kernelsrcdir}/scripts/mod
1444 %{_kernelsrcdir}/scripts/module-common.lds
1445 %{_kernelsrcdir}/scripts/setlocalversion
1446 %{_kernelsrcdir}/scripts/*.c
1447 %{_kernelsrcdir}/scripts/*.sh
1448 %dir %{_kernelsrcdir}/scripts/selinux
1449 %{_kernelsrcdir}/scripts/selinux/Makefile
1450 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1451 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1452 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1453 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1454 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1455 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1456 %exclude %dir %{_kernelsrcdir}/security
1457 %exclude %dir %{_kernelsrcdir}/security/selinux
1461 %defattr(644,root,root,755)
1462 %dir %{_docdir}/%{name}-%{version}
1464 %{_docdir}/%{name}-%{version}/[!jkz]*
1465 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1466 %{_docdir}/%{name}-%{version}/kbuild
1467 %{_docdir}/%{name}-%{version}/kdump
1468 %{_docdir}/%{name}-%{version}/kvm
1469 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1470 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1471 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1475 %files source -f files.source_exclude_modulebuild_and_dirs
1476 %defattr(644,root,root,755)
1477 %{_kernelsrcdir}/arch/*/[!Mik]*
1478 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1479 %{_kernelsrcdir}/arch/ia64/install.sh
1480 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1481 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1482 %{_kernelsrcdir}/arch/m68k/install.sh
1483 %{_kernelsrcdir}/arch/parisc/install.sh
1484 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1485 %{_kernelsrcdir}/arch/ia64/kvm
1486 %{_kernelsrcdir}/arch/powerpc/kvm
1488 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1490 %{_kernelsrcdir}/arch/s390/kvm
1491 %{_kernelsrcdir}/arch/x86/kvm
1492 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1493 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1494 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1495 %{_kernelsrcdir}/block
1496 %{_kernelsrcdir}/crypto
1497 %{_kernelsrcdir}/drivers
1498 %{_kernelsrcdir}/firmware
1500 %if %{with grsecurity} && %{without rescuecd}
1501 %{_kernelsrcdir}/grsecurity
1503 %{_kernelsrcdir}/init
1504 %{_kernelsrcdir}/ipc
1505 %{_kernelsrcdir}/kernel
1506 %exclude %{_kernelsrcdir}/kernel/bounds.c
1507 %{_kernelsrcdir}/lib
1509 %{_kernelsrcdir}/net
1510 %{_kernelsrcdir}/virt
1511 %{_kernelsrcdir}/samples
1512 %{_kernelsrcdir}/scripts/*
1513 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1514 %exclude %{_kernelsrcdir}/scripts/Makefile*
1515 %exclude %{_kernelsrcdir}/scripts/basic
1516 %exclude %{_kernelsrcdir}/scripts/kconfig
1517 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1518 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1519 %exclude %{_kernelsrcdir}/scripts/mod
1520 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1521 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1522 %exclude %{_kernelsrcdir}/scripts/*.c
1523 %exclude %{_kernelsrcdir}/scripts/*.sh
1524 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1525 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1526 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1527 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1528 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1529 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1530 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1531 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1532 %{_kernelsrcdir}/sound
1533 %{_kernelsrcdir}/security
1534 %exclude %{_kernelsrcdir}/security/selinux/include
1535 %{_kernelsrcdir}/tools
1536 %{_kernelsrcdir}/usr
1537 %{_kernelsrcdir}/COPYING
1538 %{_kernelsrcdir}/CREDITS
1539 %{_kernelsrcdir}/MAINTAINERS
1540 %{_kernelsrcdir}/README
1541 %{_kernelsrcdir}/REPORTING-BUGS