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.x/linux-%{basever}.tar.xz
142 # Source0-md5: edbdc798f23ae0f8045c82f6fa22c536
143 %if "%{postver}" != ".0"
144 Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
145 # Patch0-md5: 7526abc1f3df0506c71e0918ffaedb11
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.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.10_for_3.1.0-rc4.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.7-201110200052.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
667 %if "%{postver}" != ".0"
671 %if %{without vanilla}
679 %if %{with fbcondecor}
688 # kernel-pom-ng-IPV4OPTSSTRIP.patch
691 # kernel-pom-ng-mms-conntrack-nat.patch
694 # kernel-pom-ng-rsh.patch
697 # kernel-pom-ng-rpc.patch
700 # kernel-nf_rtsp.patch
703 # kernel-owner-xid.patch
708 # kernel-layer7.patch
741 # kernel-rndis_host-wm5.patch
744 # hostap enhancements from/for aircrack-ng
770 # grsecurity & pax stuff
773 %if %{with grsecurity}
777 %{?with_vserver:%patch10000 -p1}
778 %{?with_vserver:%patch10001 -p1}
779 %{?with_vserver:%patch10002 -p1}
782 # end of grsecurity & pax stuff
799 # Do not remove this, please!
802 # Fix EXTRAVERSION in main Makefile
803 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
805 # cleanup backups after patching
806 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
810 cat > %{targetobj}.mk <<'EOF'
811 # generated by %{name}.spec
812 KERNELSRC := %{srcdir}
813 KERNELOUTPUT := %{objdir}
815 SRCARCH := %{target_arch_dir}
816 ARCH := %{_target_base_arch}
817 Q := %{!?with_verbose:@}
818 MAKE_OPTS := %{MakeOpts}
819 DEFCONFIG := %{defconfig}
826 CONFIG_PAX_SEGMEXEC=y
827 # performance impact on CPUs without NX bit
828 CONFIG_PAX_PAGEEXEC=n
831 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
837 CONFIG_PAX_NOELFRELOCS=n
840 CONFIG_PAX_EMUTRAMP=y
841 CONFIG_PAX_EMUSIGRT=y
845 %ifarch sparc sparc64 alpha
849 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
850 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
851 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
852 # PAX_HOOK_ACL_FLAGS.
854 %if %{with grsecurity}
855 # Hardening grsec options if with pax
856 CONFIG_GRKERNSEC_PROC_MEMMAP=y
857 # almost rational (see HIDESYM help)
858 CONFIG_GRKERNSEC_HIDESYM=y
860 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
862 CONFIG_PAX_HAVE_ACL_FLAGS=n
863 CONFIG_PAX_HOOK_ACL_FLAGS=y
873 # CONFIG_SOUND is not set
874 # CONFIG_AUDIT is not set
875 # CONFIG_TR is not set
876 # CONFIG_BT is not set
877 # CONFIG_VIDEO_DEV is not set
878 # CONFIG_DVB_CORE is not set
879 # CONFIG_HAMRADIO is not set
880 # CONFIG_ARCNET is not set
881 # CONFIG_FB is not set
882 # CONFIG_DRM is not set
883 # CONFIG_WATCHDOG is not set
884 # CONFIG_INPUT_JOYSTICK is not set
885 # CONFIG_DEBUG_KERNEL is not set
886 # CONFIG_ISDN is not set
887 # CONFIG_AGP is not set
888 # CONFIG_SECURITY is not set
889 # CONFIG_PARIDE is not set
890 # CONFIG_CPU_FREQ is not set
891 # CONFIG_GAMEPORT is not set
892 # CONFIG_KVM is not set
893 # CONFIG_PHONE is not set
894 # CONFIG_STRICT_DEVMEM is not set
895 # CONFIG_IMA is not set
898 CONFIG_AUFS_BR_RAMFS=y
900 CONFIG_BLK_DEV_LOOP=y
913 Config="kernel-%{target_arch_dir}.config"
914 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
916 # prepare local and important options
917 cat <<-EOCONFIG > important.config
918 LOCALVERSION="-%{localversion}"
922 CONFIG_DEBUG_SLAB_LEAK=y
923 CONFIG_DEBUG_PREEMPT=y
924 CONFIG_RT_DEADLOCK_DETECT=y
931 %ifarch i686 athlon pentium3 pentium4
940 %if %{without pcmcia}
944 %if %{with fbcondecor}
948 CONFIG_FB_TILEBLITTING=n
949 CONFIG_FB_CON_DECOR=y
957 # Temporary disabled RELOCATABLE. Needed only on x86??
958 %if %{with pax} || %{with grsecurity}
964 RescueConfig rescue.config
970 # prepare kernel-style config file from multiple config files
971 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
973 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
976 %if %{without vanilla}
987 %if %{with grsecurity}
1005 %if %{with tuxonice}
1006 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1010 %{SOURCE41} %{?0:patches} \
1013 $RPM_SOURCE_DIR/$Config
1017 install -d arch/%{target_arch_dir}
1018 BuildConfig > %{defconfig}
1019 ln -sf %{defconfig} .config
1023 TARGETOBJ=%{targetobj} \
1024 %{?with_verbose:V=1} \
1027 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1031 TARGETOBJ=%{targetobj} \
1032 %{?with_verbose:V=1} \
1036 rm -rf $RPM_BUILD_ROOT
1037 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1039 %{?with_verbose:V=1} \
1041 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1042 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1043 KERNELRELEASE=%{kernel_release}
1045 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1047 # create directories which may be missing, to simplyfy %files
1048 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1050 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1051 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1052 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1054 # no point embed content for %ghost files. empty them
1061 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1063 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1064 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1068 install -d $RPM_BUILD_ROOT/boot
1069 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1070 %ifarch %{ix86} %{x8664}
1071 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1072 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1075 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1076 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1079 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1080 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1081 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1083 %ifarch alpha sparc sparc64
1084 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1085 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1086 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1088 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1089 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1092 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1093 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1097 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1101 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1103 %if "%{_target_base_arch}" != "%{_arch}"
1104 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1108 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1111 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1113 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1114 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1116 rm -f $RPM_BUILD_ROOT/COPYING
1119 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1120 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1121 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1122 cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
1123 mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
1124 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1125 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1126 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1128 # collect module-build files and directories
1129 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1131 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1132 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1135 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1136 install -d $RPM_BUILD_ROOT%{_docdir}
1137 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1139 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1140 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1141 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1142 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1145 rm -rf $RPM_BUILD_ROOT
1148 if [ -x /sbin/new-kernel-pkg ]; then
1149 /sbin/new-kernel-pkg --remove %{kernel_release}
1154 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1155 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1156 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1157 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1159 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1160 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1161 mv -f /boot/System.map{,.old} 2> /dev/null
1162 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1163 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1164 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1165 ln -sf System.map-%{kernel_release} /boot/System.map
1166 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1168 %depmod %{kernel_release}
1171 # generate initrd after all dependant modules are installed
1172 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1173 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1174 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1175 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1176 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1178 # update boot loaders when old package files are gone from filesystem
1179 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1180 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1181 /sbin/update-grub >/dev/null
1184 if [ -x /sbin/new-kernel-pkg ]; then
1185 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1187 if [ -x /sbin/rc-boot ]; then
1188 /sbin/rc-boot 1>&2 || :
1192 mv -f /boot/vmlinux{,.old} 2> /dev/null
1193 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1194 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1195 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
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 %depmod %{kernel_release}
1222 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1225 if [ "$1" = "0" ]; then
1226 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1227 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1228 rm -f %{_prefix}/src/linux%{_alt_kernel}
1233 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1234 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1235 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1237 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1238 if [ "$1" = 0 ]; then
1239 rm -f /lib/modules/%{kernel_release}/{build,source}
1243 %defattr(644,root,root,755)
1244 %ifarch sparc sparc64
1245 /boot/vmlinux.aout-%{kernel_release}
1248 /boot/efi/vmlinuz-%{kernel_release}
1250 /boot/vmlinuz-%{kernel_release}
1251 /boot/System.map-%{kernel_release}
1252 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1253 /lib/firmware/%{kernel_release}
1255 %dir /lib/modules/%{kernel_release}
1256 %dir /lib/modules/%{kernel_release}/kernel
1257 /lib/modules/%{kernel_release}/kernel/arch
1258 /lib/modules/%{kernel_release}/kernel/crypto
1259 /lib/modules/%{kernel_release}/kernel/drivers
1261 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1263 /lib/modules/%{kernel_release}/kernel/fs
1264 /lib/modules/%{kernel_release}/kernel/kernel
1265 /lib/modules/%{kernel_release}/kernel/lib
1266 /lib/modules/%{kernel_release}/kernel/net
1267 /lib/modules/%{kernel_release}/kernel/mm
1269 %dir /lib/modules/%{kernel_release}/kernel/sound
1270 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1271 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1273 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1274 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1275 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1278 %dir /lib/modules/%{kernel_release}/misc
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1281 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1282 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1283 %if %{without rescuecd}
1284 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1286 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1297 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1298 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1301 /lib/modules/%{kernel_release}/kernel/sound
1303 /lib/modules/%{kernel_release}/kernel/security
1305 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1308 /lib/modules/%{kernel_release}/modules.order
1309 /lib/modules/%{kernel_release}/modules.builtin*
1311 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1312 %ghost /lib/modules/%{kernel_release}/modules.alias
1313 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1314 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1315 %ghost /lib/modules/%{kernel_release}/modules.dep
1316 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1317 %ghost /lib/modules/%{kernel_release}/modules.devname
1318 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1319 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1320 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1321 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1322 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1323 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1324 %ghost /lib/modules/%{kernel_release}/modules.softdep
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/tty/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/um
1411 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1412 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1413 %{_kernelsrcdir}/drivers/lguest/lg.h
1414 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.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
1438 %if %{with grsecurity}
1439 %{_kernelsrcdir}/tools/gcc/*.c
1444 %defattr(644,root,root,755)
1445 %dir %{_docdir}/%{name}-%{version}
1447 %{_docdir}/%{name}-%{version}/[!jkz]*
1448 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1449 %{_docdir}/%{name}-%{version}/kbuild
1450 %{_docdir}/%{name}-%{version}/kdump
1451 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1452 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1453 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1457 %files source -f files.source_exclude_modulebuild_and_dirs
1458 %defattr(644,root,root,755)
1459 %{_kernelsrcdir}/arch/*/[!Mik]*
1460 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1461 %{_kernelsrcdir}/arch/ia64/install.sh
1462 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1463 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1464 %{_kernelsrcdir}/arch/m68k/install.sh
1465 %{_kernelsrcdir}/arch/parisc/install.sh
1466 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1467 %{_kernelsrcdir}/arch/ia64/kvm
1468 %{_kernelsrcdir}/arch/powerpc/kvm
1470 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1472 %{_kernelsrcdir}/arch/s390/kvm
1473 %{_kernelsrcdir}/arch/x86/kvm
1474 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1475 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1476 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1477 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1478 %{_kernelsrcdir}/block
1479 %{_kernelsrcdir}/crypto
1480 %{_kernelsrcdir}/drivers
1481 %{_kernelsrcdir}/firmware
1483 %if %{with grsecurity} && %{without rescuecd}
1484 %{_kernelsrcdir}/grsecurity
1486 %{_kernelsrcdir}/init
1487 %{_kernelsrcdir}/ipc
1488 %{_kernelsrcdir}/kernel
1489 %exclude %{_kernelsrcdir}/kernel/bounds.c
1490 %{_kernelsrcdir}/lib
1492 %{_kernelsrcdir}/net
1493 %{_kernelsrcdir}/virt
1494 %{_kernelsrcdir}/samples
1495 %{_kernelsrcdir}/scripts/*
1496 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1497 %exclude %{_kernelsrcdir}/scripts/Makefile*
1498 %exclude %{_kernelsrcdir}/scripts/basic
1499 %exclude %{_kernelsrcdir}/scripts/kconfig
1500 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1501 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1502 %exclude %{_kernelsrcdir}/scripts/mod
1503 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1504 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1505 %exclude %{_kernelsrcdir}/scripts/*.c
1506 %exclude %{_kernelsrcdir}/scripts/*.sh
1507 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1508 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1509 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1510 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1511 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1512 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1513 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1514 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1515 %{_kernelsrcdir}/sound
1516 %{_kernelsrcdir}/security
1517 %exclude %{_kernelsrcdir}/security/selinux/include
1518 %{_kernelsrcdir}/tools/*
1519 %if %{with grsecurity}
1520 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1522 %{_kernelsrcdir}/usr
1523 %{_kernelsrcdir}/COPYING
1524 %{_kernelsrcdir}/CREDITS
1525 %{_kernelsrcdir}/MAINTAINERS
1526 %{_kernelsrcdir}/README
1527 %{_kernelsrcdir}/REPORTING-BUGS