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