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 _enable_debug_packages 0
101 %define tuxonice_version 3.2
103 %define module_init_tools_ver 3.16
106 %if "%{_alt_kernel}" == ""
107 %define alt_kernel myown
111 %define alt_kernel vanilla
114 %define alt_kernel rescuecd
115 %else # not rescuecd:
116 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
117 %if "%{__alt_kernel}" != ""
118 %define alt_kernel %{__alt_kernel}
120 %endif # not rescuecd
124 # kernel release (used in filesystem and eventually in uname -r)
125 # modules will be looked from /lib/modules/%{kernel_release}
126 # localversion is just that without version for "> localversion"
127 %define localversion %{rel}
128 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
130 Summary: The Linux kernel (the core of the Linux operating system)
131 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
132 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
133 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
134 Summary(pl.UTF-8): JÄ…dro Linuksa
135 Name: kernel%{_alt_kernel}
136 Version: %{basever}%{postver}
141 Source0: http://www.kernel.org/pub/linux/kernel/v3.0/linux-%{basever}.tar.bz2
142 # Source0-md5: 398e95866794def22b12dfbc15ce89c0
143 %if "%{postver}" != ".0"
144 #Patch0: http://www.kernel.org/pub/linux/kernel/v3.0/patch-%{version}.bz2
146 # for now while kernel.org is not operational
147 Patch0: ftp://ftp.archlinux.org/other/linux/patch-3.0.6.gz
148 # Patch0-md5: 792f01cc8874d03a84e47fd0e7065df8
151 Patch1: patch-3.0.6-7
154 Source3: kernel-autoconf.h
155 Source4: kernel-config.h
156 Source6: kernel-config.awk
157 Source7: kernel-module-build.pl
158 Source8: kernel-track-config-change.awk
159 # not used by kernel.spec, but it's good to have it in SOURCES
160 Source9: kernel-config-sort.pl
161 Source10: kernel.make
163 Source20: kernel-multiarch.config
164 Source21: kernel-x86.config
165 Source22: kernel-sparc.config
166 Source23: kernel-alpha.config
167 Source24: kernel-powerpc.config
168 Source25: kernel-ia64.config
170 Source41: kernel-patches.config
171 Source42: kernel-tuxonice.config
172 Source43: kernel-vserver.config
173 Source45: kernel-grsec.config
175 Source49: kernel-pax.config
176 Source50: kernel-no-pax.config
177 Source55: kernel-imq.config
178 Source56: kernel-reiser4.config
179 Source57: kernel-wrr.config
181 Source58: kernel-inittmpfs.config
183 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
184 Patch3: kernel-fbcondecor.patch
185 Patch4: kernel-fbcon-margins.patch
186 Patch5: linux-wistron-amilo8210.patch
188 # netfilter related stuff mostly based on patch-o-matic-ng
189 # snapshot 20070806 with some fixes. Some modules
190 # were ported to nf_conntrack.
192 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
194 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
195 Patch22: kernel-pom-ng-rsh.patch
196 Patch23: kernel-pom-ng-rpc.patch
198 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
199 Patch36: kernel-nf_rtsp.patch
201 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
202 Patch37: kernel-owner-xid.patch
204 # based on kernel-2.6.25-layer7-2.20.patch from
205 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
206 Patch40: kernel-layer7.patch
210 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
211 Patch49: kernel-zph.patch
213 # based on http://www.linuximq.net/patchs/linux-2.6.39-imq-multiqueue-test1.diff.bz2
214 Patch50: kernel-imq.patch
216 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
217 Patch51: kernel-reiser4.patch
219 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
220 Patch52: kernel-wrr.patch
222 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
223 Patch53: kernel-esfq.patch
225 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
226 Patch54: kernel-toshiba_acpi.patch
228 # by Baggins request:
229 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
230 Patch55: kernel-atm-vbr.patch
231 Patch56: kernel-atmdd.patch
233 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
234 Patch59: kernel-rndis_host-wm5.patch
236 # Project suspend2 renamed to tuxonice
237 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
238 # NOTE: currently using own diff from tuxonice git tree until official patch is released
239 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-head.git
240 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-<basever>.git
241 # To produce patch: git diff upstream/master...tuxonice/combined
242 Patch69: kernel-tuxonice.patch
243 Patch70: kernel-tuxonice-headers.patch
245 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
246 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
247 Patch85: kernel-hostap.patch
249 # http://vserver.13thfloor.at/Experimental/patch-3.0.4-vs2.3.1.diff
250 Patch100: kernel-vserver-2.3.patch
251 Patch101: kernel-vserver-fixes.patch
253 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
254 # Fix verified for that kernel version.
255 Patch130: kernel-forcedeth-WON.patch
257 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.38-rc7.diff.gz
258 Patch140: kernel-unionfs.patch
260 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
262 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
263 # cd aufs3-standalone
264 # git checkout -b aufs3.0 origin/aufs3.0
265 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
267 # cp -a Documentation fs include linux
268 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
270 Patch145: kernel-aufs3.patch
271 Patch146: kernel-aufs2-unionfs.patch
272 Patch147: kernel-aufs2-no-const-grsec.patch
273 Patch148: kernel-aufs2-reiser4.patch
275 # Show normal colors in menuconfig with ncurses ABI 6
276 Patch250: kernel-fix_256colors_menuconfig.patch
278 # https://patchwork.kernel.org/patch/236261/
279 Patch400: kernel-virtio-gl-accel.patch
281 Patch2000: kernel-small_fixes.patch
282 Patch2001: kernel-pwc-uncompress.patch
283 Patch2003: kernel-regressions.patch
285 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
286 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
287 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
288 Patch5000: kernel-apparmor.patch
291 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
292 Patch7000: kernel-inittmpfs.patch
294 # based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.0.7-201110172337.patch
295 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
296 # (since upstream deletes older patches)
297 Patch9999: kernel-grsec_full.patch
298 Patch10000: kernel-grsec-caps.patch
299 Patch10001: kernel-grsec-common.patch
300 Patch10002: kernel-grsec_fixes.patch
302 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
303 # kernel.spec every time.
304 #Patch50000: kernel-usb_reset.patch
306 URL: http://www.kernel.org/
307 BuildRequires: binutils >= 3:2.18
308 %ifarch sparc sparc64
309 BuildRequires: elftoaout
312 BuildRequires: uboot-mkimage
314 BuildRequires: /sbin/depmod
315 BuildRequires: gcc >= 5:3.2
316 BuildRequires: xz >= 1:4.999.7
318 BuildRequires: hostname
319 BuildRequires: module-init-tools >= %{module_init_tools_ver}
320 BuildRequires: perl-base
321 BuildRequires: rpm-build >= 4.5-24
322 BuildRequires: rpmbuild(macros) >= 1.217
323 Requires(post): coreutils
324 Requires(post): geninitrd >= 10000-3
325 Requires(post): module-init-tools >= %{module_init_tools_ver}
326 Requires: /sbin/depmod
328 Requires: geninitrd >= 10000-3
329 Requires: module-init-tools >= %{module_init_tools_ver}
331 Provides: %{name}(netfilter) = 20070806
332 Provides: %{name}(vermagic) = %{kernel_release}
333 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
334 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
335 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
336 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
337 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
338 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
339 Obsoletes: kernel-firmware
340 Obsoletes: kernel-misc-acer_acpi
341 Obsoletes: kernel-misc-fuse
342 Obsoletes: kernel-misc-uvc
343 Obsoletes: kernel-modules
344 Obsoletes: kernel-net-ar81
345 Obsoletes: kernel-net-hostap
346 Obsoletes: kernel-net-ieee80211
347 Obsoletes: kernel-net-ipp2p
348 Obsoletes: kernel-net-rt61
349 Obsoletes: kernel-smp
350 Conflicts: e2fsprogs < 1.29
351 Conflicts: isdn4k-utils < 3.1pre1
352 Conflicts: jfsutils < 1.1.3
353 Conflicts: lvm2 < 2.02.40
354 Conflicts: nfs-utils < 1.0.5
355 Conflicts: oprofile < 0.9
356 Conflicts: ppp < 1:2.4.0
357 Conflicts: procps < 3.2.0
358 Conflicts: quota-tools < 3.09
359 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
360 Conflicts: reiserfsprogs < 3.6.3
361 Conflicts: rpm < 4.4.2-0.2
362 Conflicts: udev < 1:081
363 Conflicts: util-linux < 2.10o
364 Conflicts: util-vserver < 0.30.216
365 Conflicts: xfsprogs < 2.6.0
367 ExcludeArch: i386 i486 i586
369 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
372 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
374 %ifarch %{ix86} %{x8664}
375 %define target_arch_dir x86
378 %define target_arch_dir powerpc
380 %ifarch sparc sparc64
381 %define target_arch_dir sparc
383 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
384 %define target_arch_dir %{_target_base_arch}
387 %define defconfig arch/%{target_arch_dir}/defconfig
389 # No ELF objects there to strip (skips processing 27k files)
390 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
391 %define _noautochrpath .*%{_kernelsrcdir}/.*
394 %define initrd_dir /boot/efi
396 %define initrd_dir /boot
399 %define topdir %{_builddir}/%{name}-%{version}
400 %define srcdir %{topdir}/linux-%{basever}
401 %define objdir %{topdir}/%{targetobj}
402 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
404 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
406 %if "%{_target_base_arch}" != "%{_arch}"
407 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
408 %define DepMod /bin/true
410 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
411 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
412 %define DepMod /sbin/depmod
415 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
416 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
417 %define DepMod /sbin/depmod
420 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
421 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
422 %define DepMod /sbin/depmod
425 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
426 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
430 %define CrossOpts ARCH=powerpc CC="%{__cc}"
432 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
434 %define DepMod /sbin/depmod
436 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
439 %{?with_grsecurity:Grsecurity support - enabled}\
440 %{?with_pax:PaX support - enabled}\
441 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
442 %{?with_nfsroot:Root on NFS - enabled}\
444 %define Features %(echo "%{__features}" | sed '/^$/d')
447 This package contains the Linux kernel that is used to boot and run
448 your system. It contains few device drivers for specific hardware.
449 Most hardware is instead supported by modules loaded after booting.
453 %description -l de.UTF-8
454 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
455 Linux-Betriebssystems. Der Kernel ist für grundliegende
456 Systemfunktionen verantwortlich: Speicherreservierung,
457 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
461 %description -l fr.UTF-8
462 Le package kernel contient le kernel linux (vmlinuz), la partie
463 centrale d'un système d'exploitation Linux. Le noyau traite les
464 fonctions basiques d'un système d'exploitation: allocation mémoire,
465 allocation de process, entrée/sortie de peripheriques, etc.
469 %description -l pl.UTF-8
470 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
471 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
472 się w komputerze, takiego jak sterowniki dysków itp.
477 Summary: vmlinux - uncompressed kernel image
478 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
479 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
481 Obsoletes: kernel-smp-vmlinux
484 vmlinux - uncompressed kernel image.
486 %description vmlinux -l de.UTF-8
487 vmlinux - dekompressiertes Kernel Bild.
489 %description vmlinux -l pl.UTF-8
490 vmlinux - rozpakowany obraz jÄ…dra.
493 Summary: DRM kernel modules
494 Summary(de.UTF-8): DRM Kernel Treiber
495 Summary(pl.UTF-8): Sterowniki DRM
497 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
498 Requires: %{name} = %{epoch}:%{version}-%{release}
499 Obsoletes: kernel-smp-drm
505 %description drm -l de.UTF-8
508 %description drm -l pl.UTF-8
512 Summary: PCMCIA modules
513 Summary(de.UTF-8): PCMCIA Module
514 Summary(pl.UTF-8): Moduły PCMCIA
516 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
517 Requires: %{name} = %{epoch}:%{version}-%{release}
518 Obsoletes: kernel-smp-pcmcia
519 Conflicts: pcmcia-cs < 3.1.21
520 Conflicts: pcmciautils < 004
526 %description pcmcia -l de.UTF-8
529 %description pcmcia -l pl.UTF-8
533 Summary: ALSA kernel modules
534 Summary(de.UTF-8): ALSA Kernel Module
535 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
537 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
538 Requires: %{name} = %{epoch}:%{version}-%{release}
539 Obsoletes: kernel-smp-sound-alsa
542 %description sound-alsa
543 ALSA (Advanced Linux Sound Architecture) sound drivers.
545 %description sound-alsa -l de.UTF-8
546 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
548 %description sound-alsa -l pl.UTF-8
549 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
552 Summary: OSS kernel modules
553 Summary(de.UTF-8): OSS Kernel Module
554 Summary(pl.UTF-8): Sterowniki dźwięku OSS
556 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
557 Requires: %{name} = %{epoch}:%{version}-%{release}
558 Obsoletes: kernel-smp-sound-oss
561 %description sound-oss
562 OSS (Open Sound System) drivers.
564 %description sound-oss -l de.UTF-8
565 OSS (Open Sound System) Treiber.
567 %description sound-oss -l pl.UTF-8
568 Sterowniki dźwięku OSS (Open Sound System).
571 Summary: Header files for the Linux kernel
572 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
573 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
574 Group: Development/Building
575 Provides: %{name}-headers(netfilter) = 20070806
579 These are the C header files for the Linux kernel, which define
580 structures and constants that are needed when rebuilding the kernel or
581 building kernel modules.
583 %description headers -l de.UTF-8
584 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
585 Strukturen und Konstante beinhalten, die beim rekompilieren des
586 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
588 %description headers -l pl.UTF-8
589 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
590 oraz budowania modułów jądra.
592 %package module-build
593 Summary: Development files for building kernel modules
594 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
595 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
596 Group: Development/Building
597 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
598 Conflicts: rpmbuild(macros) < 1.619
601 %description module-build
602 Development files from kernel source tree needed to build Linux kernel
603 modules from external packages.
605 %description module-build -l de.UTF-8
606 Development Dateien des Linux-Kernels die beim kompilieren externer
607 Kernel Module gebraucht werden.
609 %description module-build -l pl.UTF-8
610 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
611 Linuksa z zewnętrznych pakietów.
614 Summary: Kernel source tree
615 Summary(de.UTF-8): Der Kernel Quelltext
616 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
617 Group: Development/Building
618 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
622 This is the source code for the Linux kernel. You can build a custom
623 kernel that is better tuned to your particular hardware.
625 %description source -l de.UTF-8
626 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
627 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
628 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
629 im Kernel-Source definiert sind. Die Source-Dateien können auch
630 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
631 Hardware ausgerichtet ist.
633 %description source -l fr.UTF-8
634 Le package pour le kernel-source contient le code source pour le noyau
635 linux. Ces sources sont nécessaires pour compiler la plupart des
636 programmes C, car il dépend de constantes définies dans le code
637 source. Les sources peuvent être aussi utilisée pour compiler un noyau
638 personnalisé pour avoir de meilleures performances sur des matériels
641 %description source -l pl.UTF-8
642 Pakiet zawiera kod źródłowy jądra systemu.
645 Summary: Kernel documentation
646 Summary(de.UTF-8): Kernel Dokumentation
647 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
652 This is the documentation for the Linux kernel, as found in
653 /usr/src/linux/Documentation directory.
655 %description doc -l de.UTF-8
656 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
657 Verzeichniss vorgefunden werden kann.
659 %description doc -l pl.UTF-8
660 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
661 /usr/src/linux/Documentation.
665 ln -s %{SOURCE7} kernel-module-build.pl
666 ln -s %{SOURCE10} Makefile
669 # hack against warning in pax/grsec
670 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
673 %if "%{postver}" != ".0"
678 %if %{without vanilla}
686 %if %{with fbcondecor}
695 # kernel-pom-ng-IPV4OPTSSTRIP.patch
698 # kernel-pom-ng-mms-conntrack-nat.patch
701 # kernel-pom-ng-rsh.patch
704 # kernel-pom-ng-rpc.patch
707 # kernel-nf_rtsp.patch
710 # kernel-owner-xid.patch
715 # kernel-layer7.patch
748 # kernel-rndis_host-wm5.patch
751 # hostap enhancements from/for aircrack-ng
777 # grsecurity & pax stuff
780 %if %{with grsecurity}
784 %{?with_vserver:%patch10000 -p1}
785 %{?with_vserver:%patch10001 -p1}
786 %{?with_vserver:%patch10002 -p1}
789 # end of grsecurity & pax stuff
806 # Do not remove this, please!
809 # Fix EXTRAVERSION in main Makefile
810 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
812 # cleanup backups after patching
813 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
817 cat > %{targetobj}.mk <<'EOF'
818 # generated by %{name}.spec
819 KERNELSRC := %{srcdir}
820 KERNELOUTPUT := %{objdir}
822 SRCARCH := %{target_arch_dir}
823 ARCH := %{_target_base_arch}
824 Q := %{!?with_verbose:@}
825 MAKE_OPTS := %{MakeOpts}
826 DEFCONFIG := %{defconfig}
833 CONFIG_PAX_SEGMEXEC=y
834 # performance impact on CPUs without NX bit
835 CONFIG_PAX_PAGEEXEC=n
838 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
844 CONFIG_PAX_NOELFRELOCS=n
847 CONFIG_PAX_EMUTRAMP=y
848 CONFIG_PAX_EMUSIGRT=y
852 %ifarch sparc sparc64 alpha
856 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
857 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
858 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
859 # PAX_HOOK_ACL_FLAGS.
861 %if %{with grsecurity}
862 # Hardening grsec options if with pax
863 CONFIG_GRKERNSEC_PROC_MEMMAP=y
864 # almost rational (see HIDESYM help)
865 CONFIG_GRKERNSEC_HIDESYM=y
867 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
869 CONFIG_PAX_HAVE_ACL_FLAGS=n
870 CONFIG_PAX_HOOK_ACL_FLAGS=y
880 # CONFIG_SOUND is not set
881 # CONFIG_AUDIT is not set
882 # CONFIG_TR is not set
883 # CONFIG_BT is not set
884 # CONFIG_VIDEO_DEV is not set
885 # CONFIG_DVB_CORE is not set
886 # CONFIG_HAMRADIO is not set
887 # CONFIG_ARCNET is not set
888 # CONFIG_FB is not set
889 # CONFIG_DRM is not set
890 # CONFIG_WATCHDOG is not set
891 # CONFIG_INPUT_JOYSTICK is not set
892 # CONFIG_DEBUG_KERNEL is not set
893 # CONFIG_ISDN is not set
894 # CONFIG_AGP is not set
895 # CONFIG_SECURITY is not set
896 # CONFIG_PARIDE is not set
897 # CONFIG_CPU_FREQ is not set
898 # CONFIG_GAMEPORT is not set
899 # CONFIG_KVM is not set
900 # CONFIG_PHONE is not set
901 # CONFIG_STRICT_DEVMEM is not set
902 # CONFIG_IMA is not set
905 CONFIG_AUFS_BR_RAMFS=y
907 CONFIG_BLK_DEV_LOOP=y
920 Config="kernel-%{target_arch_dir}.config"
921 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
923 # prepare local and important options
924 cat <<-EOCONFIG > important.config
925 LOCALVERSION="-%{localversion}"
929 CONFIG_DEBUG_SLAB_LEAK=y
930 CONFIG_DEBUG_PREEMPT=y
931 CONFIG_RT_DEADLOCK_DETECT=y
938 %ifarch i686 athlon pentium3 pentium4
947 %if %{without pcmcia}
951 %if %{with fbcondecor}
955 CONFIG_FB_TILEBLITTING=n
956 CONFIG_FB_CON_DECOR=y
964 # Temporary disabled RELOCATABLE. Needed only on x86??
965 %if %{with pax} || %{with grsecurity}
971 RescueConfig rescue.config
977 # prepare kernel-style config file from multiple config files
978 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
980 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
983 %if %{without vanilla}
994 %if %{with grsecurity}
1012 %if %{with tuxonice}
1013 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1017 %{SOURCE41} %{?0:patches} \
1020 $RPM_SOURCE_DIR/$Config
1024 install -d arch/%{target_arch_dir}
1025 BuildConfig > %{defconfig}
1026 ln -sf %{defconfig} .config
1030 TARGETOBJ=%{targetobj} \
1031 %{?with_verbose:V=1} \
1034 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1038 TARGETOBJ=%{targetobj} \
1039 %{?with_verbose:V=1} \
1043 rm -rf $RPM_BUILD_ROOT
1044 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1046 %{?with_verbose:V=1} \
1048 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1049 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1050 KERNELRELEASE=%{kernel_release}
1052 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1054 # create directories which may be missing, to simplyfy %files
1055 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1057 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1058 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1059 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1061 # no point embed content for %ghost files. empty them
1068 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1070 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1071 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1075 install -d $RPM_BUILD_ROOT/boot
1076 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1077 %ifarch %{ix86} %{x8664}
1078 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1079 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1082 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1083 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1086 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1087 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1088 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1090 %ifarch alpha sparc sparc64
1091 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1092 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1093 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1095 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1096 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1099 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1100 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1104 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1108 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1110 %if "%{_target_base_arch}" != "%{_arch}"
1111 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1115 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1118 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1120 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1121 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1123 rm -f $RPM_BUILD_ROOT/COPYING
1126 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1127 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1128 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1129 cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
1130 mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
1131 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1132 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1133 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1135 # collect module-build files and directories
1136 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1138 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1139 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1142 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1143 install -d $RPM_BUILD_ROOT%{_docdir}
1144 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1146 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1147 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1148 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1149 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1152 rm -rf $RPM_BUILD_ROOT
1155 if [ -x /sbin/new-kernel-pkg ]; then
1156 /sbin/new-kernel-pkg --remove %{kernel_release}
1161 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1162 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1163 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1164 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1166 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1167 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1168 mv -f /boot/System.map{,.old} 2> /dev/null
1169 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1170 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1171 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1172 ln -sf System.map-%{kernel_release} /boot/System.map
1173 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1175 %depmod %{kernel_release}
1178 # generate initrd after all dependant modules are installed
1179 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1180 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1181 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1182 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1183 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1185 # update boot loaders when old package files are gone from filesystem
1186 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1187 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1188 /sbin/update-grub >/dev/null
1191 if [ -x /sbin/new-kernel-pkg ]; then
1192 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1194 if [ -x /sbin/rc-boot ]; then
1195 /sbin/rc-boot 1>&2 || :
1199 mv -f /boot/vmlinux{,.old} 2> /dev/null
1200 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1201 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1202 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1205 %depmod %{kernel_release}
1208 %depmod %{kernel_release}
1211 %depmod %{kernel_release}
1214 %depmod %{kernel_release}
1217 %depmod %{kernel_release}
1220 %depmod %{kernel_release}
1223 %depmod %{kernel_release}
1226 %depmod %{kernel_release}
1229 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1232 if [ "$1" = "0" ]; then
1233 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1234 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1235 rm -f %{_prefix}/src/linux%{_alt_kernel}
1240 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1241 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1242 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1244 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1245 if [ "$1" = 0 ]; then
1246 rm -f /lib/modules/%{kernel_release}/{build,source}
1250 %defattr(644,root,root,755)
1251 %ifarch sparc sparc64
1252 /boot/vmlinux.aout-%{kernel_release}
1255 /boot/efi/vmlinuz-%{kernel_release}
1257 /boot/vmlinuz-%{kernel_release}
1258 /boot/System.map-%{kernel_release}
1259 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1260 /lib/firmware/%{kernel_release}
1262 %dir /lib/modules/%{kernel_release}
1263 %dir /lib/modules/%{kernel_release}/kernel
1264 /lib/modules/%{kernel_release}/kernel/arch
1265 /lib/modules/%{kernel_release}/kernel/crypto
1266 /lib/modules/%{kernel_release}/kernel/drivers
1268 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1270 /lib/modules/%{kernel_release}/kernel/fs
1271 /lib/modules/%{kernel_release}/kernel/kernel
1272 /lib/modules/%{kernel_release}/kernel/lib
1273 /lib/modules/%{kernel_release}/kernel/net
1274 /lib/modules/%{kernel_release}/kernel/mm
1276 %dir /lib/modules/%{kernel_release}/kernel/sound
1277 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1278 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1281 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1282 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1285 %dir /lib/modules/%{kernel_release}/misc
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1290 %if %{without rescuecd}
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1298 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1299 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1300 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1301 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1302 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1303 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1304 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1305 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1308 /lib/modules/%{kernel_release}/kernel/sound
1310 /lib/modules/%{kernel_release}/kernel/security
1312 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1315 /lib/modules/%{kernel_release}/modules.order
1316 /lib/modules/%{kernel_release}/modules.builtin*
1318 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1319 %ghost /lib/modules/%{kernel_release}/modules.alias
1320 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1321 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1322 %ghost /lib/modules/%{kernel_release}/modules.dep
1323 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1324 %ghost /lib/modules/%{kernel_release}/modules.devname
1325 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1326 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1327 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1328 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1329 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1330 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1331 %ghost /lib/modules/%{kernel_release}/modules.softdep
1332 %ghost /lib/modules/%{kernel_release}/modules.symbols
1333 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1334 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1336 # symlinks pointing to kernelsrcdir
1337 %ghost /lib/modules/%{kernel_release}/build
1338 %ghost /lib/modules/%{kernel_release}/source
1340 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1342 %defattr(644,root,root,755)
1343 /boot/vmlinux-%{kernel_release}
1348 %defattr(644,root,root,755)
1349 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1354 %defattr(644,root,root,755)
1355 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1356 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1357 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1358 %if %{without rescuecd}
1359 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1360 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1361 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1362 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1364 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1365 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1366 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1367 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1368 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1369 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1370 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1371 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1372 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1377 %defattr(644,root,root,755)
1378 /lib/modules/%{kernel_release}/kernel/sound
1379 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1380 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1381 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1383 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1386 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1387 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1388 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1389 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1394 %defattr(644,root,root,755)
1395 /lib/modules/%{kernel_release}/kernel/sound/oss
1399 %files headers -f files.headers_exclude_kbuild
1400 %defattr(644,root,root,755)
1401 %dir %{_kernelsrcdir}
1402 %{_kernelsrcdir}/include
1403 %dir %{_kernelsrcdir}/arch
1404 %dir %{_kernelsrcdir}/arch/[!K]*
1405 %{_kernelsrcdir}/arch/*/include
1406 %dir %{_kernelsrcdir}/security
1407 %dir %{_kernelsrcdir}/security/selinux
1408 %{_kernelsrcdir}/security/selinux/include
1409 %{_kernelsrcdir}/config-dist
1410 %{_kernelsrcdir}/Module.symvers-dist
1412 %files module-build -f files.mb_include_modulebuild_and_dirs
1413 %defattr(644,root,root,755)
1415 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1417 %exclude %dir %{_kernelsrcdir}/arch/um
1418 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1419 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1420 %{_kernelsrcdir}/drivers/lguest/lg.h
1421 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1422 %{_kernelsrcdir}/kernel/bounds.c
1423 %dir %{_kernelsrcdir}/scripts
1424 %{_kernelsrcdir}/scripts/Kbuild.include
1425 %{_kernelsrcdir}/scripts/Makefile*
1426 %{_kernelsrcdir}/scripts/basic
1427 %{_kernelsrcdir}/scripts/kconfig
1428 %{_kernelsrcdir}/scripts/mkcompile_h
1429 %{_kernelsrcdir}/scripts/mkmakefile
1430 %{_kernelsrcdir}/scripts/mod
1431 %{_kernelsrcdir}/scripts/module-common.lds
1432 %{_kernelsrcdir}/scripts/setlocalversion
1433 %{_kernelsrcdir}/scripts/*.c
1434 %{_kernelsrcdir}/scripts/*.sh
1435 %dir %{_kernelsrcdir}/scripts/selinux
1436 %{_kernelsrcdir}/scripts/selinux/Makefile
1437 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1438 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1439 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1440 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1441 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1442 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1443 %exclude %dir %{_kernelsrcdir}/security
1444 %exclude %dir %{_kernelsrcdir}/security/selinux
1445 %if %{with grsecurity}
1446 %{_kernelsrcdir}/tools/gcc/*.c
1451 %defattr(644,root,root,755)
1452 %dir %{_docdir}/%{name}-%{version}
1454 %{_docdir}/%{name}-%{version}/[!jkz]*
1455 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1456 %{_docdir}/%{name}-%{version}/kbuild
1457 %{_docdir}/%{name}-%{version}/kdump
1458 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1459 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1460 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1464 %files source -f files.source_exclude_modulebuild_and_dirs
1465 %defattr(644,root,root,755)
1466 %{_kernelsrcdir}/arch/*/[!Mik]*
1467 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1468 %{_kernelsrcdir}/arch/ia64/install.sh
1469 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1470 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1471 %{_kernelsrcdir}/arch/m68k/install.sh
1472 %{_kernelsrcdir}/arch/parisc/install.sh
1473 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1474 %{_kernelsrcdir}/arch/ia64/kvm
1475 %{_kernelsrcdir}/arch/powerpc/kvm
1477 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1479 %{_kernelsrcdir}/arch/s390/kvm
1480 %{_kernelsrcdir}/arch/x86/kvm
1481 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1482 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1483 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1484 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1485 %{_kernelsrcdir}/block
1486 %{_kernelsrcdir}/crypto
1487 %{_kernelsrcdir}/drivers
1488 %{_kernelsrcdir}/firmware
1490 %if %{with grsecurity} && %{without rescuecd}
1491 %{_kernelsrcdir}/grsecurity
1493 %{_kernelsrcdir}/init
1494 %{_kernelsrcdir}/ipc
1495 %{_kernelsrcdir}/kernel
1496 %exclude %{_kernelsrcdir}/kernel/bounds.c
1497 %{_kernelsrcdir}/lib
1499 %{_kernelsrcdir}/net
1500 %{_kernelsrcdir}/virt
1501 %{_kernelsrcdir}/samples
1502 %{_kernelsrcdir}/scripts/*
1503 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1504 %exclude %{_kernelsrcdir}/scripts/Makefile*
1505 %exclude %{_kernelsrcdir}/scripts/basic
1506 %exclude %{_kernelsrcdir}/scripts/kconfig
1507 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1508 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1509 %exclude %{_kernelsrcdir}/scripts/mod
1510 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1511 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1512 %exclude %{_kernelsrcdir}/scripts/*.c
1513 %exclude %{_kernelsrcdir}/scripts/*.sh
1514 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1515 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1516 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1517 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1518 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1519 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1520 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1521 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1522 %{_kernelsrcdir}/sound
1523 %{_kernelsrcdir}/security
1524 %exclude %{_kernelsrcdir}/security/selinux/include
1525 %{_kernelsrcdir}/tools/*
1526 %if %{with grsecurity}
1527 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1529 %{_kernelsrcdir}/usr
1530 %{_kernelsrcdir}/COPYING
1531 %{_kernelsrcdir}/CREDITS
1532 %{_kernelsrcdir}/MAINTAINERS
1533 %{_kernelsrcdir}/README
1534 %{_kernelsrcdir}/REPORTING-BUGS