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_with 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
99 %define tuxonice_version 3.2
100 %define module_init_tools_ver 3.16
102 # __alt_kernel is list of features, empty string if none set
103 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
104 # alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
105 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
107 %if "%{__alt_kernel}" != ""
108 %define alt_kernel %{__alt_kernel}
111 # these override whatever name was picked from bconds
112 %if %{with myown} && "%{_alt_kernel}" == ""
113 %define alt_kernel myown
116 %define alt_kernel rescuecd
119 %define alt_kernel vanilla
122 # kernel release (used in filesystem and eventually in uname -r)
123 # modules will be looked from /lib/modules/%{kernel_release}
124 # localversion is just that without version for "> localversion"
125 %define localversion %{rel}
126 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
128 Summary: The Linux kernel (the core of the Linux operating system)
129 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
130 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
131 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
132 Summary(pl.UTF-8): JÄ…dro Linuksa
133 Name: kernel%{_alt_kernel}
134 Version: %{basever}%{postver}
139 Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
140 # Source0-md5: edbdc798f23ae0f8045c82f6fa22c536
141 %if "%{postver}" != ".0"
142 Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
143 # Patch0-md5: 7526abc1f3df0506c71e0918ffaedb11
146 Source3: kernel-autoconf.h
147 Source4: kernel-config.h
148 Source6: kernel-config.awk
149 Source7: kernel-module-build.pl
150 Source8: kernel-track-config-change.awk
151 # not used by kernel.spec, but it's good to have it in SOURCES
152 Source9: kernel-config-sort.pl
153 Source10: kernel.make
155 Source20: kernel-multiarch.config
156 Source21: kernel-x86.config
157 Source22: kernel-sparc.config
158 Source23: kernel-alpha.config
159 Source24: kernel-powerpc.config
160 Source25: kernel-ia64.config
162 Source41: kernel-patches.config
163 Source42: kernel-tuxonice.config
164 Source43: kernel-vserver.config
165 Source45: kernel-grsec.config
167 Source49: kernel-pax.config
168 Source50: kernel-no-pax.config
169 Source55: kernel-imq.config
170 Source56: kernel-reiser4.config
171 Source57: kernel-wrr.config
173 Source58: kernel-inittmpfs.config
175 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
176 Patch3: kernel-fbcondecor.patch
177 Patch4: kernel-fbcon-margins.patch
178 Patch5: linux-wistron-amilo8210.patch
180 # netfilter related stuff mostly based on patch-o-matic-ng
181 # snapshot 20070806 with some fixes. Some modules
182 # were ported to nf_conntrack.
184 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
186 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
187 Patch22: kernel-pom-ng-rsh.patch
188 Patch23: kernel-pom-ng-rpc.patch
190 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
191 Patch36: kernel-nf_rtsp.patch
193 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
194 Patch37: kernel-owner-xid.patch
196 # based on kernel-2.6.25-layer7-2.20.patch from
197 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
198 Patch40: kernel-layer7.patch
202 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
203 Patch49: kernel-zph.patch
205 # based on http://www.linuximq.net/patchs/linux-2.6.39-imq-multiqueue-test1.diff.bz2
206 Patch50: kernel-imq.patch
208 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
209 Patch51: kernel-reiser4.patch
211 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
212 Patch52: kernel-wrr.patch
214 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
215 Patch53: kernel-esfq.patch
217 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
218 Patch54: kernel-toshiba_acpi.patch
220 # by Baggins request:
221 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
222 Patch55: kernel-atm-vbr.patch
223 Patch56: kernel-atmdd.patch
225 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
226 Patch59: kernel-rndis_host-wm5.patch
228 # Project suspend2 renamed to tuxonice
229 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
230 # NOTE: currently using own diff from tuxonice git tree until official patch is released
231 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-head.git
232 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-<basever>.git
233 # To produce patch: git diff upstream/master...tuxonice/combined
234 Patch69: kernel-tuxonice.patch
235 Patch70: kernel-tuxonice-headers.patch
237 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
238 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
239 Patch85: kernel-hostap.patch
241 # http://vserver.13thfloor.at/Experimental/patch-3.0.4-vs2.3.1.diff
242 Patch100: kernel-vserver-2.3.patch
243 Patch101: kernel-vserver-fixes.patch
245 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
246 # Fix verified for that kernel version.
247 Patch130: kernel-forcedeth-WON.patch
249 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.10_for_3.1.0-rc4.diff.gz
250 Patch140: kernel-unionfs.patch
252 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
254 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
255 # cd aufs3-standalone
256 # git checkout -b aufs3.0 origin/aufs3.0
257 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
259 # cp -a Documentation fs include linux
260 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
262 Patch145: kernel-aufs3.patch
263 Patch146: kernel-aufs2-unionfs.patch
264 Patch147: kernel-aufs2-no-const-grsec.patch
265 Patch148: kernel-aufs2-reiser4.patch
267 # Show normal colors in menuconfig with ncurses ABI 6
268 Patch250: kernel-fix_256colors_menuconfig.patch
270 # https://patchwork.kernel.org/patch/236261/
271 Patch400: kernel-virtio-gl-accel.patch
273 Patch2000: kernel-small_fixes.patch
274 Patch2001: kernel-pwc-uncompress.patch
275 Patch2003: kernel-regressions.patch
277 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
278 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
279 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
280 Patch5000: kernel-apparmor.patch
283 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
284 Patch7000: kernel-inittmpfs.patch
286 # based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.0.7-201110200052.patch
287 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
288 # (since upstream deletes older patches)
289 Patch9999: kernel-grsec_full.patch
290 Patch10000: kernel-grsec-caps.patch
291 Patch10001: kernel-grsec-common.patch
292 Patch10002: kernel-grsec_fixes.patch
294 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
295 # kernel.spec every time.
296 #Patch50000: kernel-usb_reset.patch
298 URL: http://www.kernel.org/
299 BuildRequires: binutils >= 3:2.18
300 %ifarch sparc sparc64
301 BuildRequires: elftoaout
304 BuildRequires: uboot-mkimage
306 BuildRequires: /sbin/depmod
307 BuildRequires: gcc >= 5:3.2
308 BuildRequires: xz >= 1:4.999.7
310 BuildRequires: hostname
311 BuildRequires: module-init-tools >= %{module_init_tools_ver}
312 BuildRequires: perl-base
313 BuildRequires: rpm-build >= 4.5-24
314 BuildRequires: rpmbuild(macros) >= 1.217
315 Requires(post): coreutils
316 Requires(post): geninitrd >= 10000-3
317 Requires(post): module-init-tools >= %{module_init_tools_ver}
318 Requires: /sbin/depmod
320 Requires: geninitrd >= 10000-3
321 Requires: module-init-tools >= %{module_init_tools_ver}
323 Provides: %{name}(netfilter) = 20070806
324 Provides: %{name}(vermagic) = %{kernel_release}
325 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
326 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
327 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
328 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
329 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
330 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
331 Obsoletes: kernel-firmware
332 Obsoletes: kernel-misc-acer_acpi
333 Obsoletes: kernel-misc-fuse
334 Obsoletes: kernel-misc-uvc
335 Obsoletes: kernel-modules
336 Obsoletes: kernel-net-ar81
337 Obsoletes: kernel-net-hostap
338 Obsoletes: kernel-net-ieee80211
339 Obsoletes: kernel-net-ipp2p
340 Obsoletes: kernel-net-rt61
341 Obsoletes: kernel-smp
342 Conflicts: e2fsprogs < 1.29
343 Conflicts: isdn4k-utils < 3.1pre1
344 Conflicts: jfsutils < 1.1.3
345 Conflicts: lvm2 < 2.02.40
346 Conflicts: nfs-utils < 1.0.5
347 Conflicts: oprofile < 0.9
348 Conflicts: ppp < 1:2.4.0
349 Conflicts: procps < 3.2.0
350 Conflicts: quota-tools < 3.09
351 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
352 Conflicts: reiserfsprogs < 3.6.3
353 Conflicts: rpm < 4.4.2-0.2
354 Conflicts: udev < 1:081
355 Conflicts: util-linux < 2.10o
356 Conflicts: util-vserver < 0.30.216
357 Conflicts: xfsprogs < 2.6.0
359 ExcludeArch: i386 i486 i586
361 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
364 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
366 %ifarch %{ix86} %{x8664}
367 %define target_arch_dir x86
370 %define target_arch_dir powerpc
372 %ifarch sparc sparc64
373 %define target_arch_dir sparc
375 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
376 %define target_arch_dir %{_target_base_arch}
379 %define defconfig arch/%{target_arch_dir}/defconfig
381 # No ELF objects there to strip (skips processing 27k files)
382 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
383 %define _noautochrpath .*%{_kernelsrcdir}/.*
384 %define _enable_debug_packages 0
387 %define initrd_dir /boot/efi
389 %define initrd_dir /boot
392 %define topdir %{_builddir}/%{name}-%{version}
393 %define srcdir %{topdir}/linux-%{basever}
394 %define objdir %{topdir}/%{targetobj}
395 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
397 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
399 %if "%{_target_base_arch}" != "%{_arch}"
400 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
401 %define DepMod /bin/true
403 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
404 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
405 %define DepMod /sbin/depmod
408 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
409 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
410 %define DepMod /sbin/depmod
413 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
414 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
415 %define DepMod /sbin/depmod
418 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
419 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
423 %define CrossOpts ARCH=powerpc CC="%{__cc}"
425 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
427 %define DepMod /sbin/depmod
429 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
432 %{?with_grsecurity:Grsecurity support - enabled}\
433 %{?with_pax:PaX support - enabled}\
434 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
435 %{?with_nfsroot:Root on NFS - enabled}\
437 %define Features %(echo "%{__features}" | sed '/^$/d')
440 This package contains the Linux kernel that is used to boot and run
441 your system. It contains few device drivers for specific hardware.
442 Most hardware is instead supported by modules loaded after booting.
446 %description -l de.UTF-8
447 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
448 Linux-Betriebssystems. Der Kernel ist für grundliegende
449 Systemfunktionen verantwortlich: Speicherreservierung,
450 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
454 %description -l fr.UTF-8
455 Le package kernel contient le kernel linux (vmlinuz), la partie
456 centrale d'un système d'exploitation Linux. Le noyau traite les
457 fonctions basiques d'un système d'exploitation: allocation mémoire,
458 allocation de process, entrée/sortie de peripheriques, etc.
462 %description -l pl.UTF-8
463 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
464 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
465 się w komputerze, takiego jak sterowniki dysków itp.
470 Summary: vmlinux - uncompressed kernel image
471 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
472 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
474 Obsoletes: kernel-smp-vmlinux
477 vmlinux - uncompressed kernel image.
479 %description vmlinux -l de.UTF-8
480 vmlinux - dekompressiertes Kernel Bild.
482 %description vmlinux -l pl.UTF-8
483 vmlinux - rozpakowany obraz jÄ…dra.
486 Summary: DRM kernel modules
487 Summary(de.UTF-8): DRM Kernel Treiber
488 Summary(pl.UTF-8): Sterowniki DRM
490 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
491 Requires: %{name} = %{epoch}:%{version}-%{release}
492 Obsoletes: kernel-smp-drm
498 %description drm -l de.UTF-8
501 %description drm -l pl.UTF-8
505 Summary: PCMCIA modules
506 Summary(de.UTF-8): PCMCIA Module
507 Summary(pl.UTF-8): Moduły PCMCIA
509 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
510 Requires: %{name} = %{epoch}:%{version}-%{release}
511 Obsoletes: kernel-smp-pcmcia
512 Conflicts: pcmcia-cs < 3.1.21
513 Conflicts: pcmciautils < 004
519 %description pcmcia -l de.UTF-8
522 %description pcmcia -l pl.UTF-8
526 Summary: ALSA kernel modules
527 Summary(de.UTF-8): ALSA Kernel Module
528 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
530 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
531 Requires: %{name} = %{epoch}:%{version}-%{release}
532 Obsoletes: kernel-smp-sound-alsa
535 %description sound-alsa
536 ALSA (Advanced Linux Sound Architecture) sound drivers.
538 %description sound-alsa -l de.UTF-8
539 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
541 %description sound-alsa -l pl.UTF-8
542 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
545 Summary: OSS kernel modules
546 Summary(de.UTF-8): OSS Kernel Module
547 Summary(pl.UTF-8): Sterowniki dźwięku OSS
549 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
550 Requires: %{name} = %{epoch}:%{version}-%{release}
551 Obsoletes: kernel-smp-sound-oss
554 %description sound-oss
555 OSS (Open Sound System) drivers.
557 %description sound-oss -l de.UTF-8
558 OSS (Open Sound System) Treiber.
560 %description sound-oss -l pl.UTF-8
561 Sterowniki dźwięku OSS (Open Sound System).
564 Summary: Header files for the Linux kernel
565 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
566 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
567 Group: Development/Building
568 Provides: %{name}-headers(netfilter) = 20070806
572 These are the C header files for the Linux kernel, which define
573 structures and constants that are needed when rebuilding the kernel or
574 building kernel modules.
576 %description headers -l de.UTF-8
577 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
578 Strukturen und Konstante beinhalten, die beim rekompilieren des
579 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
581 %description headers -l pl.UTF-8
582 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
583 oraz budowania modułów jądra.
585 %package module-build
586 Summary: Development files for building kernel modules
587 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
588 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
589 Group: Development/Building
590 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
591 Conflicts: rpmbuild(macros) < 1.619
594 %description module-build
595 Development files from kernel source tree needed to build Linux kernel
596 modules from external packages.
598 %description module-build -l de.UTF-8
599 Development Dateien des Linux-Kernels die beim kompilieren externer
600 Kernel Module gebraucht werden.
602 %description module-build -l pl.UTF-8
603 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
604 Linuksa z zewnętrznych pakietów.
607 Summary: Kernel source tree
608 Summary(de.UTF-8): Der Kernel Quelltext
609 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
610 Group: Development/Building
611 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
615 This is the source code for the Linux kernel. You can build a custom
616 kernel that is better tuned to your particular hardware.
618 %description source -l de.UTF-8
619 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
620 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
621 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
622 im Kernel-Source definiert sind. Die Source-Dateien können auch
623 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
624 Hardware ausgerichtet ist.
626 %description source -l fr.UTF-8
627 Le package pour le kernel-source contient le code source pour le noyau
628 linux. Ces sources sont nécessaires pour compiler la plupart des
629 programmes C, car il dépend de constantes définies dans le code
630 source. Les sources peuvent être aussi utilisée pour compiler un noyau
631 personnalisé pour avoir de meilleures performances sur des matériels
634 %description source -l pl.UTF-8
635 Pakiet zawiera kod źródłowy jądra systemu.
638 Summary: Kernel documentation
639 Summary(de.UTF-8): Kernel Dokumentation
640 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
645 This is the documentation for the Linux kernel, as found in
646 /usr/src/linux/Documentation directory.
648 %description doc -l de.UTF-8
649 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
650 Verzeichniss vorgefunden werden kann.
652 %description doc -l pl.UTF-8
653 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
654 /usr/src/linux/Documentation.
658 ln -s %{SOURCE7} kernel-module-build.pl
659 ln -s %{SOURCE10} Makefile
662 # hack against warning in pax/grsec
663 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
666 %if "%{postver}" != ".0"
670 %if %{without vanilla}
678 %if %{with fbcondecor}
687 # kernel-pom-ng-IPV4OPTSSTRIP.patch
690 # kernel-pom-ng-mms-conntrack-nat.patch
693 # kernel-pom-ng-rsh.patch
696 # kernel-pom-ng-rpc.patch
699 # kernel-nf_rtsp.patch
702 # kernel-owner-xid.patch
707 # kernel-layer7.patch
740 # kernel-rndis_host-wm5.patch
743 # hostap enhancements from/for aircrack-ng
769 # grsecurity & pax stuff
772 %if %{with grsecurity}
776 %{?with_vserver:%patch10000 -p1}
777 %{?with_vserver:%patch10001 -p1}
778 %{?with_vserver:%patch10002 -p1}
781 # end of grsecurity & pax stuff
798 # Do not remove this, please!
801 # Fix EXTRAVERSION in main Makefile
802 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
804 # cleanup backups after patching
805 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
809 cat > %{targetobj}.mk <<'EOF'
810 # generated by %{name}.spec
811 KERNELSRC := %{srcdir}
812 KERNELOUTPUT := %{objdir}
814 SRCARCH := %{target_arch_dir}
815 ARCH := %{_target_base_arch}
816 Q := %{!?with_verbose:@}
817 MAKE_OPTS := %{MakeOpts}
818 DEFCONFIG := %{defconfig}
825 CONFIG_PAX_SEGMEXEC=y
826 # performance impact on CPUs without NX bit
827 CONFIG_PAX_PAGEEXEC=n
830 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
836 CONFIG_PAX_NOELFRELOCS=n
839 CONFIG_PAX_EMUTRAMP=y
840 CONFIG_PAX_EMUSIGRT=y
844 %ifarch sparc sparc64 alpha
848 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
849 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
850 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
851 # PAX_HOOK_ACL_FLAGS.
853 %if %{with grsecurity}
854 # Hardening grsec options if with pax
855 CONFIG_GRKERNSEC_PROC_MEMMAP=y
856 # almost rational (see HIDESYM help)
857 CONFIG_GRKERNSEC_HIDESYM=y
859 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
861 CONFIG_PAX_HAVE_ACL_FLAGS=n
862 CONFIG_PAX_HOOK_ACL_FLAGS=y
872 # CONFIG_SOUND is not set
873 # CONFIG_AUDIT is not set
874 # CONFIG_TR is not set
875 # CONFIG_BT is not set
876 # CONFIG_VIDEO_DEV is not set
877 # CONFIG_DVB_CORE is not set
878 # CONFIG_HAMRADIO is not set
879 # CONFIG_ARCNET is not set
880 # CONFIG_FB is not set
881 # CONFIG_DRM is not set
882 # CONFIG_WATCHDOG is not set
883 # CONFIG_INPUT_JOYSTICK is not set
884 # CONFIG_DEBUG_KERNEL is not set
885 # CONFIG_ISDN is not set
886 # CONFIG_AGP is not set
887 # CONFIG_SECURITY is not set
888 # CONFIG_PARIDE is not set
889 # CONFIG_CPU_FREQ is not set
890 # CONFIG_GAMEPORT is not set
891 # CONFIG_KVM is not set
892 # CONFIG_PHONE is not set
893 # CONFIG_STRICT_DEVMEM is not set
894 # CONFIG_IMA is not set
897 CONFIG_AUFS_BR_RAMFS=y
899 CONFIG_BLK_DEV_LOOP=y
912 Config="kernel-%{target_arch_dir}.config"
913 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
915 # prepare local and important options
916 cat <<-EOCONFIG > important.config
917 LOCALVERSION="-%{localversion}"
921 CONFIG_DEBUG_SLAB_LEAK=y
922 CONFIG_DEBUG_PREEMPT=y
923 CONFIG_RT_DEADLOCK_DETECT=y
930 %ifarch i686 athlon pentium3 pentium4
939 %if %{without pcmcia}
943 %if %{with fbcondecor}
947 CONFIG_FB_TILEBLITTING=n
948 CONFIG_FB_CON_DECOR=y
956 # Temporary disabled RELOCATABLE. Needed only on x86??
957 %if %{with pax} || %{with grsecurity}
963 RescueConfig rescue.config
969 # prepare kernel-style config file from multiple config files
970 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
972 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
975 %if %{without vanilla}
986 %if %{with grsecurity}
1004 %if %{with tuxonice}
1005 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1009 %{SOURCE41} %{?0:patches} \
1012 $RPM_SOURCE_DIR/$Config
1016 install -d arch/%{target_arch_dir}
1017 BuildConfig > %{defconfig}
1018 ln -sf %{defconfig} .config
1022 TARGETOBJ=%{targetobj} \
1023 %{?with_verbose:V=1} \
1026 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1030 TARGETOBJ=%{targetobj} \
1031 %{?with_verbose:V=1} \
1035 rm -rf $RPM_BUILD_ROOT
1036 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1038 %{?with_verbose:V=1} \
1040 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1041 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1042 KERNELRELEASE=%{kernel_release}
1044 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1046 # create directories which may be missing, to simplyfy %files
1047 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1049 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1050 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1051 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1053 # no point embed content for %ghost files. empty them
1060 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1062 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1063 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1067 install -d $RPM_BUILD_ROOT/boot
1068 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1069 %ifarch %{ix86} %{x8664}
1070 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1071 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1074 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1075 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1078 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1079 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1080 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1082 %ifarch alpha sparc sparc64
1083 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1084 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1085 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1087 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1088 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1091 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1092 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1096 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1100 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1102 %if "%{_target_base_arch}" != "%{_arch}"
1103 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1107 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1110 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1112 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1113 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1115 rm -f $RPM_BUILD_ROOT/COPYING
1118 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1119 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1120 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1121 cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
1122 mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
1123 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1124 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1125 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1127 # collect module-build files and directories
1128 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1130 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1131 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1134 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1135 install -d $RPM_BUILD_ROOT%{_docdir}
1136 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1138 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1139 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1140 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1141 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1144 rm -rf $RPM_BUILD_ROOT
1147 if [ -x /sbin/new-kernel-pkg ]; then
1148 /sbin/new-kernel-pkg --remove %{kernel_release}
1153 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1154 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1155 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1156 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1158 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1159 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1160 mv -f /boot/System.map{,.old} 2> /dev/null
1161 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1162 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1163 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1164 ln -sf System.map-%{kernel_release} /boot/System.map
1165 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1167 %depmod %{kernel_release}
1170 # generate initrd after all dependant modules are installed
1171 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1172 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1173 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1174 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1175 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1177 # update boot loaders when old package files are gone from filesystem
1178 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1179 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1180 /sbin/update-grub >/dev/null
1183 if [ -x /sbin/new-kernel-pkg ]; then
1184 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1186 if [ -x /sbin/rc-boot ]; then
1187 /sbin/rc-boot 1>&2 || :
1191 mv -f /boot/vmlinux{,.old} 2> /dev/null
1192 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1193 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1194 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1197 %depmod %{kernel_release}
1200 %depmod %{kernel_release}
1203 %depmod %{kernel_release}
1206 %depmod %{kernel_release}
1209 %depmod %{kernel_release}
1212 %depmod %{kernel_release}
1215 %depmod %{kernel_release}
1218 %depmod %{kernel_release}
1221 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1224 if [ "$1" = "0" ]; then
1225 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1226 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1227 rm -f %{_prefix}/src/linux%{_alt_kernel}
1232 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1233 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1234 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1236 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1237 if [ "$1" = 0 ]; then
1238 rm -f /lib/modules/%{kernel_release}/{build,source}
1242 %defattr(644,root,root,755)
1243 %ifarch sparc sparc64
1244 /boot/vmlinux.aout-%{kernel_release}
1247 /boot/efi/vmlinuz-%{kernel_release}
1249 /boot/vmlinuz-%{kernel_release}
1250 /boot/System.map-%{kernel_release}
1251 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1252 /lib/firmware/%{kernel_release}
1254 %dir /lib/modules/%{kernel_release}
1255 %dir /lib/modules/%{kernel_release}/kernel
1256 /lib/modules/%{kernel_release}/kernel/arch
1257 /lib/modules/%{kernel_release}/kernel/crypto
1258 /lib/modules/%{kernel_release}/kernel/drivers
1260 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1262 /lib/modules/%{kernel_release}/kernel/fs
1263 /lib/modules/%{kernel_release}/kernel/kernel
1264 /lib/modules/%{kernel_release}/kernel/lib
1265 /lib/modules/%{kernel_release}/kernel/net
1266 /lib/modules/%{kernel_release}/kernel/mm
1268 %dir /lib/modules/%{kernel_release}/kernel/sound
1269 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1270 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1272 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1273 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1274 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1277 %dir /lib/modules/%{kernel_release}/misc
1279 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1281 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1282 %if %{without rescuecd}
1283 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1284 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1286 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1290 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1297 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1300 /lib/modules/%{kernel_release}/kernel/sound
1302 /lib/modules/%{kernel_release}/kernel/security
1304 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1307 /lib/modules/%{kernel_release}/modules.order
1308 /lib/modules/%{kernel_release}/modules.builtin*
1310 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1311 %ghost /lib/modules/%{kernel_release}/modules.alias
1312 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1313 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1314 %ghost /lib/modules/%{kernel_release}/modules.dep
1315 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1316 %ghost /lib/modules/%{kernel_release}/modules.devname
1317 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1318 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1319 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1320 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1321 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1322 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1323 %ghost /lib/modules/%{kernel_release}/modules.softdep
1324 %ghost /lib/modules/%{kernel_release}/modules.symbols
1325 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1326 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1328 # symlinks pointing to kernelsrcdir
1329 %ghost /lib/modules/%{kernel_release}/build
1330 %ghost /lib/modules/%{kernel_release}/source
1332 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1334 %defattr(644,root,root,755)
1335 /boot/vmlinux-%{kernel_release}
1340 %defattr(644,root,root,755)
1341 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1346 %defattr(644,root,root,755)
1347 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1348 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1349 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1350 %if %{without rescuecd}
1351 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1352 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1353 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1354 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1356 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1357 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1360 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1361 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1362 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1363 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1364 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1369 %defattr(644,root,root,755)
1370 /lib/modules/%{kernel_release}/kernel/sound
1371 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1372 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1373 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1375 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1378 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1379 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1380 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1381 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1386 %defattr(644,root,root,755)
1387 /lib/modules/%{kernel_release}/kernel/sound/oss
1391 %files headers -f files.headers_exclude_kbuild
1392 %defattr(644,root,root,755)
1393 %dir %{_kernelsrcdir}
1394 %{_kernelsrcdir}/include
1395 %dir %{_kernelsrcdir}/arch
1396 %dir %{_kernelsrcdir}/arch/[!K]*
1397 %{_kernelsrcdir}/arch/*/include
1398 %dir %{_kernelsrcdir}/security
1399 %dir %{_kernelsrcdir}/security/selinux
1400 %{_kernelsrcdir}/security/selinux/include
1401 %{_kernelsrcdir}/config-dist
1402 %{_kernelsrcdir}/Module.symvers-dist
1404 %files module-build -f files.mb_include_modulebuild_and_dirs
1405 %defattr(644,root,root,755)
1407 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1409 %exclude %dir %{_kernelsrcdir}/arch/um
1410 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1411 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1412 %{_kernelsrcdir}/drivers/lguest/lg.h
1413 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1414 %{_kernelsrcdir}/kernel/bounds.c
1415 %dir %{_kernelsrcdir}/scripts
1416 %{_kernelsrcdir}/scripts/Kbuild.include
1417 %{_kernelsrcdir}/scripts/Makefile*
1418 %{_kernelsrcdir}/scripts/basic
1419 %{_kernelsrcdir}/scripts/kconfig
1420 %{_kernelsrcdir}/scripts/mkcompile_h
1421 %{_kernelsrcdir}/scripts/mkmakefile
1422 %{_kernelsrcdir}/scripts/mod
1423 %{_kernelsrcdir}/scripts/module-common.lds
1424 %{_kernelsrcdir}/scripts/setlocalversion
1425 %{_kernelsrcdir}/scripts/*.c
1426 %{_kernelsrcdir}/scripts/*.sh
1427 %dir %{_kernelsrcdir}/scripts/selinux
1428 %{_kernelsrcdir}/scripts/selinux/Makefile
1429 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1430 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1431 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1432 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1433 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1434 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1435 %exclude %dir %{_kernelsrcdir}/security
1436 %exclude %dir %{_kernelsrcdir}/security/selinux
1437 %if %{with grsecurity}
1438 %{_kernelsrcdir}/tools/gcc/*.c
1443 %defattr(644,root,root,755)
1444 %dir %{_docdir}/%{name}-%{version}
1446 %{_docdir}/%{name}-%{version}/[!jkz]*
1447 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1448 %{_docdir}/%{name}-%{version}/kbuild
1449 %{_docdir}/%{name}-%{version}/kdump
1450 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1451 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1452 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1456 %files source -f files.source_exclude_modulebuild_and_dirs
1457 %defattr(644,root,root,755)
1458 %{_kernelsrcdir}/arch/*/[!Mik]*
1459 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1460 %{_kernelsrcdir}/arch/ia64/install.sh
1461 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1462 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1463 %{_kernelsrcdir}/arch/m68k/install.sh
1464 %{_kernelsrcdir}/arch/parisc/install.sh
1465 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1466 %{_kernelsrcdir}/arch/ia64/kvm
1467 %{_kernelsrcdir}/arch/powerpc/kvm
1469 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1471 %{_kernelsrcdir}/arch/s390/kvm
1472 %{_kernelsrcdir}/arch/x86/kvm
1473 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1474 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1475 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1476 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1477 %{_kernelsrcdir}/block
1478 %{_kernelsrcdir}/crypto
1479 %{_kernelsrcdir}/drivers
1480 %{_kernelsrcdir}/firmware
1482 %if %{with grsecurity} && %{without rescuecd}
1483 %{_kernelsrcdir}/grsecurity
1485 %{_kernelsrcdir}/init
1486 %{_kernelsrcdir}/ipc
1487 %{_kernelsrcdir}/kernel
1488 %exclude %{_kernelsrcdir}/kernel/bounds.c
1489 %{_kernelsrcdir}/lib
1491 %{_kernelsrcdir}/net
1492 %{_kernelsrcdir}/virt
1493 %{_kernelsrcdir}/samples
1494 %{_kernelsrcdir}/scripts/*
1495 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1496 %exclude %{_kernelsrcdir}/scripts/Makefile*
1497 %exclude %{_kernelsrcdir}/scripts/basic
1498 %exclude %{_kernelsrcdir}/scripts/kconfig
1499 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1500 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1501 %exclude %{_kernelsrcdir}/scripts/mod
1502 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1503 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1504 %exclude %{_kernelsrcdir}/scripts/*.c
1505 %exclude %{_kernelsrcdir}/scripts/*.sh
1506 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1507 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1508 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1509 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1510 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1511 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1512 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1513 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1514 %{_kernelsrcdir}/sound
1515 %{_kernelsrcdir}/security
1516 %exclude %{_kernelsrcdir}/security/selinux/include
1517 %{_kernelsrcdir}/tools/*
1518 %if %{with grsecurity}
1519 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1521 %{_kernelsrcdir}/usr
1522 %{_kernelsrcdir}/COPYING
1523 %{_kernelsrcdir}/CREDITS
1524 %{_kernelsrcdir}/MAINTAINERS
1525 %{_kernelsrcdir}/README
1526 %{_kernelsrcdir}/REPORTING-BUGS