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-firmware
329 Obsoletes: kernel-misc-acer_acpi
330 Obsoletes: kernel-misc-fuse
331 Obsoletes: kernel-misc-uvc
332 Obsoletes: kernel-modules
333 Obsoletes: kernel-net-ar81
334 Obsoletes: kernel-net-hostap
335 Obsoletes: kernel-net-ieee80211
336 Obsoletes: kernel-net-ipp2p
337 Obsoletes: kernel-net-rt61
338 Obsoletes: kernel-smp
339 Conflicts: e2fsprogs < 1.29
340 Conflicts: isdn4k-utils < 3.1pre1
341 Conflicts: jfsutils < 1.1.3
342 Conflicts: lvm2 < 2.02.40
343 Conflicts: nfs-utils < 1.0.5
344 Conflicts: oprofile < 0.9
345 Conflicts: ppp < 1:2.4.0
346 Conflicts: procps < 3.2.0
347 Conflicts: quota-tools < 3.09
348 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
349 Conflicts: reiserfsprogs < 3.6.3
350 Conflicts: rpm < 4.4.2-0.2
351 Conflicts: udev < 1:081
352 Conflicts: util-linux < 2.10o
353 Conflicts: util-vserver < 0.30.216
354 Conflicts: xfsprogs < 2.6.0
356 ExcludeArch: i386 i486 i586
358 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
361 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
363 %ifarch %{ix86} %{x8664}
364 %define target_arch_dir x86
367 %define target_arch_dir powerpc
369 %ifarch sparc sparc64
370 %define target_arch_dir sparc
372 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
373 %define target_arch_dir %{_target_base_arch}
376 %define defconfig arch/%{target_arch_dir}/defconfig
378 # No ELF objects there to strip (skips processing 27k files)
379 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
380 %define _noautochrpath .*%{_kernelsrcdir}/.*
383 %define initrd_dir /boot/efi
385 %define initrd_dir /boot
388 %define topdir %{_builddir}/%{name}-%{version}
389 %define srcdir %{topdir}/linux-%{basever}
390 %define objdir %{topdir}/%{targetobj}
391 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
393 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
395 %if "%{_target_base_arch}" != "%{_arch}"
396 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
397 %define DepMod /bin/true
399 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
400 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
401 %define DepMod /sbin/depmod
404 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
405 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
406 %define DepMod /sbin/depmod
409 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
410 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
411 %define DepMod /sbin/depmod
414 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
415 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
419 %define CrossOpts ARCH=powerpc CC="%{__cc}"
421 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
423 %define DepMod /sbin/depmod
425 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
428 %{?with_grsecurity:Grsecurity support - enabled}\
429 %{?with_pax:PaX support - enabled}\
430 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
431 %{?with_nfsroot:Root on NFS - enabled}\
433 %define Features %(echo "%{__features}" | sed '/^$/d')
436 This package contains the Linux kernel that is used to boot and run
437 your system. It contains few device drivers for specific hardware.
438 Most hardware is instead supported by modules loaded after booting.
442 %description -l de.UTF-8
443 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
444 Linux-Betriebssystems. Der Kernel ist für grundliegende
445 Systemfunktionen verantwortlich: Speicherreservierung,
446 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
450 %description -l fr.UTF-8
451 Le package kernel contient le kernel linux (vmlinuz), la partie
452 centrale d'un système d'exploitation Linux. Le noyau traite les
453 fonctions basiques d'un système d'exploitation: allocation mémoire,
454 allocation de process, entrée/sortie de peripheriques, etc.
458 %description -l pl.UTF-8
459 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
460 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
461 się w komputerze, takiego jak sterowniki dysków itp.
466 Summary: vmlinux - uncompressed kernel image
467 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
468 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
470 Obsoletes: kernel-smp-vmlinux
473 vmlinux - uncompressed kernel image.
475 %description vmlinux -l de.UTF-8
476 vmlinux - dekompressiertes Kernel Bild.
478 %description vmlinux -l pl.UTF-8
479 vmlinux - rozpakowany obraz jÄ…dra.
482 Summary: DRM kernel modules
483 Summary(de.UTF-8): DRM Kernel Treiber
484 Summary(pl.UTF-8): Sterowniki DRM
486 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
487 Requires: %{name} = %{epoch}:%{version}-%{release}
488 Obsoletes: kernel-smp-drm
494 %description drm -l de.UTF-8
497 %description drm -l pl.UTF-8
501 Summary: PCMCIA modules
502 Summary(de.UTF-8): PCMCIA Module
503 Summary(pl.UTF-8): Moduły PCMCIA
505 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
506 Requires: %{name} = %{epoch}:%{version}-%{release}
507 Obsoletes: kernel-smp-pcmcia
508 Conflicts: pcmcia-cs < 3.1.21
509 Conflicts: pcmciautils < 004
515 %description pcmcia -l de.UTF-8
518 %description pcmcia -l pl.UTF-8
522 Summary: ALSA kernel modules
523 Summary(de.UTF-8): ALSA Kernel Module
524 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
526 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
527 Requires: %{name} = %{epoch}:%{version}-%{release}
528 Obsoletes: kernel-smp-sound-alsa
531 %description sound-alsa
532 ALSA (Advanced Linux Sound Architecture) sound drivers.
534 %description sound-alsa -l de.UTF-8
535 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
537 %description sound-alsa -l pl.UTF-8
538 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
541 Summary: OSS kernel modules
542 Summary(de.UTF-8): OSS Kernel Module
543 Summary(pl.UTF-8): Sterowniki dźwięku OSS
545 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
546 Requires: %{name} = %{epoch}:%{version}-%{release}
547 Obsoletes: kernel-smp-sound-oss
550 %description sound-oss
551 OSS (Open Sound System) drivers.
553 %description sound-oss -l de.UTF-8
554 OSS (Open Sound System) Treiber.
556 %description sound-oss -l pl.UTF-8
557 Sterowniki dźwięku OSS (Open Sound System).
560 Summary: Header files for the Linux kernel
561 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
562 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
563 Group: Development/Building
564 Provides: %{name}-headers(netfilter) = 20070806
568 These are the C header files for the Linux kernel, which define
569 structures and constants that are needed when rebuilding the kernel or
570 building kernel modules.
572 %description headers -l de.UTF-8
573 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
574 Strukturen und Konstante beinhalten, die beim rekompilieren des
575 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
577 %description headers -l pl.UTF-8
578 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
579 oraz budowania modułów jądra.
581 %package module-build
582 Summary: Development files for building kernel modules
583 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
584 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
585 Group: Development/Building
586 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
587 Conflicts: rpmbuild(macros) < 1.619
590 %description module-build
591 Development files from kernel source tree needed to build Linux kernel
592 modules from external packages.
594 %description module-build -l de.UTF-8
595 Development Dateien des Linux-Kernels die beim kompilieren externer
596 Kernel Module gebraucht werden.
598 %description module-build -l pl.UTF-8
599 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
600 Linuksa z zewnętrznych pakietów.
603 Summary: Kernel source tree
604 Summary(de.UTF-8): Der Kernel Quelltext
605 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
606 Group: Development/Building
607 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
611 This is the source code for the Linux kernel. You can build a custom
612 kernel that is better tuned to your particular hardware.
614 %description source -l de.UTF-8
615 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
616 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
617 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
618 im Kernel-Source definiert sind. Die Source-Dateien können auch
619 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
620 Hardware ausgerichtet ist.
622 %description source -l fr.UTF-8
623 Le package pour le kernel-source contient le code source pour le noyau
624 linux. Ces sources sont nécessaires pour compiler la plupart des
625 programmes C, car il dépend de constantes définies dans le code
626 source. Les sources peuvent être aussi utilisée pour compiler un noyau
627 personnalisé pour avoir de meilleures performances sur des matériels
630 %description source -l pl.UTF-8
631 Pakiet zawiera kod źródłowy jądra systemu.
634 Summary: Kernel documentation
635 Summary(de.UTF-8): Kernel Dokumentation
636 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
641 This is the documentation for the Linux kernel, as found in
642 /usr/src/linux/Documentation directory.
644 %description doc -l de.UTF-8
645 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
646 Verzeichniss vorgefunden werden kann.
648 %description doc -l pl.UTF-8
649 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
650 /usr/src/linux/Documentation.
654 ln -s %{SOURCE7} kernel-module-build.pl
655 ln -s %{SOURCE10} Makefile
658 # hack against warning in pax/grsec
659 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
661 %if "%{postver}" != ".0"
662 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
665 %if %{without vanilla}
673 %if %{with fbcondecor}
682 # kernel-pom-ng-IPV4OPTSSTRIP.patch
685 # kernel-pom-ng-mms-conntrack-nat.patch
688 # kernel-pom-ng-rsh.patch
691 # kernel-pom-ng-rpc.patch
694 # kernel-nf_rtsp.patch
697 # kernel-owner-xid.patch
702 # kernel-layer7.patch
735 # kernel-rndis_host-wm5.patch
738 # hostap enhancements from/for aircrack-ng
764 # grsecurity & pax stuff
767 %if %{with grsecurity}
771 %{?with_vserver:%patch10000 -p1}
772 %{?with_vserver:%patch10001 -p1}
773 %{?with_vserver:%patch10002 -p1}
776 # end of grsecurity & pax stuff
793 # Do not remove this, please!
796 # Fix EXTRAVERSION in main Makefile
797 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
799 # cleanup backups after patching
800 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
804 cat > %{targetobj}.mk <<'EOF'
805 # generated by %{name}.spec
806 KERNELSRC := %{srcdir}
807 KERNELOUTPUT := %{objdir}
809 SRCARCH := %{target_arch_dir}
810 ARCH := %{_target_base_arch}
811 Q := %{!?with_verbose:@}
812 MAKE_OPTS := %{MakeOpts}
813 DEFCONFIG := %{defconfig}
820 CONFIG_PAX_SEGMEXEC=y
821 # performance impact on CPUs without NX bit
822 CONFIG_PAX_PAGEEXEC=n
825 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
831 CONFIG_PAX_NOELFRELOCS=n
834 CONFIG_PAX_EMUTRAMP=y
835 CONFIG_PAX_EMUSIGRT=y
839 %ifarch sparc sparc64 alpha
843 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
844 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
845 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
846 # PAX_HOOK_ACL_FLAGS.
848 %if %{with grsecurity}
849 # Hardening grsec options if with pax
850 CONFIG_GRKERNSEC_PROC_MEMMAP=y
851 # almost rational (see HIDESYM help)
852 CONFIG_GRKERNSEC_HIDESYM=y
854 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
856 CONFIG_PAX_HAVE_ACL_FLAGS=n
857 CONFIG_PAX_HOOK_ACL_FLAGS=y
867 # CONFIG_SOUND is not set
868 # CONFIG_AUDIT is not set
869 # CONFIG_TR is not set
870 # CONFIG_BT is not set
871 # CONFIG_VIDEO_DEV is not set
872 # CONFIG_DVB_CORE is not set
873 # CONFIG_HAMRADIO is not set
874 # CONFIG_ARCNET is not set
875 # CONFIG_FB is not set
876 # CONFIG_DRM is not set
877 # CONFIG_WATCHDOG is not set
878 # CONFIG_INPUT_JOYSTICK is not set
879 # CONFIG_DEBUG_KERNEL is not set
880 # CONFIG_ISDN is not set
881 # CONFIG_AGP is not set
882 # CONFIG_SECURITY is not set
883 # CONFIG_PARIDE is not set
884 # CONFIG_CPU_FREQ is not set
885 # CONFIG_GAMEPORT is not set
886 # CONFIG_KVM is not set
887 # CONFIG_PHONE is not set
888 # CONFIG_STRICT_DEVMEM is not set
889 # CONFIG_IMA is not set
892 CONFIG_AUFS_BR_RAMFS=y
894 CONFIG_BLK_DEV_LOOP=y
907 Config="kernel-%{target_arch_dir}.config"
908 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
910 # prepare local and important options
911 cat <<-EOCONFIG > important.config
912 LOCALVERSION="-%{localversion}"
916 CONFIG_DEBUG_SLAB_LEAK=y
917 CONFIG_DEBUG_PREEMPT=y
918 CONFIG_RT_DEADLOCK_DETECT=y
925 %ifarch i686 athlon pentium3 pentium4
934 %if %{without pcmcia}
938 %if %{with fbcondecor}
942 CONFIG_FB_TILEBLITTING=n
943 CONFIG_FB_CON_DECOR=y
951 # Temporary disabled RELOCATABLE. Needed only on x86??
952 %if %{with pax} || %{with grsecurity}
958 RescueConfig rescue.config
964 # prepare kernel-style config file from multiple config files
965 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
967 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
970 %if %{without vanilla}
981 %if %{with grsecurity}
1000 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1004 %{SOURCE41} %{?0:patches} \
1007 $RPM_SOURCE_DIR/$Config
1011 install -d arch/%{target_arch_dir}
1012 BuildConfig > %{defconfig}
1013 ln -sf %{defconfig} .config
1017 TARGETOBJ=%{targetobj} \
1018 %{?with_verbose:V=1} \
1021 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1025 TARGETOBJ=%{targetobj} \
1026 %{?with_verbose:V=1} \
1030 rm -rf $RPM_BUILD_ROOT
1031 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1033 %{?with_verbose:V=1} \
1035 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1036 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1037 KERNELRELEASE=%{kernel_release}
1039 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1041 # create directories which may be missing, to simplyfy %files
1042 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1044 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1045 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1046 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1048 # no point embed content for %ghost files. empty them
1055 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1057 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1058 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1062 install -d $RPM_BUILD_ROOT/boot
1063 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1064 %ifarch %{ix86} %{x8664}
1065 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1066 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1069 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1070 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1073 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1074 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1075 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1077 %ifarch alpha sparc sparc64
1078 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1079 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1080 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1082 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1083 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1086 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1087 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1091 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1095 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1097 %if "%{_target_base_arch}" != "%{_arch}"
1098 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1102 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1105 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1106 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1107 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1109 rm -f $RPM_BUILD_ROOT/COPYING
1112 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1113 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1114 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1115 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1116 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1117 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1118 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1119 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1121 # collect module-build files and directories
1122 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1124 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1125 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1128 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1129 install -d $RPM_BUILD_ROOT%{_docdir}
1130 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1132 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1133 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1134 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1135 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1138 rm -rf $RPM_BUILD_ROOT
1141 if [ -x /sbin/new-kernel-pkg ]; then
1142 /sbin/new-kernel-pkg --remove %{kernel_release}
1147 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1148 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1149 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1150 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1152 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1153 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1154 mv -f /boot/System.map{,.old} 2> /dev/null
1155 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1156 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1157 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1158 ln -sf System.map-%{kernel_release} /boot/System.map
1159 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1161 %depmod %{kernel_release}
1164 # generate initrd after all dependant modules are installed
1165 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1166 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1167 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1168 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1169 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1171 # update boot loaders when old package files are gone from filesystem
1172 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1173 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1174 /sbin/update-grub >/dev/null
1177 if [ -x /sbin/new-kernel-pkg ]; then
1178 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1180 if [ -x /sbin/rc-boot ]; then
1181 /sbin/rc-boot 1>&2 || :
1185 mv -f /boot/vmlinux{,.old} 2> /dev/null
1186 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1187 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1188 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1191 %depmod %{kernel_release}
1194 %depmod %{kernel_release}
1197 %depmod %{kernel_release}
1200 %depmod %{kernel_release}
1203 %depmod %{kernel_release}
1206 %depmod %{kernel_release}
1209 %depmod %{kernel_release}
1212 %depmod %{kernel_release}
1215 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1218 if [ "$1" = "0" ]; then
1219 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1220 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1221 rm -f %{_prefix}/src/linux%{_alt_kernel}
1226 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1227 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1228 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1230 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1231 if [ "$1" = 0 ]; then
1232 rm -f /lib/modules/%{kernel_release}/{build,source}
1236 %defattr(644,root,root,755)
1237 %ifarch sparc sparc64
1238 /boot/vmlinux.aout-%{kernel_release}
1241 /boot/efi/vmlinuz-%{kernel_release}
1243 /boot/vmlinuz-%{kernel_release}
1244 /boot/System.map-%{kernel_release}
1245 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1246 /lib/firmware/%{kernel_release}
1248 %dir /lib/modules/%{kernel_release}
1249 %dir /lib/modules/%{kernel_release}/kernel
1250 /lib/modules/%{kernel_release}/kernel/arch
1251 /lib/modules/%{kernel_release}/kernel/crypto
1252 /lib/modules/%{kernel_release}/kernel/drivers
1254 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1256 /lib/modules/%{kernel_release}/kernel/fs
1257 /lib/modules/%{kernel_release}/kernel/kernel
1258 /lib/modules/%{kernel_release}/kernel/lib
1259 /lib/modules/%{kernel_release}/kernel/net
1260 /lib/modules/%{kernel_release}/kernel/mm
1262 %dir /lib/modules/%{kernel_release}/kernel/sound
1263 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1264 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1266 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1267 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1268 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1271 %dir /lib/modules/%{kernel_release}/misc
1273 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1274 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1275 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1276 %if %{without rescuecd}
1277 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1278 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1279 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1281 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1282 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1284 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1286 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1290 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1294 /lib/modules/%{kernel_release}/kernel/sound
1296 /lib/modules/%{kernel_release}/kernel/security
1298 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1301 /lib/modules/%{kernel_release}/modules.order
1302 /lib/modules/%{kernel_release}/modules.builtin*
1304 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1305 %ghost /lib/modules/%{kernel_release}/modules.alias
1306 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1307 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1308 %ghost /lib/modules/%{kernel_release}/modules.dep
1309 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1310 %ghost /lib/modules/%{kernel_release}/modules.devname
1311 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1312 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1313 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1314 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1315 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1316 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1317 %ghost /lib/modules/%{kernel_release}/modules.softdep
1318 %ghost /lib/modules/%{kernel_release}/modules.symbols
1319 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1320 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1322 # symlinks pointing to kernelsrcdir
1323 %ghost /lib/modules/%{kernel_release}/build
1324 %ghost /lib/modules/%{kernel_release}/source
1326 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1328 %defattr(644,root,root,755)
1329 /boot/vmlinux-%{kernel_release}
1334 %defattr(644,root,root,755)
1335 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1340 %defattr(644,root,root,755)
1341 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1342 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1343 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1344 %if %{without rescuecd}
1345 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1346 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1347 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1348 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1350 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1351 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1352 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1353 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1354 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1355 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1356 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1357 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1363 %defattr(644,root,root,755)
1364 /lib/modules/%{kernel_release}/kernel/sound
1365 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1366 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1367 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1369 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1372 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1373 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1374 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1375 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1380 %defattr(644,root,root,755)
1381 /lib/modules/%{kernel_release}/kernel/sound/oss
1385 %files headers -f files.headers_exclude_kbuild
1386 %defattr(644,root,root,755)
1387 %dir %{_kernelsrcdir}
1388 %{_kernelsrcdir}/include
1389 %dir %{_kernelsrcdir}/arch
1390 %dir %{_kernelsrcdir}/arch/[!K]*
1391 %{_kernelsrcdir}/arch/*/include
1392 %dir %{_kernelsrcdir}/security
1393 %dir %{_kernelsrcdir}/security/selinux
1394 %{_kernelsrcdir}/security/selinux/include
1395 %{_kernelsrcdir}/config-dist
1396 %{_kernelsrcdir}/Module.symvers-dist
1398 %files module-build -f files.mb_include_modulebuild_and_dirs
1399 %defattr(644,root,root,755)
1401 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1403 %exclude %dir %{_kernelsrcdir}/arch/um
1404 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1405 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1406 %{_kernelsrcdir}/drivers/lguest/lg.h
1407 %{_kernelsrcdir}/kernel/bounds.c
1408 %dir %{_kernelsrcdir}/scripts
1409 %{_kernelsrcdir}/scripts/Kbuild.include
1410 %{_kernelsrcdir}/scripts/Makefile*
1411 %{_kernelsrcdir}/scripts/basic
1412 %{_kernelsrcdir}/scripts/kconfig
1413 %{_kernelsrcdir}/scripts/mkcompile_h
1414 %{_kernelsrcdir}/scripts/mkmakefile
1415 %{_kernelsrcdir}/scripts/mod
1416 %{_kernelsrcdir}/scripts/module-common.lds
1417 %{_kernelsrcdir}/scripts/setlocalversion
1418 %{_kernelsrcdir}/scripts/*.c
1419 %{_kernelsrcdir}/scripts/*.sh
1420 %dir %{_kernelsrcdir}/scripts/selinux
1421 %{_kernelsrcdir}/scripts/selinux/Makefile
1422 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1423 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1424 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1425 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1426 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1427 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1428 %exclude %dir %{_kernelsrcdir}/security
1429 %exclude %dir %{_kernelsrcdir}/security/selinux
1430 %if %{with grsecurity}
1431 %{_kernelsrcdir}/tools/gcc/*.c
1436 %defattr(644,root,root,755)
1437 %dir %{_docdir}/%{name}-%{version}
1439 %{_docdir}/%{name}-%{version}/[!jkz]*
1440 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1441 %{_docdir}/%{name}-%{version}/kbuild
1442 %{_docdir}/%{name}-%{version}/kdump
1443 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1444 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1445 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1449 %files source -f files.source_exclude_modulebuild_and_dirs
1450 %defattr(644,root,root,755)
1451 %{_kernelsrcdir}/arch/*/[!Mik]*
1452 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1453 %{_kernelsrcdir}/arch/ia64/install.sh
1454 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1455 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1456 %{_kernelsrcdir}/arch/m68k/install.sh
1457 %{_kernelsrcdir}/arch/parisc/install.sh
1458 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1459 %{_kernelsrcdir}/arch/ia64/kvm
1460 %{_kernelsrcdir}/arch/powerpc/kvm
1462 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1464 %{_kernelsrcdir}/arch/s390/kvm
1465 %{_kernelsrcdir}/arch/x86/kvm
1466 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1467 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1468 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1469 %{_kernelsrcdir}/block
1470 %{_kernelsrcdir}/crypto
1471 %{_kernelsrcdir}/drivers
1472 %{_kernelsrcdir}/firmware
1474 %if %{with grsecurity} && %{without rescuecd}
1475 %{_kernelsrcdir}/grsecurity
1477 %{_kernelsrcdir}/init
1478 %{_kernelsrcdir}/ipc
1479 %{_kernelsrcdir}/kernel
1480 %exclude %{_kernelsrcdir}/kernel/bounds.c
1481 %{_kernelsrcdir}/lib
1483 %{_kernelsrcdir}/net
1484 %{_kernelsrcdir}/virt
1485 %{_kernelsrcdir}/samples
1486 %{_kernelsrcdir}/scripts/*
1487 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1488 %exclude %{_kernelsrcdir}/scripts/Makefile*
1489 %exclude %{_kernelsrcdir}/scripts/basic
1490 %exclude %{_kernelsrcdir}/scripts/kconfig
1491 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1492 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1493 %exclude %{_kernelsrcdir}/scripts/mod
1494 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1495 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1496 %exclude %{_kernelsrcdir}/scripts/*.c
1497 %exclude %{_kernelsrcdir}/scripts/*.sh
1498 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1499 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1500 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1501 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1502 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1503 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1504 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1505 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1506 %{_kernelsrcdir}/sound
1507 %{_kernelsrcdir}/security
1508 %exclude %{_kernelsrcdir}/security/selinux/include
1509 %{_kernelsrcdir}/tools/*
1510 %if %{with grsecurity}
1511 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1513 %{_kernelsrcdir}/usr
1514 %{_kernelsrcdir}/COPYING
1515 %{_kernelsrcdir}/CREDITS
1516 %{_kernelsrcdir}/MAINTAINERS
1517 %{_kernelsrcdir}/README
1518 %{_kernelsrcdir}/REPORTING-BUGS