3 # the following bcond combos will not work
4 # - without_vserver and any of the following
7 # LATEST VERSION CHECKER:
8 # # curl -s http://www.kernel.org/kdist/finger_banner
11 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
12 # - IPv4 source address selection for multihomed vservers is completely broken
13 # meaning routing table is ignored except for default
15 # HOWTO update configuration files:
17 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
18 # - sort configuration files using:
19 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
20 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
23 %bcond_without source # don't build kernel-source package
24 %bcond_without doc # don't build kernel-doc package
25 %bcond_without pcmcia # don't build pcmcia
27 %bcond_with verbose # verbose build (V=1)
28 %bcond_with reiser4 # support for reiser4 fs (experimental)
30 %bcond_without grsecurity # don't build grsecurity nor pax at all
31 %bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
33 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
34 %bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
35 %bcond_with nfsroot # build with root on NFS support
37 %bcond_without imq # imq support
38 %bcond_without wrr # wrr support
39 %bcond_without esfq # esfq support
40 %bcond_without ipv6 # ipv6 support
42 %bcond_without vserver # support for VServer (enabled by default)
43 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
45 %bcond_with vanilla # don't include any patches
46 %bcond_with rescuecd # build kernel for our rescue
47 %bcond_with myown # build with your own config (kernel-myown.config)
49 %{?debug:%define with_verbose 1}
52 %unglobal with_grsecurity
55 %if %{without grsecurity}
60 %define with_grsecurity 1
70 %unglobal with_tuxonice
71 %unglobal with_grsecurity
73 %unglobal with_vserver
96 %define postver %{nil}
99 %define _enable_debug_packages 0
101 %define tuxonice_version 3.2
104 %if "%{_alt_kernel}" == ""
105 %define alt_kernel myown
109 %define alt_kernel vanilla
112 %define alt_kernel rescuecd
113 %else # not rescuecd:
114 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
115 %if "%{__alt_kernel}" != ""
116 %define alt_kernel %{__alt_kernel}
118 %endif # not rescuecd
122 # kernel release (used in filesystem and eventually in uname -r)
123 # modules will be looked from /lib/modules/%{kernel_release}
124 # localversion is just that without version for "> localversion"
125 %define localversion %{rel}
126 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
128 Summary: The Linux kernel (the core of the Linux operating system)
129 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
130 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
131 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
132 Summary(pl.UTF-8): JÄ…dro Linuksa
133 Name: kernel%{_alt_kernel}
134 Version: %{basever}%{postver}
139 #Source0: http://www.kernel.org/pub/linux/kernel/v3.0/linux-%{basever}.tar.bz2
140 Source0: http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-%{basever}-rc6.tar.bz2
141 # Source0-md5: d34fc8bbce141244d2dceb6c23d50ca 8
142 %if "%{postver}" != "%{nil}"
143 Source1: http://www.kernel.org/pub/linux/kernel/v3.0/patch-%{version}.bz2
144 # Source1-md5: 6f81e64e790eb7847773eec4f7cbf207
147 Source3: kernel-autoconf.h
148 Source4: kernel-config.h
149 Source6: kernel-config.awk
150 Source7: kernel-module-build.pl
151 Source8: kernel-track-config-change.awk
152 # not used by kernel.spec, but it's good to have it in SOURCES
153 Source9: kernel-config-sort.pl
154 Source10: kernel.make
156 Source20: kernel-multiarch.config
157 Source21: kernel-x86.config
158 Source22: kernel-sparc.config
159 Source23: kernel-alpha.config
160 Source24: kernel-powerpc.config
161 Source25: kernel-ia64.config
163 Source41: kernel-patches.config
164 Source42: kernel-tuxonice.config
165 Source43: kernel-vserver.config
166 Source45: kernel-grsec.config
168 Source49: kernel-pax.config
169 Source50: kernel-no-pax.config
170 Source55: kernel-imq.config
171 Source56: kernel-reiser4.config
172 Source57: kernel-wrr.config
174 Source58: kernel-inittmpfs.config
176 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
177 Patch3: kernel-fbcondecor.patch
178 Patch4: kernel-fbcon-margins.patch
179 Patch5: linux-wistron-amilo8210.patch
181 # netfilter related stuff mostly based on patch-o-matic-ng
182 # snapshot 20070806 with some fixes. Some modules
183 # were ported to nf_conntrack.
185 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
186 Patch11: kernel-pom-ng-ipv4options.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 Patch69: kernel-tuxonice.patch
235 Patch70: kernel-tuxonice-headers.patch
237 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
238 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
239 Patch85: kernel-hostap.patch
241 # http://vserver.13thfloor.at/Experimental/patch-2.6.38.6-vs2.3.0.37-rc15.diff
242 Patch100: kernel-vserver-2.3.patch
243 Patch101: kernel-vserver-fixes.patch
245 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
246 # Fix verified for that kernel version.
247 Patch130: kernel-forcedeth-WON.patch
249 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.38-rc7.diff.gz
250 Patch140: kernel-unionfs.patch
252 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
254 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
255 # cd aufs2-standalone
256 # git checkout -b aufs2.1 origin/aufs2.1
257 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
259 # cp -a Documentation fs include linux
260 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
262 Patch145: kernel-aufs2.patch
263 Patch146: kernel-aufs2-unionfs.patch
264 Patch147: kernel-aufs2-no-const-grsec.patch
265 Patch148: kernel-aufs2-reiser4.patch
267 # Show normal colors in menuconfig with ncurses ABI 6
268 Patch250: kernel-fix_256colors_menuconfig.patch
270 # The following patch extend the routing functionality in Linux
271 # to support static routes (defined by user), new way to use the
272 # alternative routes, the reverse path protection (rp_filter),
273 # the NAT processing to use correctly the routing when multiple
275 # http://www.ssi.bg/~ja/routes-2.6.39-16.diff
276 Patch300: kernel-routes.patch
278 # https://patchwork.kernel.org/patch/236261/
279 Patch400: kernel-virtio-gl-accel.patch
281 Patch2000: kernel-small_fixes.patch
282 Patch2001: kernel-pwc-uncompress.patch
283 Patch2003: kernel-regressions.patch
285 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
286 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
287 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
288 Patch5000: kernel-apparmor.patch
291 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
292 Patch7000: kernel-inittmpfs.patch
294 # based on http://grsecurity.net/~spender/grsecurity-2.2.2-2.6.38.6-201105171931.patch
295 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
296 # (since upstream deletes older patches)
297 Patch9999: kernel-grsec_full.patch
298 Patch10000: kernel-grsec-caps.patch
299 Patch10001: kernel-grsec-common.patch
300 Patch10002: kernel-grsec_fixes.patch
302 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
303 # kernel.spec every time.
304 #Patch50000: kernel-usb_reset.patch
306 URL: http://www.kernel.org/
307 BuildRequires: binutils >= 3:2.18
308 %ifarch sparc sparc64
309 BuildRequires: elftoaout
312 BuildRequires: uboot-mkimage
314 BuildRequires: /sbin/depmod
315 BuildRequires: gcc >= 5:3.2
316 BuildRequires: xz >= 1:4.999.7
318 # for hostname command
319 BuildRequires: module-init-tools >= 3.5
320 BuildRequires: net-tools
321 BuildRequires: perl-base
322 BuildRequires: rpm-build >= 4.5-24
323 BuildRequires: rpmbuild(macros) >= 1.217
324 Requires(post): coreutils
325 Requires(post): geninitrd >= 10000-3
326 Requires(post): module-init-tools >= 0.9.9
327 Requires: /sbin/depmod
329 Requires: geninitrd >= 10000-3
330 Requires: module-init-tools >= 0.9.9
332 Provides: %{name}(netfilter) = 20070806
333 Provides: %{name}(vermagic) = %{kernel_release}
334 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
335 Obsoletes: kernel-firmware
336 Obsoletes: kernel-misc-acer_acpi
337 Obsoletes: kernel-misc-fuse
338 Obsoletes: kernel-misc-uvc
339 Obsoletes: kernel-modules
340 Obsoletes: kernel-net-ar81
341 Obsoletes: kernel-net-hostap
342 Obsoletes: kernel-net-ieee80211
343 Obsoletes: kernel-net-ipp2p
344 Obsoletes: kernel-net-rt61
345 Obsoletes: kernel-smp
346 Conflicts: e2fsprogs < 1.29
347 Conflicts: isdn4k-utils < 3.1pre1
348 Conflicts: jfsutils < 1.1.3
349 Conflicts: lvm2 < 2.02.40
350 Conflicts: module-init-tools < 0.9.10
351 Conflicts: nfs-utils < 1.0.5
352 Conflicts: oprofile < 0.9
353 Conflicts: ppp < 1:2.4.0
354 Conflicts: procps < 3.2.0
355 Conflicts: quota-tools < 3.09
356 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
357 Conflicts: reiserfsprogs < 3.6.3
358 Conflicts: rpm < 4.4.2-0.2
359 Conflicts: udev < 1:081
360 Conflicts: util-linux < 2.10o
361 Conflicts: util-vserver < 0.30.216
362 Conflicts: xfsprogs < 2.6.0
364 ExcludeArch: i386 i486 i586
366 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
369 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
371 %ifarch %{ix86} %{x8664}
372 %define target_arch_dir x86
375 %define target_arch_dir powerpc
377 %ifarch sparc sparc64
378 %define target_arch_dir sparc
380 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
381 %define target_arch_dir %{_target_base_arch}
384 %define defconfig arch/%{target_arch_dir}/defconfig
386 # No ELF objects there to strip (skips processing 27k files)
387 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
388 %define _noautochrpath .*%{_kernelsrcdir}/.*
391 %define initrd_dir /boot/efi
393 %define initrd_dir /boot
396 %define topdir %{_builddir}/%{name}-%{version}
397 %define srcdir %{topdir}/linux-%{basever}-rc6
398 %define objdir %{topdir}/%{targetobj}
399 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
401 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
403 %if "%{_target_base_arch}" != "%{_arch}"
404 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
405 %define DepMod /bin/true
407 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
408 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
409 %define DepMod /sbin/depmod
412 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
413 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
414 %define DepMod /sbin/depmod
417 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
418 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
419 %define DepMod /sbin/depmod
422 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
423 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
427 %define CrossOpts ARCH=powerpc CC="%{__cc}"
429 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
431 %define DepMod /sbin/depmod
433 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
436 %{?with_grsecurity:Grsecurity support - enabled}\
437 %{?with_pax:PaX support - enabled}\
438 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
439 %{?with_nfsroot:Root on NFS - enabled}\
441 %define Features %(echo "%{__features}" | sed '/^$/d')
444 This package contains the Linux kernel that is used to boot and run
445 your system. It contains few device drivers for specific hardware.
446 Most hardware is instead supported by modules loaded after booting.
450 %description -l de.UTF-8
451 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
452 Linux-Betriebssystems. Der Kernel ist für grundliegende
453 Systemfunktionen verantwortlich: Speicherreservierung,
454 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
458 %description -l fr.UTF-8
459 Le package kernel contient le kernel linux (vmlinuz), la partie
460 centrale d'un système d'exploitation Linux. Le noyau traite les
461 fonctions basiques d'un système d'exploitation: allocation mémoire,
462 allocation de process, entrée/sortie de peripheriques, etc.
466 %description -l pl.UTF-8
467 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
468 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
469 się w komputerze, takiego jak sterowniki dysków itp.
474 Summary: vmlinux - uncompressed kernel image
475 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
476 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
478 Obsoletes: kernel-smp-vmlinux
481 vmlinux - uncompressed kernel image.
483 %description vmlinux -l de.UTF-8
484 vmlinux - dekompressiertes Kernel Bild.
486 %description vmlinux -l pl.UTF-8
487 vmlinux - rozpakowany obraz jÄ…dra.
490 Summary: DRM kernel modules
491 Summary(de.UTF-8): DRM Kernel Treiber
492 Summary(pl.UTF-8): Sterowniki DRM
494 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
495 Requires: %{name} = %{epoch}:%{version}-%{release}
496 Obsoletes: kernel-smp-drm
502 %description drm -l de.UTF-8
505 %description drm -l pl.UTF-8
509 Summary: PCMCIA modules
510 Summary(de.UTF-8): PCMCIA Module
511 Summary(pl.UTF-8): Moduły PCMCIA
513 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
514 Requires: %{name} = %{epoch}:%{version}-%{release}
515 Obsoletes: kernel-smp-pcmcia
516 Conflicts: pcmcia-cs < 3.1.21
517 Conflicts: pcmciautils < 004
523 %description pcmcia -l de.UTF-8
526 %description pcmcia -l pl.UTF-8
530 Summary: ALSA kernel modules
531 Summary(de.UTF-8): ALSA Kernel Module
532 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
534 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
535 Requires: %{name} = %{epoch}:%{version}-%{release}
536 Obsoletes: kernel-smp-sound-alsa
539 %description sound-alsa
540 ALSA (Advanced Linux Sound Architecture) sound drivers.
542 %description sound-alsa -l de.UTF-8
543 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
545 %description sound-alsa -l pl.UTF-8
546 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
549 Summary: OSS kernel modules
550 Summary(de.UTF-8): OSS Kernel Module
551 Summary(pl.UTF-8): Sterowniki dźwięku OSS
553 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
554 Requires: %{name} = %{epoch}:%{version}-%{release}
555 Obsoletes: kernel-smp-sound-oss
558 %description sound-oss
559 OSS (Open Sound System) drivers.
561 %description sound-oss -l de.UTF-8
562 OSS (Open Sound System) Treiber.
564 %description sound-oss -l pl.UTF-8
565 Sterowniki dźwięku OSS (Open Sound System).
568 Summary: Header files for the Linux kernel
569 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
570 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
571 Group: Development/Building
572 Provides: %{name}-headers(netfilter) = 20070806
576 These are the C header files for the Linux kernel, which define
577 structures and constants that are needed when rebuilding the kernel or
578 building kernel modules.
580 %description headers -l de.UTF-8
581 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
582 Strukturen und Konstante beinhalten, die beim rekompilieren des
583 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
585 %description headers -l pl.UTF-8
586 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
587 oraz budowania modułów jądra.
589 %package module-build
590 Summary: Development files for building kernel modules
591 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
592 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
593 Group: Development/Building
594 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
595 Conflicts: rpmbuild(macros) < 1.550
598 %description module-build
599 Development files from kernel source tree needed to build Linux kernel
600 modules from external packages.
602 %description module-build -l de.UTF-8
603 Development Dateien des Linux-Kernels die beim kompilieren externer
604 Kernel Module gebraucht werden.
606 %description module-build -l pl.UTF-8
607 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
608 Linuksa z zewnętrznych pakietów.
611 Summary: Kernel source tree
612 Summary(de.UTF-8): Der Kernel Quelltext
613 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
614 Group: Development/Building
615 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
619 This is the source code for the Linux kernel. You can build a custom
620 kernel that is better tuned to your particular hardware.
622 %description source -l de.UTF-8
623 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
624 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
625 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
626 im Kernel-Source definiert sind. Die Source-Dateien können auch
627 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
628 Hardware ausgerichtet ist.
630 %description source -l fr.UTF-8
631 Le package pour le kernel-source contient le code source pour le noyau
632 linux. Ces sources sont nécessaires pour compiler la plupart des
633 programmes C, car il dépend de constantes définies dans le code
634 source. Les sources peuvent être aussi utilisée pour compiler un noyau
635 personnalisé pour avoir de meilleures performances sur des matériels
638 %description source -l pl.UTF-8
639 Pakiet zawiera kod źródłowy jądra systemu.
642 Summary: Kernel documentation
643 Summary(de.UTF-8): Kernel Dokumentation
644 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
649 This is the documentation for the Linux kernel, as found in
650 /usr/src/linux/Documentation directory.
652 %description doc -l de.UTF-8
653 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
654 Verzeichniss vorgefunden werden kann.
656 %description doc -l pl.UTF-8
657 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
658 /usr/src/linux/Documentation.
662 ln -s %{SOURCE7} kernel-module-build.pl
663 ln -s %{SOURCE10} Makefile
664 cd linux-%{basever}-rc6
666 # hack against warning in pax/grsec
667 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
669 %if "%{postver}" != "%{nil}"
670 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
673 %if %{without vanilla}
681 %if %{with fbcondecor}
690 # kernel-pom-ng-IPV4OPTSSTRIP.patch
693 # kernel-pom-ng-ipv4options.patch
696 # kernel-pom-ng-mms-conntrack-nat.patch
699 # kernel-pom-ng-rsh.patch
702 # kernel-pom-ng-rpc.patch
705 # kernel-nf_rtsp.patch
708 # kernel-owner-xid.patch
713 # kernel-layer7.patch
746 # kernel-rndis_host-wm5.patch
749 # hostap enhancements from/for aircrack-ng
775 # grsecurity & pax stuff
778 %if %{with grsecurity}
780 # aufs2 needs to modify those pointers
782 %{?with_vserver:%patch10000 -p1}
783 %{?with_vserver:%patch10001 -p1}
784 %{?with_vserver:%patch10002 -p1}
787 # end of grsecurity & pax stuff
807 # Do not remove this, please!
810 # Fix EXTRAVERSION in main Makefile
811 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
813 # cleanup backups after patching
814 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
818 cat > %{targetobj}.mk <<'EOF'
819 # generated by %{name}.spec
820 KERNELSRC := %{srcdir}
821 KERNELOUTPUT := %{objdir}
823 SRCARCH := %{target_arch_dir}
824 ARCH := %{_target_base_arch}
825 Q := %{!?with_verbose:@}
826 MAKE_OPTS := %{MakeOpts}
827 DEFCONFIG := %{defconfig}
834 CONFIG_PAX_SEGMEXEC=y
835 # performance impact on CPUs without NX bit
836 CONFIG_PAX_PAGEEXEC=n
839 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
845 CONFIG_PAX_NOELFRELOCS=n
848 CONFIG_PAX_EMUTRAMP=y
849 CONFIG_PAX_EMUSIGRT=y
853 %ifarch sparc sparc64 alpha
857 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
858 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
859 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
860 # PAX_HOOK_ACL_FLAGS.
862 %if %{with grsecurity}
863 # Hardening grsec options if with pax
864 CONFIG_GRKERNSEC_PROC_MEMMAP=y
865 # almost rational (see HIDESYM help)
866 CONFIG_GRKERNSEC_HIDESYM=y
868 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
870 CONFIG_PAX_HAVE_ACL_FLAGS=n
871 CONFIG_PAX_HOOK_ACL_FLAGS=y
881 # CONFIG_SOUND is not set
882 # CONFIG_AUDIT is not set
883 # CONFIG_TR is not set
884 # CONFIG_BT is not set
885 # CONFIG_VIDEO_DEV is not set
886 # CONFIG_DVB_CORE is not set
887 # CONFIG_HAMRADIO is not set
888 # CONFIG_ARCNET is not set
889 # CONFIG_FB is not set
890 # CONFIG_DRM is not set
891 # CONFIG_WATCHDOG is not set
892 # CONFIG_INPUT_JOYSTICK is not set
893 # CONFIG_DEBUG_KERNEL is not set
894 # CONFIG_ISDN is not set
895 # CONFIG_AGP is not set
896 # CONFIG_SECURITY is not set
897 # CONFIG_PARIDE is not set
898 # CONFIG_CPU_FREQ is not set
899 # CONFIG_GAMEPORT is not set
900 # CONFIG_KVM is not set
901 # CONFIG_PHONE is not set
902 # CONFIG_STRICT_DEVMEM is not set
903 # CONFIG_IMA is not set
906 CONFIG_AUFS_BR_RAMFS=y
908 CONFIG_BLK_DEV_LOOP=y
921 Config="kernel-%{target_arch_dir}.config"
922 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
924 # prepare local and important options
925 cat <<-EOCONFIG > important.config
926 LOCALVERSION="-%{localversion}"
930 CONFIG_DEBUG_SLAB_LEAK=y
931 CONFIG_DEBUG_PREEMPT=y
932 CONFIG_RT_DEADLOCK_DETECT=y
939 %ifarch i686 athlon pentium3 pentium4
948 %if %{without pcmcia}
952 %if %{with fbcondecor}
956 CONFIG_FB_TILEBLITTING=n
957 CONFIG_FB_CON_DECOR=y
965 # Temporary disabled RELOCATABLE. Needed only on x86??
966 %if %{with pax} || %{with grsecurity}
972 RescueConfig rescue.config
978 # prepare kernel-style config file from multiple config files
979 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
981 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
984 %if %{without vanilla}
995 %if %{with grsecurity}
1013 %if %{with tuxonice}
1014 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1018 %{SOURCE41} %{?0:patches} \
1021 $RPM_SOURCE_DIR/$Config
1025 install -d arch/%{target_arch_dir}
1026 BuildConfig > %{defconfig}
1027 ln -sf %{defconfig} .config
1031 TARGETOBJ=%{targetobj} \
1032 %{?with_verbose:V=1} \
1035 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1039 TARGETOBJ=%{targetobj} \
1040 %{?with_verbose:V=1} \
1044 rm -rf $RPM_BUILD_ROOT
1045 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1047 %{?with_verbose:V=1} \
1049 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1050 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1051 KERNELRELEASE=%{kernel_release}
1053 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1055 # create directories which may be missing, to simplyfy %files
1056 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1058 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1059 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1060 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1062 # no point embed content for %ghost files. empty them
1067 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1069 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1070 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1074 install -d $RPM_BUILD_ROOT/boot
1075 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1076 %ifarch %{ix86} %{x8664}
1077 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1078 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1081 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1082 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1085 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1086 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1087 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1089 %ifarch alpha sparc sparc64
1090 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1091 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1092 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1094 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1095 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1098 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1099 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1103 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1107 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1109 %if "%{_target_base_arch}" != "%{_arch}"
1110 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1114 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1117 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1118 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1119 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1121 rm -f $RPM_BUILD_ROOT/COPYING
1124 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1125 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1126 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1127 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1128 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1129 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1130 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1131 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1133 # collect module-build files and directories
1134 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1136 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1137 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1140 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1141 install -d $RPM_BUILD_ROOT%{_docdir}
1142 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1144 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1145 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1146 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1147 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1150 rm -rf $RPM_BUILD_ROOT
1153 if [ -x /sbin/new-kernel-pkg ]; then
1154 /sbin/new-kernel-pkg --remove %{kernel_release}
1159 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1160 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1161 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1162 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1164 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1165 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1166 mv -f /boot/System.map{,.old} 2> /dev/null
1167 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1168 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1169 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1170 ln -sf System.map-%{kernel_release} /boot/System.map
1171 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1173 %depmod %{kernel_release}
1176 # generate initrd after all dependant modules are installed
1177 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1178 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1179 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1180 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1181 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1183 # update boot loaders when old package files are gone from filesystem
1184 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1185 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1186 /sbin/update-grub >/dev/null
1189 if [ -x /sbin/new-kernel-pkg ]; then
1190 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1192 if [ -x /sbin/rc-boot ]; then
1193 /sbin/rc-boot 1>&2 || :
1197 mv -f /boot/vmlinux{,.old} 2> /dev/null
1198 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1199 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1200 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1203 %depmod %{kernel_release}
1206 %depmod %{kernel_release}
1209 %depmod %{kernel_release}
1212 %depmod %{kernel_release}
1215 %depmod %{kernel_release}
1218 %depmod %{kernel_release}
1221 %depmod %{kernel_release}
1224 %depmod %{kernel_release}
1227 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1230 if [ "$1" = "0" ]; then
1231 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1232 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1233 rm -f %{_prefix}/src/linux%{_alt_kernel}
1238 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1239 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1240 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1242 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1243 if [ "$1" = 0 ]; then
1244 rm -f /lib/modules/%{kernel_release}/{build,source}
1248 %defattr(644,root,root,755)
1249 %ifarch sparc sparc64
1250 /boot/vmlinux.aout-%{kernel_release}
1253 /boot/efi/vmlinuz-%{kernel_release}
1255 /boot/vmlinuz-%{kernel_release}
1256 /boot/System.map-%{kernel_release}
1257 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1258 /lib/firmware/%{kernel_release}
1260 %dir /lib/modules/%{kernel_release}
1261 %dir /lib/modules/%{kernel_release}/kernel
1262 /lib/modules/%{kernel_release}/kernel/arch
1263 /lib/modules/%{kernel_release}/kernel/crypto
1264 /lib/modules/%{kernel_release}/kernel/drivers
1266 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1268 /lib/modules/%{kernel_release}/kernel/fs
1269 /lib/modules/%{kernel_release}/kernel/kernel
1270 /lib/modules/%{kernel_release}/kernel/lib
1271 /lib/modules/%{kernel_release}/kernel/net
1272 /lib/modules/%{kernel_release}/kernel/mm
1274 %dir /lib/modules/%{kernel_release}/kernel/sound
1275 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1276 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1278 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1279 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1283 %dir /lib/modules/%{kernel_release}/misc
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1286 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1288 %if %{without rescuecd}
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1290 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1297 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1298 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1299 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1300 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1301 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1302 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1303 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1306 /lib/modules/%{kernel_release}/kernel/sound
1308 /lib/modules/%{kernel_release}/kernel/security
1310 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1313 /lib/modules/%{kernel_release}/modules.order
1314 /lib/modules/%{kernel_release}/modules.builtin
1316 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1317 %ghost /lib/modules/%{kernel_release}/modules.alias
1318 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1319 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1320 %ghost /lib/modules/%{kernel_release}/modules.dep
1321 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1322 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1323 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1324 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1325 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1326 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1327 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1328 %ghost /lib/modules/%{kernel_release}/modules.symbols
1329 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1330 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1332 # symlinks pointing to kernelsrcdir
1333 %ghost /lib/modules/%{kernel_release}/build
1334 %ghost /lib/modules/%{kernel_release}/source
1336 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1338 %defattr(644,root,root,755)
1339 /boot/vmlinux-%{kernel_release}
1344 %defattr(644,root,root,755)
1345 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1350 %defattr(644,root,root,755)
1351 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1352 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1353 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1354 %if %{without rescuecd}
1355 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1356 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1357 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1360 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1361 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1362 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1363 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1364 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1365 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1366 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1367 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1368 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1373 %defattr(644,root,root,755)
1374 /lib/modules/%{kernel_release}/kernel/sound
1375 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1376 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1377 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1379 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1382 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1383 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1384 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1385 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1390 %defattr(644,root,root,755)
1391 /lib/modules/%{kernel_release}/kernel/sound/oss
1395 %files headers -f files.headers_exclude_kbuild
1396 %defattr(644,root,root,755)
1397 %dir %{_kernelsrcdir}
1398 %{_kernelsrcdir}/include
1399 %dir %{_kernelsrcdir}/arch
1400 %dir %{_kernelsrcdir}/arch/[!K]*
1401 %{_kernelsrcdir}/arch/*/include
1402 %dir %{_kernelsrcdir}/security
1403 %dir %{_kernelsrcdir}/security/selinux
1404 %{_kernelsrcdir}/security/selinux/include
1405 %{_kernelsrcdir}/config-dist
1406 %{_kernelsrcdir}/Module.symvers-dist
1408 %files module-build -f files.mb_include_modulebuild_and_dirs
1409 %defattr(644,root,root,755)
1411 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1413 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1414 %exclude %dir %{_kernelsrcdir}/arch/um
1415 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1416 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1417 %{_kernelsrcdir}/drivers/lguest/lg.h
1418 %{_kernelsrcdir}/kernel/bounds.c
1419 %dir %{_kernelsrcdir}/scripts
1420 %{_kernelsrcdir}/scripts/Kbuild.include
1421 %{_kernelsrcdir}/scripts/Makefile*
1422 %{_kernelsrcdir}/scripts/basic
1423 %{_kernelsrcdir}/scripts/kconfig
1424 %{_kernelsrcdir}/scripts/mkcompile_h
1425 %{_kernelsrcdir}/scripts/mkmakefile
1426 %{_kernelsrcdir}/scripts/mod
1427 %{_kernelsrcdir}/scripts/module-common.lds
1428 %{_kernelsrcdir}/scripts/setlocalversion
1429 %{_kernelsrcdir}/scripts/*.c
1430 %{_kernelsrcdir}/scripts/*.sh
1431 %dir %{_kernelsrcdir}/scripts/selinux
1432 %{_kernelsrcdir}/scripts/selinux/Makefile
1433 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1434 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1435 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1436 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1437 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1438 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1439 %exclude %dir %{_kernelsrcdir}/security
1440 %exclude %dir %{_kernelsrcdir}/security/selinux
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 %{_docdir}/%{name}-%{version}/kvm
1452 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1453 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1454 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1458 %files source -f files.source_exclude_modulebuild_and_dirs
1459 %defattr(644,root,root,755)
1460 %{_kernelsrcdir}/arch/*/[!Mik]*
1461 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1462 %{_kernelsrcdir}/arch/ia64/install.sh
1463 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1464 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1465 %{_kernelsrcdir}/arch/m68k/install.sh
1466 %{_kernelsrcdir}/arch/parisc/install.sh
1467 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1468 %{_kernelsrcdir}/arch/ia64/kvm
1469 %{_kernelsrcdir}/arch/powerpc/kvm
1471 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1473 %{_kernelsrcdir}/arch/s390/kvm
1474 %{_kernelsrcdir}/arch/x86/kvm
1475 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1476 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1477 %exclude %{_kernelsrcdir}/drivers/lguest/lg.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 %{_kernelsrcdir}/usr
1520 %{_kernelsrcdir}/COPYING
1521 %{_kernelsrcdir}/CREDITS
1522 %{_kernelsrcdir}/MAINTAINERS
1523 %{_kernelsrcdir}/README
1524 %{_kernelsrcdir}/REPORTING-BUGS