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 Source1: http://www.kernel.org/pub/linux/kernel/v3.0/patch-%{version}.bz2
145 # Source1-md5: 62ca5f3caed233617127b2b3b7a87d15
148 Source3: kernel-autoconf.h
149 Source4: kernel-config.h
150 Source6: kernel-config.awk
151 Source7: kernel-module-build.pl
152 Source8: kernel-track-config-change.awk
153 # not used by kernel.spec, but it's good to have it in SOURCES
154 Source9: kernel-config-sort.pl
155 Source10: kernel.make
157 Source20: kernel-multiarch.config
158 Source21: kernel-x86.config
159 Source22: kernel-sparc.config
160 Source23: kernel-alpha.config
161 Source24: kernel-powerpc.config
162 Source25: kernel-ia64.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
177 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
178 Patch3: kernel-fbcondecor.patch
179 Patch4: kernel-fbcon-margins.patch
180 Patch5: linux-wistron-amilo8210.patch
182 # netfilter related stuff mostly based on patch-o-matic-ng
183 # snapshot 20070806 with some fixes. Some modules
184 # were ported to nf_conntrack.
186 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
188 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
189 Patch22: kernel-pom-ng-rsh.patch
190 Patch23: kernel-pom-ng-rpc.patch
192 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
193 Patch36: kernel-nf_rtsp.patch
195 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
196 Patch37: kernel-owner-xid.patch
198 # based on kernel-2.6.25-layer7-2.20.patch from
199 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
200 Patch40: kernel-layer7.patch
204 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
205 Patch49: kernel-zph.patch
207 # based on http://www.linuximq.net/patchs/linux-2.6.39-imq-multiqueue-test1.diff.bz2
208 Patch50: kernel-imq.patch
210 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
211 Patch51: kernel-reiser4.patch
213 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
214 Patch52: kernel-wrr.patch
216 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
217 Patch53: kernel-esfq.patch
219 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
220 Patch54: kernel-toshiba_acpi.patch
222 # by Baggins request:
223 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
224 Patch55: kernel-atm-vbr.patch
225 Patch56: kernel-atmdd.patch
227 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
228 Patch59: kernel-rndis_host-wm5.patch
230 # Project suspend2 renamed to tuxonice
231 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
232 # NOTE: currently using own diff from tuxonice git tree until official patch is released
233 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-head.git
234 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-<basever>.git
235 # To produce patch: git diff upstream/master...tuxonice/combined
236 Patch69: kernel-tuxonice.patch
237 Patch70: kernel-tuxonice-headers.patch
239 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
240 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
241 Patch85: kernel-hostap.patch
243 # http://vserver.13thfloor.at/Experimental/patch-3.0.4-vs2.3.1-pre10.1.diff
244 Patch100: kernel-vserver-2.3.patch
245 Patch101: kernel-vserver-fixes.patch
247 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
248 # Fix verified for that kernel version.
249 Patch130: kernel-forcedeth-WON.patch
251 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.38-rc7.diff.gz
252 Patch140: kernel-unionfs.patch
254 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
256 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
257 # cd aufs3-standalone
258 # git checkout -b aufs3.0 origin/aufs3.0
259 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
261 # cp -a Documentation fs include linux
262 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
264 Patch145: kernel-aufs3.patch
265 Patch146: kernel-aufs2-unionfs.patch
266 Patch147: kernel-aufs2-no-const-grsec.patch
267 Patch148: kernel-aufs2-reiser4.patch
269 # Show normal colors in menuconfig with ncurses ABI 6
270 Patch250: kernel-fix_256colors_menuconfig.patch
272 # https://patchwork.kernel.org/patch/236261/
273 Patch400: kernel-virtio-gl-accel.patch
275 Patch2000: kernel-small_fixes.patch
276 Patch2001: kernel-pwc-uncompress.patch
277 Patch2003: kernel-regressions.patch
279 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
280 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
281 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
282 Patch5000: kernel-apparmor.patch
285 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
286 Patch7000: kernel-inittmpfs.patch
288 # based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.0.4-201109011725.patch
289 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
290 # (since upstream deletes older patches)
291 Patch9999: kernel-grsec_full.patch
292 Patch10000: kernel-grsec-caps.patch
293 Patch10001: kernel-grsec-common.patch
294 Patch10002: kernel-grsec_fixes.patch
296 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
297 # kernel.spec every time.
298 #Patch50000: kernel-usb_reset.patch
300 URL: http://www.kernel.org/
301 BuildRequires: binutils >= 3:2.18
302 %ifarch sparc sparc64
303 BuildRequires: elftoaout
306 BuildRequires: uboot-mkimage
308 BuildRequires: /sbin/depmod
309 BuildRequires: gcc >= 5:3.2
310 BuildRequires: xz >= 1:4.999.7
312 BuildRequires: hostname
313 BuildRequires: module-init-tools >= %{module_init_tools_ver}
314 BuildRequires: perl-base
315 BuildRequires: rpm-build >= 4.5-24
316 BuildRequires: rpmbuild(macros) >= 1.217
317 Requires(post): coreutils
318 Requires(post): geninitrd >= 10000-3
319 Requires(post): module-init-tools >= %{module_init_tools_ver}
320 Requires: /sbin/depmod
322 Requires: geninitrd >= 10000-3
323 Requires: module-init-tools >= %{module_init_tools_ver}
325 Provides: %{name}(netfilter) = 20070806
326 Provides: %{name}(vermagic) = %{kernel_release}
327 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
328 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
329 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
330 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
331 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
332 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
333 Obsoletes: kernel-firmware
334 Obsoletes: kernel-misc-acer_acpi
335 Obsoletes: kernel-misc-fuse
336 Obsoletes: kernel-misc-uvc
337 Obsoletes: kernel-modules
338 Obsoletes: kernel-net-ar81
339 Obsoletes: kernel-net-hostap
340 Obsoletes: kernel-net-ieee80211
341 Obsoletes: kernel-net-ipp2p
342 Obsoletes: kernel-net-rt61
343 Obsoletes: kernel-smp
344 Conflicts: e2fsprogs < 1.29
345 Conflicts: isdn4k-utils < 3.1pre1
346 Conflicts: jfsutils < 1.1.3
347 Conflicts: lvm2 < 2.02.40
348 Conflicts: nfs-utils < 1.0.5
349 Conflicts: oprofile < 0.9
350 Conflicts: ppp < 1:2.4.0
351 Conflicts: procps < 3.2.0
352 Conflicts: quota-tools < 3.09
353 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
354 Conflicts: reiserfsprogs < 3.6.3
355 Conflicts: rpm < 4.4.2-0.2
356 Conflicts: udev < 1:081
357 Conflicts: util-linux < 2.10o
358 Conflicts: util-vserver < 0.30.216
359 Conflicts: xfsprogs < 2.6.0
361 ExcludeArch: i386 i486 i586
363 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
366 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
368 %ifarch %{ix86} %{x8664}
369 %define target_arch_dir x86
372 %define target_arch_dir powerpc
374 %ifarch sparc sparc64
375 %define target_arch_dir sparc
377 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
378 %define target_arch_dir %{_target_base_arch}
381 %define defconfig arch/%{target_arch_dir}/defconfig
383 # No ELF objects there to strip (skips processing 27k files)
384 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
385 %define _noautochrpath .*%{_kernelsrcdir}/.*
388 %define initrd_dir /boot/efi
390 %define initrd_dir /boot
393 %define topdir %{_builddir}/%{name}-%{version}
394 %define srcdir %{topdir}/linux-%{basever}
395 %define objdir %{topdir}/%{targetobj}
396 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
398 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
400 %if "%{_target_base_arch}" != "%{_arch}"
401 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
402 %define DepMod /bin/true
404 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
405 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
406 %define DepMod /sbin/depmod
409 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
410 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
411 %define DepMod /sbin/depmod
414 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
415 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
416 %define DepMod /sbin/depmod
419 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
420 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
424 %define CrossOpts ARCH=powerpc CC="%{__cc}"
426 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
428 %define DepMod /sbin/depmod
430 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
433 %{?with_grsecurity:Grsecurity support - enabled}\
434 %{?with_pax:PaX support - enabled}\
435 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
436 %{?with_nfsroot:Root on NFS - enabled}\
438 %define Features %(echo "%{__features}" | sed '/^$/d')
441 This package contains the Linux kernel that is used to boot and run
442 your system. It contains few device drivers for specific hardware.
443 Most hardware is instead supported by modules loaded after booting.
447 %description -l de.UTF-8
448 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
449 Linux-Betriebssystems. Der Kernel ist für grundliegende
450 Systemfunktionen verantwortlich: Speicherreservierung,
451 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
455 %description -l fr.UTF-8
456 Le package kernel contient le kernel linux (vmlinuz), la partie
457 centrale d'un système d'exploitation Linux. Le noyau traite les
458 fonctions basiques d'un système d'exploitation: allocation mémoire,
459 allocation de process, entrée/sortie de peripheriques, etc.
463 %description -l pl.UTF-8
464 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
465 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
466 się w komputerze, takiego jak sterowniki dysków itp.
471 Summary: vmlinux - uncompressed kernel image
472 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
473 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
475 Obsoletes: kernel-smp-vmlinux
478 vmlinux - uncompressed kernel image.
480 %description vmlinux -l de.UTF-8
481 vmlinux - dekompressiertes Kernel Bild.
483 %description vmlinux -l pl.UTF-8
484 vmlinux - rozpakowany obraz jÄ…dra.
487 Summary: DRM kernel modules
488 Summary(de.UTF-8): DRM Kernel Treiber
489 Summary(pl.UTF-8): Sterowniki DRM
491 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
492 Requires: %{name} = %{epoch}:%{version}-%{release}
493 Obsoletes: kernel-smp-drm
499 %description drm -l de.UTF-8
502 %description drm -l pl.UTF-8
506 Summary: PCMCIA modules
507 Summary(de.UTF-8): PCMCIA Module
508 Summary(pl.UTF-8): Moduły PCMCIA
510 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
511 Requires: %{name} = %{epoch}:%{version}-%{release}
512 Obsoletes: kernel-smp-pcmcia
513 Conflicts: pcmcia-cs < 3.1.21
514 Conflicts: pcmciautils < 004
520 %description pcmcia -l de.UTF-8
523 %description pcmcia -l pl.UTF-8
527 Summary: ALSA kernel modules
528 Summary(de.UTF-8): ALSA Kernel Module
529 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
531 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
532 Requires: %{name} = %{epoch}:%{version}-%{release}
533 Obsoletes: kernel-smp-sound-alsa
536 %description sound-alsa
537 ALSA (Advanced Linux Sound Architecture) sound drivers.
539 %description sound-alsa -l de.UTF-8
540 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
542 %description sound-alsa -l pl.UTF-8
543 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
546 Summary: OSS kernel modules
547 Summary(de.UTF-8): OSS Kernel Module
548 Summary(pl.UTF-8): Sterowniki dźwięku OSS
550 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
551 Requires: %{name} = %{epoch}:%{version}-%{release}
552 Obsoletes: kernel-smp-sound-oss
555 %description sound-oss
556 OSS (Open Sound System) drivers.
558 %description sound-oss -l de.UTF-8
559 OSS (Open Sound System) Treiber.
561 %description sound-oss -l pl.UTF-8
562 Sterowniki dźwięku OSS (Open Sound System).
565 Summary: Header files for the Linux kernel
566 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
567 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
568 Group: Development/Building
569 Provides: %{name}-headers(netfilter) = 20070806
573 These are the C header files for the Linux kernel, which define
574 structures and constants that are needed when rebuilding the kernel or
575 building kernel modules.
577 %description headers -l de.UTF-8
578 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
579 Strukturen und Konstante beinhalten, die beim rekompilieren des
580 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
582 %description headers -l pl.UTF-8
583 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
584 oraz budowania modułów jądra.
586 %package module-build
587 Summary: Development files for building kernel modules
588 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
589 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
590 Group: Development/Building
591 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
592 Conflicts: rpmbuild(macros) < 1.619
595 %description module-build
596 Development files from kernel source tree needed to build Linux kernel
597 modules from external packages.
599 %description module-build -l de.UTF-8
600 Development Dateien des Linux-Kernels die beim kompilieren externer
601 Kernel Module gebraucht werden.
603 %description module-build -l pl.UTF-8
604 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
605 Linuksa z zewnętrznych pakietów.
608 Summary: Kernel source tree
609 Summary(de.UTF-8): Der Kernel Quelltext
610 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
611 Group: Development/Building
612 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
616 This is the source code for the Linux kernel. You can build a custom
617 kernel that is better tuned to your particular hardware.
619 %description source -l de.UTF-8
620 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
621 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
622 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
623 im Kernel-Source definiert sind. Die Source-Dateien können auch
624 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
625 Hardware ausgerichtet ist.
627 %description source -l fr.UTF-8
628 Le package pour le kernel-source contient le code source pour le noyau
629 linux. Ces sources sont nécessaires pour compiler la plupart des
630 programmes C, car il dépend de constantes définies dans le code
631 source. Les sources peuvent être aussi utilisée pour compiler un noyau
632 personnalisé pour avoir de meilleures performances sur des matériels
635 %description source -l pl.UTF-8
636 Pakiet zawiera kod źródłowy jądra systemu.
639 Summary: Kernel documentation
640 Summary(de.UTF-8): Kernel Dokumentation
641 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
646 This is the documentation for the Linux kernel, as found in
647 /usr/src/linux/Documentation directory.
649 %description doc -l de.UTF-8
650 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
651 Verzeichniss vorgefunden werden kann.
653 %description doc -l pl.UTF-8
654 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
655 /usr/src/linux/Documentation.
659 ln -s %{SOURCE7} kernel-module-build.pl
660 ln -s %{SOURCE10} Makefile
663 # hack against warning in pax/grsec
664 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
666 %if "%{postver}" != ".0"
667 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
670 %if %{without vanilla}
678 %if %{with fbcondecor}
687 # kernel-pom-ng-IPV4OPTSSTRIP.patch
690 # kernel-pom-ng-mms-conntrack-nat.patch
693 # kernel-pom-ng-rsh.patch
696 # kernel-pom-ng-rpc.patch
699 # kernel-nf_rtsp.patch
702 # kernel-owner-xid.patch
707 # kernel-layer7.patch
740 # kernel-rndis_host-wm5.patch
743 # hostap enhancements from/for aircrack-ng
769 # grsecurity & pax stuff
772 %if %{with grsecurity}
776 %{?with_vserver:%patch10000 -p1}
777 %{?with_vserver:%patch10001 -p1}
778 %{?with_vserver:%patch10002 -p1}
781 # end of grsecurity & pax stuff
798 # Do not remove this, please!
801 # Fix EXTRAVERSION in main Makefile
802 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
804 # cleanup backups after patching
805 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
809 cat > %{targetobj}.mk <<'EOF'
810 # generated by %{name}.spec
811 KERNELSRC := %{srcdir}
812 KERNELOUTPUT := %{objdir}
814 SRCARCH := %{target_arch_dir}
815 ARCH := %{_target_base_arch}
816 Q := %{!?with_verbose:@}
817 MAKE_OPTS := %{MakeOpts}
818 DEFCONFIG := %{defconfig}
825 CONFIG_PAX_SEGMEXEC=y
826 # performance impact on CPUs without NX bit
827 CONFIG_PAX_PAGEEXEC=n
830 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
836 CONFIG_PAX_NOELFRELOCS=n
839 CONFIG_PAX_EMUTRAMP=y
840 CONFIG_PAX_EMUSIGRT=y
844 %ifarch sparc sparc64 alpha
848 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
849 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
850 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
851 # PAX_HOOK_ACL_FLAGS.
853 %if %{with grsecurity}
854 # Hardening grsec options if with pax
855 CONFIG_GRKERNSEC_PROC_MEMMAP=y
856 # almost rational (see HIDESYM help)
857 CONFIG_GRKERNSEC_HIDESYM=y
859 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
861 CONFIG_PAX_HAVE_ACL_FLAGS=n
862 CONFIG_PAX_HOOK_ACL_FLAGS=y
872 # CONFIG_SOUND is not set
873 # CONFIG_AUDIT is not set
874 # CONFIG_TR is not set
875 # CONFIG_BT is not set
876 # CONFIG_VIDEO_DEV is not set
877 # CONFIG_DVB_CORE is not set
878 # CONFIG_HAMRADIO is not set
879 # CONFIG_ARCNET is not set
880 # CONFIG_FB is not set
881 # CONFIG_DRM is not set
882 # CONFIG_WATCHDOG is not set
883 # CONFIG_INPUT_JOYSTICK is not set
884 # CONFIG_DEBUG_KERNEL is not set
885 # CONFIG_ISDN is not set
886 # CONFIG_AGP is not set
887 # CONFIG_SECURITY is not set
888 # CONFIG_PARIDE is not set
889 # CONFIG_CPU_FREQ is not set
890 # CONFIG_GAMEPORT is not set
891 # CONFIG_KVM is not set
892 # CONFIG_PHONE is not set
893 # CONFIG_STRICT_DEVMEM is not set
894 # CONFIG_IMA is not set
897 CONFIG_AUFS_BR_RAMFS=y
899 CONFIG_BLK_DEV_LOOP=y
912 Config="kernel-%{target_arch_dir}.config"
913 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
915 # prepare local and important options
916 cat <<-EOCONFIG > important.config
917 LOCALVERSION="-%{localversion}"
921 CONFIG_DEBUG_SLAB_LEAK=y
922 CONFIG_DEBUG_PREEMPT=y
923 CONFIG_RT_DEADLOCK_DETECT=y
930 %ifarch i686 athlon pentium3 pentium4
939 %if %{without pcmcia}
943 %if %{with fbcondecor}
947 CONFIG_FB_TILEBLITTING=n
948 CONFIG_FB_CON_DECOR=y
956 # Temporary disabled RELOCATABLE. Needed only on x86??
957 %if %{with pax} || %{with grsecurity}
963 RescueConfig rescue.config
969 # prepare kernel-style config file from multiple config files
970 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
972 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
975 %if %{without vanilla}
986 %if %{with grsecurity}
1004 %if %{with tuxonice}
1005 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1009 %{SOURCE41} %{?0:patches} \
1012 $RPM_SOURCE_DIR/$Config
1016 install -d arch/%{target_arch_dir}
1017 BuildConfig > %{defconfig}
1018 ln -sf %{defconfig} .config
1022 TARGETOBJ=%{targetobj} \
1023 %{?with_verbose:V=1} \
1026 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1030 TARGETOBJ=%{targetobj} \
1031 %{?with_verbose:V=1} \
1035 rm -rf $RPM_BUILD_ROOT
1036 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1038 %{?with_verbose:V=1} \
1040 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1041 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1042 KERNELRELEASE=%{kernel_release}
1044 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1046 # create directories which may be missing, to simplyfy %files
1047 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1049 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1050 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1051 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1053 # no point embed content for %ghost files. empty them
1060 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1062 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1063 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1067 install -d $RPM_BUILD_ROOT/boot
1068 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1069 %ifarch %{ix86} %{x8664}
1070 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1071 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1074 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1075 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1078 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1079 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1080 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1082 %ifarch alpha sparc sparc64
1083 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1084 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1085 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1087 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1088 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1091 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1092 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1096 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1100 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1102 %if "%{_target_base_arch}" != "%{_arch}"
1103 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1107 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1110 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1111 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1113 rm -f $RPM_BUILD_ROOT/COPYING
1116 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1117 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1118 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1119 cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
1120 mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
1121 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1122 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1123 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1125 # collect module-build files and directories
1126 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1128 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1129 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1132 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1133 install -d $RPM_BUILD_ROOT%{_docdir}
1134 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1136 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1137 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1138 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1139 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1142 rm -rf $RPM_BUILD_ROOT
1145 if [ -x /sbin/new-kernel-pkg ]; then
1146 /sbin/new-kernel-pkg --remove %{kernel_release}
1151 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1152 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1153 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1154 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1156 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1157 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1158 mv -f /boot/System.map{,.old} 2> /dev/null
1159 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1160 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1161 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1162 ln -sf System.map-%{kernel_release} /boot/System.map
1163 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1165 %depmod %{kernel_release}
1168 # generate initrd after all dependant modules are installed
1169 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1170 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1171 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1172 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1173 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1175 # update boot loaders when old package files are gone from filesystem
1176 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1177 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1178 /sbin/update-grub >/dev/null
1181 if [ -x /sbin/new-kernel-pkg ]; then
1182 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1184 if [ -x /sbin/rc-boot ]; then
1185 /sbin/rc-boot 1>&2 || :
1189 mv -f /boot/vmlinux{,.old} 2> /dev/null
1190 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1191 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1192 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1195 %depmod %{kernel_release}
1198 %depmod %{kernel_release}
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 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1222 if [ "$1" = "0" ]; then
1223 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1224 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1225 rm -f %{_prefix}/src/linux%{_alt_kernel}
1230 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1231 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1232 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1234 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1235 if [ "$1" = 0 ]; then
1236 rm -f /lib/modules/%{kernel_release}/{build,source}
1240 %defattr(644,root,root,755)
1241 %ifarch sparc sparc64
1242 /boot/vmlinux.aout-%{kernel_release}
1245 /boot/efi/vmlinuz-%{kernel_release}
1247 /boot/vmlinuz-%{kernel_release}
1248 /boot/System.map-%{kernel_release}
1249 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1250 /lib/firmware/%{kernel_release}
1252 %dir /lib/modules/%{kernel_release}
1253 %dir /lib/modules/%{kernel_release}/kernel
1254 /lib/modules/%{kernel_release}/kernel/arch
1255 /lib/modules/%{kernel_release}/kernel/crypto
1256 /lib/modules/%{kernel_release}/kernel/drivers
1258 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1260 /lib/modules/%{kernel_release}/kernel/fs
1261 /lib/modules/%{kernel_release}/kernel/kernel
1262 /lib/modules/%{kernel_release}/kernel/lib
1263 /lib/modules/%{kernel_release}/kernel/net
1264 /lib/modules/%{kernel_release}/kernel/mm
1266 %dir /lib/modules/%{kernel_release}/kernel/sound
1267 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1268 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1270 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1271 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1272 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1275 %dir /lib/modules/%{kernel_release}/misc
1277 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1278 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1279 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1280 %if %{without rescuecd}
1281 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1282 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1283 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1284 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1286 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1290 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1298 /lib/modules/%{kernel_release}/kernel/sound
1300 /lib/modules/%{kernel_release}/kernel/security
1302 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1305 /lib/modules/%{kernel_release}/modules.order
1306 /lib/modules/%{kernel_release}/modules.builtin*
1308 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1309 %ghost /lib/modules/%{kernel_release}/modules.alias
1310 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1311 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1312 %ghost /lib/modules/%{kernel_release}/modules.dep
1313 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1314 %ghost /lib/modules/%{kernel_release}/modules.devname
1315 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1316 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1317 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1318 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1319 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1320 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1321 %ghost /lib/modules/%{kernel_release}/modules.softdep
1322 %ghost /lib/modules/%{kernel_release}/modules.symbols
1323 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1324 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1326 # symlinks pointing to kernelsrcdir
1327 %ghost /lib/modules/%{kernel_release}/build
1328 %ghost /lib/modules/%{kernel_release}/source
1330 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1332 %defattr(644,root,root,755)
1333 /boot/vmlinux-%{kernel_release}
1338 %defattr(644,root,root,755)
1339 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1344 %defattr(644,root,root,755)
1345 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1346 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1347 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1348 %if %{without rescuecd}
1349 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1350 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1351 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1352 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1354 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1355 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1356 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1357 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1358 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1360 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1361 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1362 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1367 %defattr(644,root,root,755)
1368 /lib/modules/%{kernel_release}/kernel/sound
1369 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1370 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1371 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1373 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1376 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1377 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1378 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1379 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1384 %defattr(644,root,root,755)
1385 /lib/modules/%{kernel_release}/kernel/sound/oss
1389 %files headers -f files.headers_exclude_kbuild
1390 %defattr(644,root,root,755)
1391 %dir %{_kernelsrcdir}
1392 %{_kernelsrcdir}/include
1393 %dir %{_kernelsrcdir}/arch
1394 %dir %{_kernelsrcdir}/arch/[!K]*
1395 %{_kernelsrcdir}/arch/*/include
1396 %dir %{_kernelsrcdir}/security
1397 %dir %{_kernelsrcdir}/security/selinux
1398 %{_kernelsrcdir}/security/selinux/include
1399 %{_kernelsrcdir}/config-dist
1400 %{_kernelsrcdir}/Module.symvers-dist
1402 %files module-build -f files.mb_include_modulebuild_and_dirs
1403 %defattr(644,root,root,755)
1405 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1407 %exclude %dir %{_kernelsrcdir}/arch/um
1408 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1409 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1410 %{_kernelsrcdir}/drivers/lguest/lg.h
1411 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1412 %{_kernelsrcdir}/kernel/bounds.c
1413 %dir %{_kernelsrcdir}/scripts
1414 %{_kernelsrcdir}/scripts/Kbuild.include
1415 %{_kernelsrcdir}/scripts/Makefile*
1416 %{_kernelsrcdir}/scripts/basic
1417 %{_kernelsrcdir}/scripts/kconfig
1418 %{_kernelsrcdir}/scripts/mkcompile_h
1419 %{_kernelsrcdir}/scripts/mkmakefile
1420 %{_kernelsrcdir}/scripts/mod
1421 %{_kernelsrcdir}/scripts/module-common.lds
1422 %{_kernelsrcdir}/scripts/setlocalversion
1423 %{_kernelsrcdir}/scripts/*.c
1424 %{_kernelsrcdir}/scripts/*.sh
1425 %dir %{_kernelsrcdir}/scripts/selinux
1426 %{_kernelsrcdir}/scripts/selinux/Makefile
1427 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1428 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1429 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1430 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1431 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1432 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1433 %exclude %dir %{_kernelsrcdir}/security
1434 %exclude %dir %{_kernelsrcdir}/security/selinux
1435 %if %{with grsecurity}
1436 %{_kernelsrcdir}/tools/gcc/*.c
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 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1449 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1450 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1454 %files source -f files.source_exclude_modulebuild_and_dirs
1455 %defattr(644,root,root,755)
1456 %{_kernelsrcdir}/arch/*/[!Mik]*
1457 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1458 %{_kernelsrcdir}/arch/ia64/install.sh
1459 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1460 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1461 %{_kernelsrcdir}/arch/m68k/install.sh
1462 %{_kernelsrcdir}/arch/parisc/install.sh
1463 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1464 %{_kernelsrcdir}/arch/ia64/kvm
1465 %{_kernelsrcdir}/arch/powerpc/kvm
1467 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1469 %{_kernelsrcdir}/arch/s390/kvm
1470 %{_kernelsrcdir}/arch/x86/kvm
1471 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1472 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1473 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1474 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.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 %if %{with grsecurity}
1517 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1519 %{_kernelsrcdir}/usr
1520 %{_kernelsrcdir}/COPYING
1521 %{_kernelsrcdir}/CREDITS
1522 %{_kernelsrcdir}/MAINTAINERS
1523 %{_kernelsrcdir}/README
1524 %{_kernelsrcdir}/REPORTING-BUGS