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 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
104 %if "%{__alt_kernel}" != ""
105 %define alt_kernel %{__alt_kernel}
108 # these override whatever name was picked from bconds
109 %if %{with myown} && "%{__alt_kernel}" == ""
110 %define alt_kernel myown
113 %define alt_kernel rescuecd
116 %define alt_kernel vanilla
119 # kernel release (used in filesystem and eventually in uname -r)
120 # modules will be looked from /lib/modules/%{kernel_release}
121 # localversion is just that without version for "> localversion"
122 %define localversion %{rel}
123 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
125 Summary: The Linux kernel (the core of the Linux operating system)
126 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
127 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
128 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
129 Summary(pl.UTF-8): JÄ…dro Linuksa
130 Name: kernel%{?alt_kernel:_%{alt_kernel}}
131 Version: %{basever}%{postver}
136 Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
137 # Source0-md5: edbdc798f23ae0f8045c82f6fa22c536
138 %if "%{postver}" != ".0"
139 Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
140 # Patch0-md5: 7526abc1f3df0506c71e0918ffaedb11
143 Source3: kernel-autoconf.h
144 Source4: kernel-config.h
145 Source6: kernel-config.awk
146 Source7: kernel-module-build.pl
147 Source8: kernel-track-config-change.awk
148 # not used by kernel.spec, but it's good to have it in SOURCES
149 Source9: kernel-config-sort.pl
150 Source10: kernel.make
152 Source20: kernel-multiarch.config
153 Source21: kernel-x86.config
154 Source22: kernel-sparc.config
155 Source23: kernel-alpha.config
156 Source24: kernel-powerpc.config
157 Source25: kernel-ia64.config
159 Source41: kernel-patches.config
160 Source42: kernel-tuxonice.config
161 Source43: kernel-vserver.config
162 Source45: kernel-grsec.config
164 Source49: kernel-pax.config
165 Source50: kernel-no-pax.config
166 Source55: kernel-imq.config
167 Source56: kernel-reiser4.config
168 Source57: kernel-wrr.config
170 Source58: kernel-inittmpfs.config
172 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
173 Patch3: kernel-fbcondecor.patch
174 Patch4: kernel-fbcon-margins.patch
175 Patch5: linux-wistron-amilo8210.patch
177 # netfilter related stuff mostly based on patch-o-matic-ng
178 # snapshot 20070806 with some fixes. Some modules
179 # were ported to nf_conntrack.
181 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
183 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
184 Patch22: kernel-pom-ng-rsh.patch
185 Patch23: kernel-pom-ng-rpc.patch
187 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
188 Patch36: kernel-nf_rtsp.patch
190 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
191 Patch37: kernel-owner-xid.patch
193 # based on kernel-2.6.25-layer7-2.20.patch from
194 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
195 Patch40: kernel-layer7.patch
199 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
200 Patch49: kernel-zph.patch
202 # based on http://www.linuximq.net/patchs/linux-2.6.39-imq-multiqueue-test1.diff.bz2
203 Patch50: kernel-imq.patch
205 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
206 Patch51: kernel-reiser4.patch
208 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
209 Patch52: kernel-wrr.patch
211 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
212 Patch53: kernel-esfq.patch
214 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
215 Patch54: kernel-toshiba_acpi.patch
217 # by Baggins request:
218 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
219 Patch55: kernel-atm-vbr.patch
220 Patch56: kernel-atmdd.patch
222 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
223 Patch59: kernel-rndis_host-wm5.patch
225 # Project suspend2 renamed to tuxonice
226 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
227 # NOTE: currently using own diff from tuxonice git tree until official patch is released
228 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-head.git
229 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-<basever>.git
230 # To produce patch: git diff upstream/master...tuxonice/combined
231 Patch69: kernel-tuxonice.patch
232 Patch70: kernel-tuxonice-headers.patch
234 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
235 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
236 Patch85: kernel-hostap.patch
238 # http://vserver.13thfloor.at/Experimental/patch-3.0.4-vs2.3.1.diff
239 Patch100: kernel-vserver-2.3.patch
240 Patch101: kernel-vserver-fixes.patch
242 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
243 # Fix verified for that kernel version.
244 Patch130: kernel-forcedeth-WON.patch
246 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.10_for_3.1.0-rc4.diff.gz
247 Patch140: kernel-unionfs.patch
249 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
251 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
252 # cd aufs3-standalone
253 # git checkout -b aufs3.0 origin/aufs3.0
254 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
256 # cp -a Documentation fs include linux
257 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
259 Patch145: kernel-aufs3.patch
260 Patch146: kernel-aufs2-unionfs.patch
261 Patch147: kernel-aufs2-no-const-grsec.patch
262 Patch148: kernel-aufs2-reiser4.patch
264 # Show normal colors in menuconfig with ncurses ABI 6
265 Patch250: kernel-fix_256colors_menuconfig.patch
267 # https://patchwork.kernel.org/patch/236261/
268 Patch400: kernel-virtio-gl-accel.patch
270 Patch2000: kernel-small_fixes.patch
271 Patch2001: kernel-pwc-uncompress.patch
272 Patch2003: kernel-regressions.patch
274 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
275 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
276 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
277 Patch5000: kernel-apparmor.patch
280 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
281 Patch7000: kernel-inittmpfs.patch
283 # based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.0.7-201110200052.patch
284 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
285 # (since upstream deletes older patches)
286 Patch9999: kernel-grsec_full.patch
287 Patch10000: kernel-grsec-caps.patch
288 Patch10001: kernel-grsec-common.patch
289 Patch10002: kernel-grsec_fixes.patch
291 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
292 # kernel.spec every time.
293 #Patch50000: kernel-usb_reset.patch
295 URL: http://www.kernel.org/
296 BuildRequires: binutils >= 3:2.18
297 %ifarch sparc sparc64
298 BuildRequires: elftoaout
301 BuildRequires: uboot-mkimage
303 BuildRequires: /sbin/depmod
304 BuildRequires: gcc >= 5:3.2
305 BuildRequires: xz >= 1:4.999.7
307 BuildRequires: hostname
308 BuildRequires: module-init-tools >= %{module_init_tools_ver}
309 BuildRequires: perl-base
310 BuildRequires: rpm-build >= 4.5-24
311 BuildRequires: rpmbuild(macros) >= 1.217
312 Requires(post): coreutils
313 Requires(post): geninitrd >= 10000-3
314 Requires(post): module-init-tools >= %{module_init_tools_ver}
315 Requires: /sbin/depmod
317 Requires: geninitrd >= 10000-3
318 Requires: module-init-tools >= %{module_init_tools_ver}
320 Provides: %{name}(netfilter) = 20070806
321 Provides: %{name}(vermagic) = %{kernel_release}
322 Obsoletes: kernel%{?alt_kernel:_%{alt_kernel}}-isdn-mISDN
323 Obsoletes: kernel%{?alt_kernel:_%{alt_kernel}}-char-lirc-ene0100
324 Obsoletes: kernel%{?alt_kernel:_%{alt_kernel}}-char-lirc-it87
325 Obsoletes: kernel%{?alt_kernel:_%{alt_kernel}}-char-lirc-ite8709
326 Obsoletes: kernel%{?alt_kernel:_%{alt_kernel}}-char-lirc-mceusb
327 Obsoletes: kernel%{?alt_kernel:_%{alt_kernel}}-char-lirc-streamzap
328 Obsoletes: kernel-firmware
329 Obsoletes: kernel-misc-acer_acpi
330 Obsoletes: kernel-misc-fuse
331 Obsoletes: kernel-misc-uvc
332 Obsoletes: kernel-modules
333 Obsoletes: kernel-net-ar81
334 Obsoletes: kernel-net-hostap
335 Obsoletes: kernel-net-ieee80211
336 Obsoletes: kernel-net-ipp2p
337 Obsoletes: kernel-net-rt61
338 Obsoletes: kernel-smp
339 Conflicts: e2fsprogs < 1.29
340 Conflicts: isdn4k-utils < 3.1pre1
341 Conflicts: jfsutils < 1.1.3
342 Conflicts: lvm2 < 2.02.40
343 Conflicts: nfs-utils < 1.0.5
344 Conflicts: oprofile < 0.9
345 Conflicts: ppp < 1:2.4.0
346 Conflicts: procps < 3.2.0
347 Conflicts: quota-tools < 3.09
348 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
349 Conflicts: reiserfsprogs < 3.6.3
350 Conflicts: rpm < 4.4.2-0.2
351 Conflicts: udev < 1:081
352 Conflicts: util-linux < 2.10o
353 Conflicts: util-vserver < 0.30.216
354 Conflicts: xfsprogs < 2.6.0
356 ExcludeArch: i386 i486 i586
358 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
361 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
363 %ifarch %{ix86} %{x8664}
364 %define target_arch_dir x86
367 %define target_arch_dir powerpc
369 %ifarch sparc sparc64
370 %define target_arch_dir sparc
372 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
373 %define target_arch_dir %{_target_base_arch}
376 %define defconfig arch/%{target_arch_dir}/defconfig
378 # No ELF objects there to strip (skips processing 27k files)
379 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
380 %define _noautochrpath .*%{_kernelsrcdir}/.*
381 %define _enable_debug_packages 0
384 %define initrd_dir /boot/efi
386 %define initrd_dir /boot
389 %define topdir %{_builddir}/%{name}-%{version}
390 %define srcdir %{topdir}/linux-%{basever}
391 %define objdir %{topdir}/%{targetobj}
392 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
394 %define _kernelsrcdir /usr/src/linux%{?alt_kernel:_%{alt_kernel}}-%{version}
396 %if "%{_target_base_arch}" != "%{_arch}"
397 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
398 %define DepMod /bin/true
400 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
401 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
402 %define DepMod /sbin/depmod
405 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
406 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
407 %define DepMod /sbin/depmod
410 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
411 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
412 %define DepMod /sbin/depmod
415 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
416 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
420 %define CrossOpts ARCH=powerpc CC="%{__cc}"
422 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
424 %define DepMod /sbin/depmod
426 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
429 %{?with_grsecurity:Grsecurity support - enabled}\
430 %{?with_pax:PaX support - enabled}\
431 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
432 %{?with_nfsroot:Root on NFS - enabled}\
434 %define Features %(echo "%{__features}" | sed '/^$/d')
437 This package contains the Linux kernel that is used to boot and run
438 your system. It contains few device drivers for specific hardware.
439 Most hardware is instead supported by modules loaded after booting.
443 %description -l de.UTF-8
444 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
445 Linux-Betriebssystems. Der Kernel ist für grundliegende
446 Systemfunktionen verantwortlich: Speicherreservierung,
447 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
451 %description -l fr.UTF-8
452 Le package kernel contient le kernel linux (vmlinuz), la partie
453 centrale d'un système d'exploitation Linux. Le noyau traite les
454 fonctions basiques d'un système d'exploitation: allocation mémoire,
455 allocation de process, entrée/sortie de peripheriques, etc.
459 %description -l pl.UTF-8
460 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
461 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
462 się w komputerze, takiego jak sterowniki dysków itp.
467 Summary: vmlinux - uncompressed kernel image
468 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
469 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
471 Obsoletes: kernel-smp-vmlinux
474 vmlinux - uncompressed kernel image.
476 %description vmlinux -l de.UTF-8
477 vmlinux - dekompressiertes Kernel Bild.
479 %description vmlinux -l pl.UTF-8
480 vmlinux - rozpakowany obraz jÄ…dra.
483 Summary: DRM kernel modules
484 Summary(de.UTF-8): DRM Kernel Treiber
485 Summary(pl.UTF-8): Sterowniki DRM
487 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
488 Requires: %{name} = %{epoch}:%{version}-%{release}
489 Obsoletes: kernel-smp-drm
495 %description drm -l de.UTF-8
498 %description drm -l pl.UTF-8
502 Summary: PCMCIA modules
503 Summary(de.UTF-8): PCMCIA Module
504 Summary(pl.UTF-8): Moduły PCMCIA
506 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
507 Requires: %{name} = %{epoch}:%{version}-%{release}
508 Obsoletes: kernel-smp-pcmcia
509 Conflicts: pcmcia-cs < 3.1.21
510 Conflicts: pcmciautils < 004
516 %description pcmcia -l de.UTF-8
519 %description pcmcia -l pl.UTF-8
523 Summary: ALSA kernel modules
524 Summary(de.UTF-8): ALSA Kernel Module
525 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
527 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
528 Requires: %{name} = %{epoch}:%{version}-%{release}
529 Obsoletes: kernel-smp-sound-alsa
532 %description sound-alsa
533 ALSA (Advanced Linux Sound Architecture) sound drivers.
535 %description sound-alsa -l de.UTF-8
536 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
538 %description sound-alsa -l pl.UTF-8
539 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
542 Summary: OSS kernel modules
543 Summary(de.UTF-8): OSS Kernel Module
544 Summary(pl.UTF-8): Sterowniki dźwięku OSS
546 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
547 Requires: %{name} = %{epoch}:%{version}-%{release}
548 Obsoletes: kernel-smp-sound-oss
551 %description sound-oss
552 OSS (Open Sound System) drivers.
554 %description sound-oss -l de.UTF-8
555 OSS (Open Sound System) Treiber.
557 %description sound-oss -l pl.UTF-8
558 Sterowniki dźwięku OSS (Open Sound System).
561 Summary: Header files for the Linux kernel
562 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
563 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
564 Group: Development/Building
565 Provides: %{name}-headers(netfilter) = 20070806
569 These are the C header files for the Linux kernel, which define
570 structures and constants that are needed when rebuilding the kernel or
571 building kernel modules.
573 %description headers -l de.UTF-8
574 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
575 Strukturen und Konstante beinhalten, die beim rekompilieren des
576 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
578 %description headers -l pl.UTF-8
579 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
580 oraz budowania modułów jądra.
582 %package module-build
583 Summary: Development files for building kernel modules
584 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
585 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
586 Group: Development/Building
587 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
588 Conflicts: rpmbuild(macros) < 1.619
591 %description module-build
592 Development files from kernel source tree needed to build Linux kernel
593 modules from external packages.
595 %description module-build -l de.UTF-8
596 Development Dateien des Linux-Kernels die beim kompilieren externer
597 Kernel Module gebraucht werden.
599 %description module-build -l pl.UTF-8
600 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
601 Linuksa z zewnętrznych pakietów.
604 Summary: Kernel source tree
605 Summary(de.UTF-8): Der Kernel Quelltext
606 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
607 Group: Development/Building
608 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
612 This is the source code for the Linux kernel. You can build a custom
613 kernel that is better tuned to your particular hardware.
615 %description source -l de.UTF-8
616 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
617 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
618 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
619 im Kernel-Source definiert sind. Die Source-Dateien können auch
620 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
621 Hardware ausgerichtet ist.
623 %description source -l fr.UTF-8
624 Le package pour le kernel-source contient le code source pour le noyau
625 linux. Ces sources sont nécessaires pour compiler la plupart des
626 programmes C, car il dépend de constantes définies dans le code
627 source. Les sources peuvent être aussi utilisée pour compiler un noyau
628 personnalisé pour avoir de meilleures performances sur des matériels
631 %description source -l pl.UTF-8
632 Pakiet zawiera kod źródłowy jądra systemu.
635 Summary: Kernel documentation
636 Summary(de.UTF-8): Kernel Dokumentation
637 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
642 This is the documentation for the Linux kernel, as found in
643 /usr/src/linux/Documentation directory.
645 %description doc -l de.UTF-8
646 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
647 Verzeichniss vorgefunden werden kann.
649 %description doc -l pl.UTF-8
650 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
651 /usr/src/linux/Documentation.
655 ln -s %{SOURCE7} kernel-module-build.pl
656 ln -s %{SOURCE10} Makefile
659 # hack against warning in pax/grsec
660 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
663 %if "%{postver}" != ".0"
667 %if %{without vanilla}
675 %if %{with fbcondecor}
684 # kernel-pom-ng-IPV4OPTSSTRIP.patch
687 # kernel-pom-ng-mms-conntrack-nat.patch
690 # kernel-pom-ng-rsh.patch
693 # kernel-pom-ng-rpc.patch
696 # kernel-nf_rtsp.patch
699 # kernel-owner-xid.patch
704 # kernel-layer7.patch
737 # kernel-rndis_host-wm5.patch
740 # hostap enhancements from/for aircrack-ng
766 # grsecurity & pax stuff
769 %if %{with grsecurity}
773 %{?with_vserver:%patch10000 -p1}
774 %{?with_vserver:%patch10001 -p1}
775 %{?with_vserver:%patch10002 -p1}
778 # end of grsecurity & pax stuff
795 # Do not remove this, please!
798 # Fix EXTRAVERSION in main Makefile
799 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
801 # cleanup backups after patching
802 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
806 cat > %{targetobj}.mk <<'EOF'
807 # generated by %{name}.spec
808 KERNELSRC := %{srcdir}
809 KERNELOUTPUT := %{objdir}
811 SRCARCH := %{target_arch_dir}
812 ARCH := %{_target_base_arch}
813 Q := %{!?with_verbose:@}
814 MAKE_OPTS := %{MakeOpts}
815 DEFCONFIG := %{defconfig}
822 CONFIG_PAX_SEGMEXEC=y
823 # performance impact on CPUs without NX bit
824 CONFIG_PAX_PAGEEXEC=n
827 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
833 CONFIG_PAX_NOELFRELOCS=n
836 CONFIG_PAX_EMUTRAMP=y
837 CONFIG_PAX_EMUSIGRT=y
841 %ifarch sparc sparc64 alpha
845 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
846 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
847 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
848 # PAX_HOOK_ACL_FLAGS.
850 %if %{with grsecurity}
851 # Hardening grsec options if with pax
852 CONFIG_GRKERNSEC_PROC_MEMMAP=y
853 # almost rational (see HIDESYM help)
854 CONFIG_GRKERNSEC_HIDESYM=y
856 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
858 CONFIG_PAX_HAVE_ACL_FLAGS=n
859 CONFIG_PAX_HOOK_ACL_FLAGS=y
869 # CONFIG_SOUND is not set
870 # CONFIG_AUDIT is not set
871 # CONFIG_TR is not set
872 # CONFIG_BT is not set
873 # CONFIG_VIDEO_DEV is not set
874 # CONFIG_DVB_CORE is not set
875 # CONFIG_HAMRADIO is not set
876 # CONFIG_ARCNET is not set
877 # CONFIG_FB is not set
878 # CONFIG_DRM is not set
879 # CONFIG_WATCHDOG is not set
880 # CONFIG_INPUT_JOYSTICK is not set
881 # CONFIG_DEBUG_KERNEL is not set
882 # CONFIG_ISDN is not set
883 # CONFIG_AGP is not set
884 # CONFIG_SECURITY is not set
885 # CONFIG_PARIDE is not set
886 # CONFIG_CPU_FREQ is not set
887 # CONFIG_GAMEPORT is not set
888 # CONFIG_KVM is not set
889 # CONFIG_PHONE is not set
890 # CONFIG_STRICT_DEVMEM is not set
891 # CONFIG_IMA is not set
894 CONFIG_AUFS_BR_RAMFS=y
896 CONFIG_BLK_DEV_LOOP=y
909 Config="kernel-%{target_arch_dir}.config"
910 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
912 # prepare local and important options
913 cat <<-EOCONFIG > important.config
914 LOCALVERSION="-%{localversion}"
918 CONFIG_DEBUG_SLAB_LEAK=y
919 CONFIG_DEBUG_PREEMPT=y
920 CONFIG_RT_DEADLOCK_DETECT=y
927 %ifarch i686 athlon pentium3 pentium4
936 %if %{without pcmcia}
940 %if %{with fbcondecor}
944 CONFIG_FB_TILEBLITTING=n
945 CONFIG_FB_CON_DECOR=y
953 # Temporary disabled RELOCATABLE. Needed only on x86??
954 %if %{with pax} || %{with grsecurity}
960 RescueConfig rescue.config
966 # prepare kernel-style config file from multiple config files
967 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
969 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
972 %if %{without vanilla}
983 %if %{with grsecurity}
1001 %if %{with tuxonice}
1002 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1006 %{SOURCE41} %{?0:patches} \
1009 $RPM_SOURCE_DIR/$Config
1013 install -d arch/%{target_arch_dir}
1014 BuildConfig > %{defconfig}
1015 ln -sf %{defconfig} .config
1019 TARGETOBJ=%{targetobj} \
1020 %{?with_verbose:V=1} \
1023 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1027 TARGETOBJ=%{targetobj} \
1028 %{?with_verbose:V=1} \
1032 rm -rf $RPM_BUILD_ROOT
1033 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1035 %{?with_verbose:V=1} \
1037 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1038 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1039 KERNELRELEASE=%{kernel_release}
1041 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1043 # create directories which may be missing, to simplyfy %files
1044 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1046 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1047 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1048 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1050 # no point embed content for %ghost files. empty them
1057 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1059 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1060 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1064 install -d $RPM_BUILD_ROOT/boot
1065 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1066 %ifarch %{ix86} %{x8664}
1067 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1068 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1071 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1072 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1075 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1076 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1077 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1079 %ifarch alpha sparc sparc64
1080 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1081 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1082 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1084 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1085 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1088 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1089 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1093 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1097 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1099 %if "%{_target_base_arch}" != "%{_arch}"
1100 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1104 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1107 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1109 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1110 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1112 rm -f $RPM_BUILD_ROOT/COPYING
1115 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1116 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1117 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1118 cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
1119 mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
1120 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1121 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1122 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1124 # collect module-build files and directories
1125 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1127 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1128 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1131 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1132 install -d $RPM_BUILD_ROOT%{_docdir}
1133 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1135 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1136 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1137 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1138 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1141 rm -rf $RPM_BUILD_ROOT
1144 if [ -x /sbin/new-kernel-pkg ]; then
1145 /sbin/new-kernel-pkg --remove %{kernel_release}
1150 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1151 %{?alt_kernel:mv -f /boot/efi/vmlinuz_%{alt_kernel}{,.old} 2> /dev/null}
1152 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1153 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz_%{alt_kernel}}
1155 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1156 %{?alt_kernel:mv -f /boot/vmlinuz_%{alt_kernel}{,.old} 2> /dev/null}
1157 mv -f /boot/System.map{,.old} 2> /dev/null
1158 %{?alt_kernel:mv -f /boot/System_%{alt_kernel}.map{,.old} 2> /dev/null}
1159 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1160 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz_%{alt_kernel}}
1161 ln -sf System.map-%{kernel_release} /boot/System.map
1162 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map_%{alt_kernel}}
1164 %depmod %{kernel_release}
1167 # generate initrd after all dependant modules are installed
1168 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1169 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1170 %{?alt_kernel:mv -f %{initrd_dir}/initrd_%{alt_kernel}{,.old} 2> /dev/null}
1171 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1172 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd_%{alt_kernel}}
1174 # update boot loaders when old package files are gone from filesystem
1175 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1176 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1177 /sbin/update-grub >/dev/null
1180 if [ -x /sbin/new-kernel-pkg ]; then
1181 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1183 if [ -x /sbin/rc-boot ]; then
1184 /sbin/rc-boot 1>&2 || :
1188 mv -f /boot/vmlinux{,.old} 2> /dev/null
1189 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1190 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1191 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1194 %depmod %{kernel_release}
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 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{?alt_kernel:_%{alt_kernel}}
1221 if [ "$1" = "0" ]; then
1222 if [ -L %{_prefix}/src/linux%{?alt_kernel:_%{alt_kernel}} ]; then
1223 if [ "$(readlink %{_prefix}/src/linux%{?alt_kernel:_%{alt_kernel}})" = "linux%{?alt_kernel:_%{alt_kernel}}-%{version}" ]; then
1224 rm -f %{_prefix}/src/linux%{?alt_kernel:_%{alt_kernel}}
1229 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1230 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1231 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1233 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1234 if [ "$1" = 0 ]; then
1235 rm -f /lib/modules/%{kernel_release}/{build,source}
1239 %defattr(644,root,root,755)
1240 %ifarch sparc sparc64
1241 /boot/vmlinux.aout-%{kernel_release}
1244 /boot/efi/vmlinuz-%{kernel_release}
1246 /boot/vmlinuz-%{kernel_release}
1247 /boot/System.map-%{kernel_release}
1248 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1249 /lib/firmware/%{kernel_release}
1251 %dir /lib/modules/%{kernel_release}
1252 %dir /lib/modules/%{kernel_release}/kernel
1253 /lib/modules/%{kernel_release}/kernel/arch
1254 /lib/modules/%{kernel_release}/kernel/crypto
1255 /lib/modules/%{kernel_release}/kernel/drivers
1257 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1259 /lib/modules/%{kernel_release}/kernel/fs
1260 /lib/modules/%{kernel_release}/kernel/kernel
1261 /lib/modules/%{kernel_release}/kernel/lib
1262 /lib/modules/%{kernel_release}/kernel/net
1263 /lib/modules/%{kernel_release}/kernel/mm
1265 %dir /lib/modules/%{kernel_release}/kernel/sound
1266 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1267 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1269 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1270 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1271 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1274 %dir /lib/modules/%{kernel_release}/misc
1276 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1277 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1278 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1279 %if %{without rescuecd}
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1281 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1282 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1283 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1284 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1290 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1297 /lib/modules/%{kernel_release}/kernel/sound
1299 /lib/modules/%{kernel_release}/kernel/security
1301 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1304 /lib/modules/%{kernel_release}/modules.order
1305 /lib/modules/%{kernel_release}/modules.builtin*
1307 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1308 %ghost /lib/modules/%{kernel_release}/modules.alias
1309 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1310 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1311 %ghost /lib/modules/%{kernel_release}/modules.dep
1312 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1313 %ghost /lib/modules/%{kernel_release}/modules.devname
1314 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1315 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1316 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1317 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1318 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1319 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1320 %ghost /lib/modules/%{kernel_release}/modules.softdep
1321 %ghost /lib/modules/%{kernel_release}/modules.symbols
1322 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1323 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1325 # symlinks pointing to kernelsrcdir
1326 %ghost /lib/modules/%{kernel_release}/build
1327 %ghost /lib/modules/%{kernel_release}/source
1329 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1331 %defattr(644,root,root,755)
1332 /boot/vmlinux-%{kernel_release}
1337 %defattr(644,root,root,755)
1338 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1343 %defattr(644,root,root,755)
1344 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1345 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1346 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1347 %if %{without rescuecd}
1348 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1349 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1350 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1351 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1353 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1354 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1355 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1356 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1357 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1360 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1361 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1366 %defattr(644,root,root,755)
1367 /lib/modules/%{kernel_release}/kernel/sound
1368 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1369 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1370 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1372 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1375 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1376 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1377 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1378 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1383 %defattr(644,root,root,755)
1384 /lib/modules/%{kernel_release}/kernel/sound/oss
1388 %files headers -f files.headers_exclude_kbuild
1389 %defattr(644,root,root,755)
1390 %dir %{_kernelsrcdir}
1391 %{_kernelsrcdir}/include
1392 %dir %{_kernelsrcdir}/arch
1393 %dir %{_kernelsrcdir}/arch/[!K]*
1394 %{_kernelsrcdir}/arch/*/include
1395 %dir %{_kernelsrcdir}/security
1396 %dir %{_kernelsrcdir}/security/selinux
1397 %{_kernelsrcdir}/security/selinux/include
1398 %{_kernelsrcdir}/config-dist
1399 %{_kernelsrcdir}/Module.symvers-dist
1401 %files module-build -f files.mb_include_modulebuild_and_dirs
1402 %defattr(644,root,root,755)
1404 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1406 %exclude %dir %{_kernelsrcdir}/arch/um
1407 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1408 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1409 %{_kernelsrcdir}/drivers/lguest/lg.h
1410 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1411 %{_kernelsrcdir}/kernel/bounds.c
1412 %dir %{_kernelsrcdir}/scripts
1413 %{_kernelsrcdir}/scripts/Kbuild.include
1414 %{_kernelsrcdir}/scripts/Makefile*
1415 %{_kernelsrcdir}/scripts/basic
1416 %{_kernelsrcdir}/scripts/kconfig
1417 %{_kernelsrcdir}/scripts/mkcompile_h
1418 %{_kernelsrcdir}/scripts/mkmakefile
1419 %{_kernelsrcdir}/scripts/mod
1420 %{_kernelsrcdir}/scripts/module-common.lds
1421 %{_kernelsrcdir}/scripts/setlocalversion
1422 %{_kernelsrcdir}/scripts/*.c
1423 %{_kernelsrcdir}/scripts/*.sh
1424 %dir %{_kernelsrcdir}/scripts/selinux
1425 %{_kernelsrcdir}/scripts/selinux/Makefile
1426 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1427 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1428 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1429 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1430 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1431 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1432 %exclude %dir %{_kernelsrcdir}/security
1433 %exclude %dir %{_kernelsrcdir}/security/selinux
1434 %if %{with grsecurity}
1435 %{_kernelsrcdir}/tools/gcc/*.c
1440 %defattr(644,root,root,755)
1441 %dir %{_docdir}/%{name}-%{version}
1443 %{_docdir}/%{name}-%{version}/[!jkz]*
1444 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1445 %{_docdir}/%{name}-%{version}/kbuild
1446 %{_docdir}/%{name}-%{version}/kdump
1447 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1448 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1449 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1453 %files source -f files.source_exclude_modulebuild_and_dirs
1454 %defattr(644,root,root,755)
1455 %{_kernelsrcdir}/arch/*/[!Mik]*
1456 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1457 %{_kernelsrcdir}/arch/ia64/install.sh
1458 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1459 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1460 %{_kernelsrcdir}/arch/m68k/install.sh
1461 %{_kernelsrcdir}/arch/parisc/install.sh
1462 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1463 %{_kernelsrcdir}/arch/ia64/kvm
1464 %{_kernelsrcdir}/arch/powerpc/kvm
1466 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1468 %{_kernelsrcdir}/arch/s390/kvm
1469 %{_kernelsrcdir}/arch/x86/kvm
1470 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1471 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1472 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1473 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1474 %{_kernelsrcdir}/block
1475 %{_kernelsrcdir}/crypto
1476 %{_kernelsrcdir}/drivers
1477 %{_kernelsrcdir}/firmware
1479 %if %{with grsecurity} && %{without rescuecd}
1480 %{_kernelsrcdir}/grsecurity
1482 %{_kernelsrcdir}/init
1483 %{_kernelsrcdir}/ipc
1484 %{_kernelsrcdir}/kernel
1485 %exclude %{_kernelsrcdir}/kernel/bounds.c
1486 %{_kernelsrcdir}/lib
1488 %{_kernelsrcdir}/net
1489 %{_kernelsrcdir}/virt
1490 %{_kernelsrcdir}/samples
1491 %{_kernelsrcdir}/scripts/*
1492 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1493 %exclude %{_kernelsrcdir}/scripts/Makefile*
1494 %exclude %{_kernelsrcdir}/scripts/basic
1495 %exclude %{_kernelsrcdir}/scripts/kconfig
1496 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1497 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1498 %exclude %{_kernelsrcdir}/scripts/mod
1499 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1500 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1501 %exclude %{_kernelsrcdir}/scripts/*.c
1502 %exclude %{_kernelsrcdir}/scripts/*.sh
1503 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1504 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1505 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1506 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1507 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1508 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1509 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1510 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1511 %{_kernelsrcdir}/sound
1512 %{_kernelsrcdir}/security
1513 %exclude %{_kernelsrcdir}/security/selinux/include
1514 %{_kernelsrcdir}/tools/*
1515 %if %{with grsecurity}
1516 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1518 %{_kernelsrcdir}/usr
1519 %{_kernelsrcdir}/COPYING
1520 %{_kernelsrcdir}/CREDITS
1521 %{_kernelsrcdir}/MAINTAINERS
1522 %{_kernelsrcdir}/README
1523 %{_kernelsrcdir}/REPORTING-BUGS