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 # - update aufs2 patch when final version for 2.6.36 exists
13 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
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_without 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 rescuecd # build kernel for our rescue
47 %bcond_with myown # build with your own config (kernel-myown.config)
49 %{?debug:%define with_verbose 1}
51 %if %{without grsecurity}
56 %define with_grsecurity 1
66 %unglobal with_tuxonice
67 %unglobal with_grsecurity
69 %unglobal with_vserver
91 %define basever 2.6.36
92 %define postver %{nil}
95 %define _enable_debug_packages 0
97 %define tuxonice_version 3.2
98 %define netfilter_snap 20070806
101 %if "%{_alt_kernel}" == ""
102 %define alt_kernel myown
105 %if %{without rescuecd}
106 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
107 %if "%{__alt_kernel}" != ""
108 %define alt_kernel %{__alt_kernel}
111 %define alt_kernel rescuecd
115 # kernel release (used in filesystem and eventually in uname -r)
116 # modules will be looked from /lib/modules/%{kernel_release}
117 # localversion is just that without version for "> localversion"
118 %define localversion %{rel}
119 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
121 Summary: The Linux kernel (the core of the Linux operating system)
122 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
123 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
124 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
125 Summary(pl.UTF-8): JÄ…dro Linuksa
126 Name: kernel%{_alt_kernel}
127 Version: %{basever}%{postver}
132 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
133 # Source0-md5: 61f3739a73afb6914cb007f37fb09b62
134 %if "%{postver}" != "%{nil}"
135 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
136 # Source1-md5: 7115d47e87afef1b9a14dbc9c387cd20
139 Source3: kernel-autoconf.h
140 Source4: kernel-config.h
141 Source6: kernel-config.awk
142 Source7: kernel-module-build.pl
143 Source8: kernel-track-config-change.awk
144 # not used by kernel.spec, but it's good to have it in SOURCES
145 Source9: kernel-config-sort.pl
146 Source10: kernel.make
148 Source20: kernel-multiarch.config
149 Source21: kernel-x86.config
150 Source22: kernel-sparc.config
151 Source23: kernel-alpha.config
152 Source24: kernel-powerpc.config
153 Source25: kernel-ia64.config
155 Source40: kernel-netfilter.config
156 Source41: kernel-patches.config
157 Source42: kernel-tuxonice.config
158 Source43: kernel-vserver.config
159 Source45: kernel-grsec.config
161 Source49: kernel-pax.config
162 Source50: kernel-no-pax.config
163 Source55: kernel-imq.config
164 Source56: kernel-reiser4.config
165 Source57: kernel-wrr.config
167 Source58: kernel-inittmpfs.config
168 Source59: kernel-bzip2-lzma.config
170 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
171 Patch3: kernel-fbcondecor.patch
172 Patch4: kernel-fbcon-margins.patch
174 # netfilter related stuff mostly based on patch-o-matic-ng
175 # snapshot 20070806 with some fixes. Some modules
176 # were ported to nf_conntrack.
178 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
179 Patch11: kernel-pom-ng-ipv4options.patch
181 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
182 Patch22: kernel-pom-ng-rsh.patch
183 Patch23: kernel-pom-ng-rpc.patch
185 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
186 Patch36: kernel-nf_rtsp.patch
188 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
189 Patch37: kernel-owner-xid.patch
191 # based on kernel-2.6.25-layer7-2.20.patch from
192 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
193 Patch40: kernel-layer7.patch
195 # http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.34-1.diff
196 Patch41: kernel-ipvs-nfct.patch
200 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
201 Patch49: kernel-zph.patch
203 # based on http://www.linuximq.net/patchs/linux-2.6.35-imq-multiqueue-test1.diff
204 Patch50: kernel-imq.patch
206 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
207 Patch51: kernel-reiser4.patch
209 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
210 Patch52: kernel-wrr.patch
212 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
213 Patch53: kernel-esfq.patch
215 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
216 Patch54: kernel-toshiba_acpi.patch
218 # by Baggins request:
219 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
220 Patch55: kernel-atm-vbr.patch
221 Patch56: kernel-atmdd.patch
223 # https://trac.pentoo.ch/pentoo/export/1600/kernel/trunk/2.6/2.6.34/4305_sqlzma.patch
224 Patch57: kernel-squashfs-lzma.patch
226 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
227 Patch59: kernel-rndis_host-wm5.patch
229 # Project suspend2 renamed to tuxonice
230 # http://tuxonice.net/files/tuxonice-3.2-rc2-for-2.6.35.patch.bz2
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-2.6.36-vs2.3.0.36.36.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 # add tty ioctl to figure physical device of the console. used by showconsole.spec (blogd)
247 # raw from http://download.opensuse.org/update/11.2/rpm/src/kernel-source-2.6.31.12-0.2.1.src.rpm
248 # from patches.fixes.tar.bz2
249 # from patches.fixes/tiocgdev
250 Patch131: kernel-TIOCGDEV.patch
252 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.4_for_2.6.34-rc0.diff.gz
253 # based on mandriva kernel src.rpm patches
254 Patch140: kernel-unionfs.patch
256 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
258 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
259 # cd aufs2-standalone
260 # git checkout -b aufs2.1-35 origin/aufs2.1-35
261 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
263 # cp -a Documentation fs include linux
264 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
266 Patch145: kernel-aufs2.patch
267 Patch146: kernel-aufs2-unionfs.patch
268 Patch147: kernel-aufs2-no-const-grsec.patch
269 Patch148: kernel-aufs2-reiser4.patch
271 # Show normal colors in menuconfig with ncurses ABI 6
272 Patch250: kernel-fix_256colors_menuconfig.patch
274 # The following patch extend the routing functionality in Linux
275 # to support static routes (defined by user), new way to use the
276 # alternative routes, the reverse path protection (rp_filter),
277 # the NAT processing to use correctly the routing when multiple
279 # http://www.ssi.bg/~ja/routes-2.6.36-16.diff
280 Patch300: kernel-routes.patch
282 Patch2000: kernel-small_fixes.patch
283 Patch2001: kernel-pwc-uncompress.patch
284 Patch2003: kernel-regressions.patch
286 # kill some thousands of warnings
287 # (only warnings, so just remove parts of this patch if conflics)
288 Patch2500: kernel-warnings.patch
290 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
291 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
292 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
293 Patch5000: kernel-apparmor.patch
296 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
297 Patch7000: kernel-inittmpfs.patch
299 # based on http://www.grsecurity.net/~spender/grsecurity-2.2.0-2.6.35.7-201010191911.patch
300 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
301 # (since upstream deletes older patches)
302 Patch9999: kernel-grsec_full.patch
303 Patch10000: kernel-grsec-caps.patch
304 Patch10001: kernel-grsec-common.patch
305 Patch10002: kernel-grsec_fixes.patch
307 URL: http://www.kernel.org/
308 BuildRequires: binutils >= 3:2.18
309 %ifarch sparc sparc64
310 BuildRequires: elftoaout
313 BuildRequires: uboot-mkimage
315 BuildRequires: /sbin/depmod
316 BuildRequires: gcc >= 5:3.2
317 BuildRequires: xz >= 1:4.999.7
319 # for hostname command
320 BuildRequires: module-init-tools >= 3.5
321 BuildRequires: net-tools
322 BuildRequires: perl-base
323 BuildRequires: rpm-build >= 4.5-24
324 BuildRequires: rpmbuild(macros) >= 1.217
325 Requires(post): coreutils
326 Requires(post): geninitrd >= 10000-3
327 Requires(post): module-init-tools >= 0.9.9
328 Requires: /sbin/depmod
330 Requires: geninitrd >= 10000-3
331 Requires: module-init-tools >= 0.9.9
332 Provides: %{name}(netfilter) = %{netfilter_snap}
333 Provides: %{name}(vermagic) = %{kernel_release}
334 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
335 Obsoletes: kernel-firmware
336 Obsoletes: kernel-misc-acer_acpi
337 Obsoletes: kernel-misc-fuse
338 Obsoletes: kernel-misc-uvc
339 Obsoletes: kernel-modules
340 Obsoletes: kernel-net-ar81
341 Obsoletes: kernel-net-hostap
342 Obsoletes: kernel-net-ieee80211
343 Obsoletes: kernel-net-ipp2p
344 Obsoletes: kernel-net-rt61
345 Obsoletes: kernel-smp
346 Conflicts: e2fsprogs < 1.29
347 Conflicts: isdn4k-utils < 3.1pre1
348 Conflicts: jfsutils < 1.1.3
349 Conflicts: lvm2 < 2.02.40
350 Conflicts: module-init-tools < 0.9.10
351 Conflicts: nfs-utils < 1.0.5
352 Conflicts: oprofile < 0.9
353 Conflicts: ppp < 1:2.4.0
354 Conflicts: procps < 3.2.0
355 Conflicts: quota-tools < 3.09
356 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
357 Conflicts: reiserfsprogs < 3.6.3
358 Conflicts: rpm < 4.4.2-0.2
359 Conflicts: udev < 1:081
360 Conflicts: util-linux < 2.10o
361 Conflicts: util-vserver < 0.30.216
362 Conflicts: xfsprogs < 2.6.0
364 ExcludeArch: i386 i486 i586
366 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
369 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
371 %ifarch %{ix86} %{x8664}
372 %define target_arch_dir x86
375 %define target_arch_dir powerpc
377 %ifarch sparc sparc64
378 %define target_arch_dir sparc
380 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
381 %define target_arch_dir %{_target_base_arch}
384 %define defconfig arch/%{target_arch_dir}/defconfig
386 # No ELF objects there to strip (skips processing 27k files)
387 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
388 %define _noautochrpath .*%{_kernelsrcdir}/.*
391 %define initrd_dir /boot/efi
393 %define initrd_dir /boot
396 %define topdir %{_builddir}/%{name}-%{version}
397 %define srcdir %{topdir}/linux-%{basever}
398 %define objdir %{topdir}/%{targetobj}
399 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
401 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
403 %if "%{_target_base_arch}" != "%{_arch}"
404 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
405 %define DepMod /bin/true
407 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
408 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
409 %define DepMod /sbin/depmod
412 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
413 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
414 %define DepMod /sbin/depmod
417 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
418 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
419 %define DepMod /sbin/depmod
422 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
423 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
427 %define CrossOpts ARCH=powerpc CC="%{__cc}"
429 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
431 %define DepMod /sbin/depmod
433 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
435 %define __features Netfilter module dated: %{netfilter_snap}\
436 %{?with_grsecurity:Grsecurity support - enabled}\
437 %{?with_pax:PaX support - enabled}\
438 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
439 %{?with_nfsroot:Root on NFS - enabled}\
441 %define Features %(echo "%{__features}" | sed '/^$/d')
444 This package contains the Linux kernel that is used to boot and run
445 your system. It contains few device drivers for specific hardware.
446 Most hardware is instead supported by modules loaded after booting.
450 %description -l de.UTF-8
451 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
452 Linux-Betriebssystems. Der Kernel ist für grundliegende
453 Systemfunktionen verantwortlich: Speicherreservierung,
454 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
458 %description -l fr.UTF-8
459 Le package kernel contient le kernel linux (vmlinuz), la partie
460 centrale d'un système d'exploitation Linux. Le noyau traite les
461 fonctions basiques d'un système d'exploitation: allocation mémoire,
462 allocation de process, entrée/sortie de peripheriques, etc.
466 %description -l pl.UTF-8
467 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
468 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
469 się w komputerze, takiego jak sterowniki dysków itp.
474 Summary: vmlinux - uncompressed kernel image
475 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
476 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
478 Obsoletes: kernel-smp-vmlinux
481 vmlinux - uncompressed kernel image.
483 %description vmlinux -l de.UTF-8
484 vmlinux - dekompressiertes Kernel Bild.
486 %description vmlinux -l pl.UTF-8
487 vmlinux - rozpakowany obraz jÄ…dra.
490 Summary: DRM kernel modules
491 Summary(de.UTF-8): DRM Kernel Treiber
492 Summary(pl.UTF-8): Sterowniki DRM
494 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
495 Requires: %{name} = %{epoch}:%{version}-%{release}
496 Obsoletes: kernel-smp-drm
502 %description drm -l de.UTF-8
505 %description drm -l pl.UTF-8
509 Summary: PCMCIA modules
510 Summary(de.UTF-8): PCMCIA Module
511 Summary(pl.UTF-8): Moduły PCMCIA
513 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
514 Requires: %{name} = %{epoch}:%{version}-%{release}
515 Obsoletes: kernel-smp-pcmcia
516 Conflicts: pcmcia-cs < 3.1.21
517 Conflicts: pcmciautils < 004
523 %description pcmcia -l de.UTF-8
526 %description pcmcia -l pl.UTF-8
530 Summary: ALSA kernel modules
531 Summary(de.UTF-8): ALSA Kernel Module
532 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
534 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
535 Requires: %{name} = %{epoch}:%{version}-%{release}
536 Obsoletes: kernel-smp-sound-alsa
539 %description sound-alsa
540 ALSA (Advanced Linux Sound Architecture) sound drivers.
542 %description sound-alsa -l de.UTF-8
543 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
545 %description sound-alsa -l pl.UTF-8
546 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
549 Summary: OSS kernel modules
550 Summary(de.UTF-8): OSS Kernel Module
551 Summary(pl.UTF-8): Sterowniki dźwięku OSS
553 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
554 Requires: %{name} = %{epoch}:%{version}-%{release}
555 Obsoletes: kernel-smp-sound-oss
558 %description sound-oss
559 OSS (Open Sound System) drivers.
561 %description sound-oss -l de.UTF-8
562 OSS (Open Sound System) Treiber.
564 %description sound-oss -l pl.UTF-8
565 Sterowniki dźwięku OSS (Open Sound System).
568 Summary: Header files for the Linux kernel
569 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
570 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
571 Group: Development/Building
572 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
576 These are the C header files for the Linux kernel, which define
577 structures and constants that are needed when rebuilding the kernel or
578 building kernel modules.
580 %description headers -l de.UTF-8
581 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
582 Strukturen und Konstante beinhalten, die beim rekompilieren des
583 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
585 %description headers -l pl.UTF-8
586 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
587 oraz budowania modułów jądra.
589 %package module-build
590 Summary: Development files for building kernel modules
591 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
592 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
593 Group: Development/Building
594 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
595 Conflicts: rpmbuild(macros) < 1.550
598 %description module-build
599 Development files from kernel source tree needed to build Linux kernel
600 modules from external packages.
602 %description module-build -l de.UTF-8
603 Development Dateien des Linux-Kernels die beim kompilieren externer
604 Kernel Module gebraucht werden.
606 %description module-build -l pl.UTF-8
607 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
608 Linuksa z zewnętrznych pakietów.
611 Summary: Kernel source tree
612 Summary(de.UTF-8): Der Kernel Quelltext
613 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
614 Group: Development/Building
615 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
619 This is the source code for the Linux kernel. You can build a custom
620 kernel that is better tuned to your particular hardware.
622 %description source -l de.UTF-8
623 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
624 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
625 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
626 im Kernel-Source definiert sind. Die Source-Dateien können auch
627 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
628 Hardware ausgerichtet ist.
630 %description source -l fr.UTF-8
631 Le package pour le kernel-source contient le code source pour le noyau
632 linux. Ces sources sont nécessaires pour compiler la plupart des
633 programmes C, car il dépend de constantes définies dans le code
634 source. Les sources peuvent être aussi utilisée pour compiler un noyau
635 personnalisé pour avoir de meilleures performances sur des matériels
638 %description source -l pl.UTF-8
639 Pakiet zawiera kod źródłowy jądra systemu.
642 Summary: Kernel documentation
643 Summary(de.UTF-8): Kernel Dokumentation
644 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
649 This is the documentation for the Linux kernel, as found in
650 /usr/src/linux/Documentation directory.
652 %description doc -l de.UTF-8
653 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
654 Verzeichniss vorgefunden werden kann.
656 %description doc -l pl.UTF-8
657 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
658 /usr/src/linux/Documentation.
662 ln -s %{SOURCE7} kernel-module-build.pl
663 ln -s %{SOURCE10} Makefile
666 # hack against warning in pax/grsec
667 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
669 %if "%{postver}" != "%{nil}"
670 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
679 %if %{with fbcondecor}
687 # kernel-pom-ng-IPV4OPTSSTRIP.patch
690 # kernel-pom-ng-ipv4options.patch
693 # kernel-pom-ng-mms-conntrack-nat.patch
696 # kernel-pom-ng-rsh.patch
699 # kernel-pom-ng-rpc.patch
702 # kernel-nf_rtsp.patch
705 # kernel-owner-xid.patch
710 # kernel-layer7.patch
746 # squashfs lzma support
749 # kernel-rndis_host-wm5.patch
752 # hostap enhancements from/for aircrack-ng
782 # grsecurity & pax stuff
785 %if %{with grsecurity}
787 # aufs2 needs to modify those pointers
789 %{?with_vserver:%patch10000 -p1}
790 %{?with_vserver:%patch10001 -p1}
791 %{?with_vserver:%patch10002 -p1}
794 # end of grsecurity & pax stuff
809 # Fix EXTRAVERSION in main Makefile
810 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?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 := %{_builddir}/%{name}-%{version}/linux-%{basever}
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
919 Config="kernel-%{target_arch_dir}.config"
920 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
922 # prepare local and important options
923 cat <<-EOCONFIG > important.config
924 LOCALVERSION="-%{localversion}"
928 CONFIG_DEBUG_SLAB_LEAK=y
929 CONFIG_DEBUG_PREEMPT=y
930 CONFIG_RT_DEADLOCK_DETECT=y
937 %ifarch i686 athlon pentium3 pentium4
946 %if %{without pcmcia}
950 %if %{with fbcondecor}
954 CONFIG_FB_TILEBLITTING=n
955 CONFIG_FB_CON_DECOR=y
963 # Temporary disabled RELOCATABLE. Needed only on x86??
964 %if %{with pax} || %{with grsecurity}
970 RescueConfig rescue.config
976 # prepare kernel-style config file from multiple config files
977 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
979 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
993 %if %{with grsecurity}
1011 %if %{with tuxonice}
1012 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1016 %{SOURCE40} %{?0:netfilter} \
1017 %{SOURCE41} %{?0:patches} \
1019 $RPM_SOURCE_DIR/$Config
1023 install -d arch/%{target_arch_dir}
1024 BuildConfig > %{defconfig}
1025 ln -sf %{defconfig} .config
1029 TARGETOBJ=%{targetobj} \
1030 %{?with_verbose:V=1} \
1033 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1037 TARGETOBJ=%{targetobj} \
1038 %{?with_verbose:V=1} \
1042 rm -rf $RPM_BUILD_ROOT
1043 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1045 %{?with_verbose:V=1} \
1047 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1048 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1049 KERNELRELEASE=%{kernel_release}
1051 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1053 # create directories which may be missing, to simplyfy %files
1054 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1056 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1057 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1058 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1060 # no point embed content for %ghost files. empty them
1065 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1067 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1068 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1072 install -d $RPM_BUILD_ROOT/boot
1073 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1074 %ifarch %{ix86} %{x8664}
1075 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1076 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1079 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1080 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1083 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1084 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1085 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1087 %ifarch alpha sparc sparc64
1088 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1089 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1090 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1092 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1093 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1096 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1097 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1101 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1105 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1107 %if "%{_target_base_arch}" != "%{_arch}"
1108 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1112 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1115 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1116 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1117 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1119 rm -f $RPM_BUILD_ROOT/COPYING
1122 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1123 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1124 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1125 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1126 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1127 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1128 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1129 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1131 # collect module-build files and directories
1132 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1134 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1135 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1138 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1139 install -d $RPM_BUILD_ROOT%{_docdir}
1140 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1142 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1143 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1144 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1145 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1148 rm -rf $RPM_BUILD_ROOT
1151 if [ -x /sbin/new-kernel-pkg ]; then
1152 /sbin/new-kernel-pkg --remove %{kernel_release}
1157 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1158 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1159 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1160 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1162 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1163 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1164 mv -f /boot/System.map{,.old} 2> /dev/null
1165 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1166 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1167 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1168 ln -sf System.map-%{kernel_release} /boot/System.map
1169 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1171 %depmod %{kernel_release}
1174 # generate initrd after all dependant modules are installed
1175 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1176 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1177 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1178 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1179 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1181 # update boot loaders when old package files are gone from filesystem
1182 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1183 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1184 /sbin/update-grub >/dev/null
1187 if [ -x /sbin/new-kernel-pkg ]; then
1188 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1190 if [ -x /sbin/rc-boot ]; then
1191 /sbin/rc-boot 1>&2 || :
1195 mv -f /boot/vmlinux{,.old} 2> /dev/null
1196 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1197 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1198 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1201 %depmod %{kernel_release}
1204 %depmod %{kernel_release}
1207 %depmod %{kernel_release}
1210 %depmod %{kernel_release}
1213 %depmod %{kernel_release}
1216 %depmod %{kernel_release}
1219 %depmod %{kernel_release}
1222 %depmod %{kernel_release}
1225 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1228 if [ "$1" = "0" ]; then
1229 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1230 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1231 rm -f %{_prefix}/src/linux%{_alt_kernel}
1236 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1237 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1238 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1240 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1241 if [ "$1" = 0 ]; then
1242 rm -f /lib/modules/%{kernel_release}/{build,source}
1246 %defattr(644,root,root,755)
1247 %ifarch sparc sparc64
1248 /boot/vmlinux.aout-%{kernel_release}
1251 /boot/efi/vmlinuz-%{kernel_release}
1253 /boot/vmlinuz-%{kernel_release}
1254 /boot/System.map-%{kernel_release}
1255 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1256 /lib/firmware/%{kernel_release}
1258 %dir /lib/modules/%{kernel_release}
1259 %dir /lib/modules/%{kernel_release}/kernel
1260 /lib/modules/%{kernel_release}/kernel/arch
1261 /lib/modules/%{kernel_release}/kernel/crypto
1262 /lib/modules/%{kernel_release}/kernel/drivers
1264 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1266 /lib/modules/%{kernel_release}/kernel/fs
1267 /lib/modules/%{kernel_release}/kernel/kernel
1268 /lib/modules/%{kernel_release}/kernel/lib
1269 /lib/modules/%{kernel_release}/kernel/net
1270 /lib/modules/%{kernel_release}/kernel/mm
1272 %dir /lib/modules/%{kernel_release}/kernel/sound
1273 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1274 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1276 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1277 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1278 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1281 %dir /lib/modules/%{kernel_release}/misc
1283 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1284 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1286 %if %{without rescuecd}
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1290 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1297 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1298 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1299 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1300 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1301 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1304 /lib/modules/%{kernel_release}/kernel/sound
1307 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1310 /lib/modules/%{kernel_release}/modules.order
1311 /lib/modules/%{kernel_release}/modules.builtin
1313 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1314 %ghost /lib/modules/%{kernel_release}/modules.alias
1315 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1316 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1317 %ghost /lib/modules/%{kernel_release}/modules.dep
1318 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1319 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1320 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1321 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1322 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1323 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1324 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1325 %ghost /lib/modules/%{kernel_release}/modules.symbols
1326 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1327 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1329 # symlinks pointing to kernelsrcdir
1330 %ghost /lib/modules/%{kernel_release}/build
1331 %ghost /lib/modules/%{kernel_release}/source
1333 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1335 %defattr(644,root,root,755)
1336 /boot/vmlinux-%{kernel_release}
1341 %defattr(644,root,root,755)
1342 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1347 %defattr(644,root,root,755)
1348 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1349 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1350 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1351 %if %{without rescuecd}
1352 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1353 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1354 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1355 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1357 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1360 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1361 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1362 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1363 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1364 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1365 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1370 %defattr(644,root,root,755)
1371 /lib/modules/%{kernel_release}/kernel/sound
1372 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1373 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1374 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1376 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1379 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1380 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1381 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1382 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1387 %defattr(644,root,root,755)
1388 /lib/modules/%{kernel_release}/kernel/sound/oss
1392 %files headers -f files.headers_exclude_kbuild
1393 %defattr(644,root,root,755)
1394 %dir %{_kernelsrcdir}
1395 %{_kernelsrcdir}/include
1396 %dir %{_kernelsrcdir}/arch
1397 %dir %{_kernelsrcdir}/arch/[!K]*
1398 %{_kernelsrcdir}/arch/*/include
1399 %dir %{_kernelsrcdir}/security
1400 %dir %{_kernelsrcdir}/security/selinux
1401 %{_kernelsrcdir}/security/selinux/include
1402 %{_kernelsrcdir}/config-dist
1403 %{_kernelsrcdir}/Module.symvers-dist
1405 %files module-build -f files.mb_include_modulebuild_and_dirs
1406 %defattr(644,root,root,755)
1408 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1410 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1411 %exclude %dir %{_kernelsrcdir}/arch/um
1412 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1413 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1414 %{_kernelsrcdir}/drivers/lguest/lg.h
1415 %{_kernelsrcdir}/kernel/bounds.c
1416 %dir %{_kernelsrcdir}/scripts
1417 %{_kernelsrcdir}/scripts/Kbuild.include
1418 %{_kernelsrcdir}/scripts/Makefile*
1419 %{_kernelsrcdir}/scripts/basic
1420 %{_kernelsrcdir}/scripts/kconfig
1421 %{_kernelsrcdir}/scripts/mkcompile_h
1422 %{_kernelsrcdir}/scripts/mkmakefile
1423 %{_kernelsrcdir}/scripts/mod
1424 %{_kernelsrcdir}/scripts/module-common.lds
1425 %{_kernelsrcdir}/scripts/setlocalversion
1426 %{_kernelsrcdir}/scripts/*.c
1427 %{_kernelsrcdir}/scripts/*.sh
1428 %dir %{_kernelsrcdir}/scripts/selinux
1429 %{_kernelsrcdir}/scripts/selinux/Makefile
1430 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1431 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1432 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1433 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1434 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1435 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1436 %exclude %dir %{_kernelsrcdir}/security
1437 %exclude %dir %{_kernelsrcdir}/security/selinux
1441 %defattr(644,root,root,755)
1442 %dir %{_docdir}/%{name}-%{version}
1444 %{_docdir}/%{name}-%{version}/[!jkz]*
1445 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1446 %{_docdir}/%{name}-%{version}/kbuild
1447 %{_docdir}/%{name}-%{version}/kdump
1448 %{_docdir}/%{name}-%{version}/kvm
1449 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1450 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1451 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1455 %files source -f files.source_exclude_modulebuild_and_dirs
1456 %defattr(644,root,root,755)
1457 %{_kernelsrcdir}/arch/*/[!Mik]*
1458 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1459 %{_kernelsrcdir}/arch/ia64/install.sh
1460 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1461 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1462 %{_kernelsrcdir}/arch/m68k/install.sh
1463 %{_kernelsrcdir}/arch/parisc/install.sh
1464 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1465 %{_kernelsrcdir}/arch/ia64/kvm
1466 %{_kernelsrcdir}/arch/powerpc/kvm
1468 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1470 %{_kernelsrcdir}/arch/s390/kvm
1471 %{_kernelsrcdir}/arch/x86/kvm
1472 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1473 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1474 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1475 %{_kernelsrcdir}/block
1476 %{_kernelsrcdir}/crypto
1477 %{_kernelsrcdir}/drivers
1478 %{_kernelsrcdir}/firmware
1480 %if %{with grsecurity} && %{without rescuecd}
1481 %{_kernelsrcdir}/grsecurity
1483 %{_kernelsrcdir}/init
1484 %{_kernelsrcdir}/ipc
1485 %{_kernelsrcdir}/kernel
1486 %exclude %{_kernelsrcdir}/kernel/bounds.c
1487 %{_kernelsrcdir}/lib
1489 %{_kernelsrcdir}/net
1490 %{_kernelsrcdir}/virt
1491 %{_kernelsrcdir}/samples
1492 %{_kernelsrcdir}/scripts/*
1493 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1494 %exclude %{_kernelsrcdir}/scripts/Makefile*
1495 %exclude %{_kernelsrcdir}/scripts/basic
1496 %exclude %{_kernelsrcdir}/scripts/kconfig
1497 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1498 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1499 %exclude %{_kernelsrcdir}/scripts/mod
1500 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1501 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1502 %exclude %{_kernelsrcdir}/scripts/*.c
1503 %exclude %{_kernelsrcdir}/scripts/*.sh
1504 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1505 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1506 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1507 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1508 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1509 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1510 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1511 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1512 %{_kernelsrcdir}/sound
1513 %{_kernelsrcdir}/security
1514 %exclude %{_kernelsrcdir}/security/selinux/include
1515 %{_kernelsrcdir}/tools
1516 %{_kernelsrcdir}/usr
1517 %{_kernelsrcdir}/COPYING
1518 %{_kernelsrcdir}/CREDITS
1519 %{_kernelsrcdir}/MAINTAINERS
1520 %{_kernelsrcdir}/README
1521 %{_kernelsrcdir}/REPORTING-BUGS