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: http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-%{basever}-rc7.tar.bz2
143 # Source0-md5: a1c1c1c6158f22936a4763afbd339f5a
144 %if "%{postver}" != ".0"
145 Source1: http://www.kernel.org/pub/linux/kernel/v3.0/patch-%{version}.bz2
146 # Source1-md5: 6f81e64e790eb7847773eec4f7cbf207
149 Source3: kernel-autoconf.h
150 Source4: kernel-config.h
151 Source6: kernel-config.awk
152 Source7: kernel-module-build.pl
153 Source8: kernel-track-config-change.awk
154 # not used by kernel.spec, but it's good to have it in SOURCES
155 Source9: kernel-config-sort.pl
156 Source10: kernel.make
158 Source20: kernel-multiarch.config
159 Source21: kernel-x86.config
160 Source22: kernel-sparc.config
161 Source23: kernel-alpha.config
162 Source24: kernel-powerpc.config
163 Source25: kernel-ia64.config
165 Source41: kernel-patches.config
166 Source42: kernel-tuxonice.config
167 Source43: kernel-vserver.config
168 Source45: kernel-grsec.config
170 Source49: kernel-pax.config
171 Source50: kernel-no-pax.config
172 Source55: kernel-imq.config
173 Source56: kernel-reiser4.config
174 Source57: kernel-wrr.config
176 Source58: kernel-inittmpfs.config
178 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
179 Patch3: kernel-fbcondecor.patch
180 Patch4: kernel-fbcon-margins.patch
181 Patch5: linux-wistron-amilo8210.patch
183 # netfilter related stuff mostly based on patch-o-matic-ng
184 # snapshot 20070806 with some fixes. Some modules
185 # were ported to nf_conntrack.
187 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
189 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
190 Patch22: kernel-pom-ng-rsh.patch
191 Patch23: kernel-pom-ng-rpc.patch
193 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
194 Patch36: kernel-nf_rtsp.patch
196 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
197 Patch37: kernel-owner-xid.patch
199 # based on kernel-2.6.25-layer7-2.20.patch from
200 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
201 Patch40: kernel-layer7.patch
205 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
206 Patch49: kernel-zph.patch
208 # based on http://www.linuximq.net/patchs/linux-2.6.39-imq-multiqueue-test1.diff.bz2
209 Patch50: kernel-imq.patch
211 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
212 Patch51: kernel-reiser4.patch
214 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
215 Patch52: kernel-wrr.patch
217 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
218 Patch53: kernel-esfq.patch
220 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
221 Patch54: kernel-toshiba_acpi.patch
223 # by Baggins request:
224 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
225 Patch55: kernel-atm-vbr.patch
226 Patch56: kernel-atmdd.patch
228 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
229 Patch59: kernel-rndis_host-wm5.patch
231 # Project suspend2 renamed to tuxonice
232 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
233 # NOTE: currently using own diff from tuxonice git tree until official patch is released
234 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-head.git
235 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-<basever>.git
236 # To produce patch: git diff upstream/master...tuxonice/combined
237 Patch69: kernel-tuxonice.patch
238 Patch70: kernel-tuxonice-headers.patch
240 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
241 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
242 Patch85: kernel-hostap.patch
244 # http://vserver.13thfloor.at/Experimental/patch-2.6.38.6-vs2.3.0.37-rc15.diff
245 Patch100: kernel-vserver-2.3.patch
246 Patch101: kernel-vserver-fixes.patch
248 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
249 # Fix verified for that kernel version.
250 Patch130: kernel-forcedeth-WON.patch
252 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.38-rc7.diff.gz
253 Patch140: kernel-unionfs.patch
255 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
257 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
258 # cd aufs2-standalone
259 # git checkout -b aufs2.1 origin/aufs2.1
260 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
262 # cp -a Documentation fs include linux
263 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
265 Patch145: kernel-aufs2.patch
266 Patch146: kernel-aufs2-unionfs.patch
267 Patch147: kernel-aufs2-no-const-grsec.patch
268 Patch148: kernel-aufs2-reiser4.patch
270 # Show normal colors in menuconfig with ncurses ABI 6
271 Patch250: kernel-fix_256colors_menuconfig.patch
273 # The following patch extend the routing functionality in Linux
274 # to support static routes (defined by user), new way to use the
275 # alternative routes, the reverse path protection (rp_filter),
276 # the NAT processing to use correctly the routing when multiple
278 # http://www.ssi.bg/~ja/routes-2.6.39-16.diff
279 Patch300: kernel-routes.patch
281 # https://patchwork.kernel.org/patch/236261/
282 Patch400: kernel-virtio-gl-accel.patch
284 Patch2000: kernel-small_fixes.patch
285 Patch2001: kernel-pwc-uncompress.patch
286 Patch2003: kernel-regressions.patch
288 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
289 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
290 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
291 Patch5000: kernel-apparmor.patch
294 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
295 Patch7000: kernel-inittmpfs.patch
297 # based on http://grsecurity.net/~spender/grsecurity-2.2.2-2.6.38.6-201105171931.patch
298 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
299 # (since upstream deletes older patches)
300 Patch9999: kernel-grsec_full.patch
301 Patch10000: kernel-grsec-caps.patch
302 Patch10001: kernel-grsec-common.patch
303 Patch10002: kernel-grsec_fixes.patch
305 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
306 # kernel.spec every time.
307 #Patch50000: kernel-usb_reset.patch
309 URL: http://www.kernel.org/
310 BuildRequires: binutils >= 3:2.18
311 %ifarch sparc sparc64
312 BuildRequires: elftoaout
315 BuildRequires: uboot-mkimage
317 BuildRequires: /sbin/depmod
318 BuildRequires: gcc >= 5:3.2
319 BuildRequires: xz >= 1:4.999.7
321 BuildRequires: hostname
322 BuildRequires: module-init-tools >= %{module_init_tools_ver}
323 BuildRequires: perl-base
324 BuildRequires: rpm-build >= 4.5-24
325 BuildRequires: rpmbuild(macros) >= 1.217
326 Requires(post): coreutils
327 Requires(post): geninitrd >= 10000-3
328 Requires(post): module-init-tools >= %{module_init_tools_ver}
329 Requires: /sbin/depmod
331 Requires: geninitrd >= 10000-3
332 Requires: module-init-tools >= %{module_init_tools_ver}
334 Provides: %{name}(netfilter) = 20070806
335 Provides: %{name}(vermagic) = %{kernel_release}
336 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
337 Obsoletes: kernel-firmware
338 Obsoletes: kernel-misc-acer_acpi
339 Obsoletes: kernel-misc-fuse
340 Obsoletes: kernel-misc-uvc
341 Obsoletes: kernel-modules
342 Obsoletes: kernel-net-ar81
343 Obsoletes: kernel-net-hostap
344 Obsoletes: kernel-net-ieee80211
345 Obsoletes: kernel-net-ipp2p
346 Obsoletes: kernel-net-rt61
347 Obsoletes: kernel-smp
348 Conflicts: e2fsprogs < 1.29
349 Conflicts: isdn4k-utils < 3.1pre1
350 Conflicts: jfsutils < 1.1.3
351 Conflicts: lvm2 < 2.02.40
352 Conflicts: nfs-utils < 1.0.5
353 Conflicts: oprofile < 0.9
354 Conflicts: ppp < 1:2.4.0
355 Conflicts: procps < 3.2.0
356 Conflicts: quota-tools < 3.09
357 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
358 Conflicts: reiserfsprogs < 3.6.3
359 Conflicts: rpm < 4.4.2-0.2
360 Conflicts: udev < 1:081
361 Conflicts: util-linux < 2.10o
362 Conflicts: util-vserver < 0.30.216
363 Conflicts: xfsprogs < 2.6.0
365 ExcludeArch: i386 i486 i586
367 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
370 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
372 %ifarch %{ix86} %{x8664}
373 %define target_arch_dir x86
376 %define target_arch_dir powerpc
378 %ifarch sparc sparc64
379 %define target_arch_dir sparc
381 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
382 %define target_arch_dir %{_target_base_arch}
385 %define defconfig arch/%{target_arch_dir}/defconfig
387 # No ELF objects there to strip (skips processing 27k files)
388 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
389 %define _noautochrpath .*%{_kernelsrcdir}/.*
392 %define initrd_dir /boot/efi
394 %define initrd_dir /boot
397 %define topdir %{_builddir}/%{name}-%{version}
398 %define srcdir %{topdir}/linux-%{basever}-rc7
399 %define objdir %{topdir}/%{targetobj}
400 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
402 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
404 %if "%{_target_base_arch}" != "%{_arch}"
405 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
406 %define DepMod /bin/true
408 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
409 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
410 %define DepMod /sbin/depmod
413 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
414 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
415 %define DepMod /sbin/depmod
418 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
419 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
420 %define DepMod /sbin/depmod
423 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
424 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
428 %define CrossOpts ARCH=powerpc CC="%{__cc}"
430 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
432 %define DepMod /sbin/depmod
434 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
437 %{?with_grsecurity:Grsecurity support - enabled}\
438 %{?with_pax:PaX support - enabled}\
439 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
440 %{?with_nfsroot:Root on NFS - enabled}\
442 %define Features %(echo "%{__features}" | sed '/^$/d')
445 This package contains the Linux kernel that is used to boot and run
446 your system. It contains few device drivers for specific hardware.
447 Most hardware is instead supported by modules loaded after booting.
451 %description -l de.UTF-8
452 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
453 Linux-Betriebssystems. Der Kernel ist für grundliegende
454 Systemfunktionen verantwortlich: Speicherreservierung,
455 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
459 %description -l fr.UTF-8
460 Le package kernel contient le kernel linux (vmlinuz), la partie
461 centrale d'un système d'exploitation Linux. Le noyau traite les
462 fonctions basiques d'un système d'exploitation: allocation mémoire,
463 allocation de process, entrée/sortie de peripheriques, etc.
467 %description -l pl.UTF-8
468 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
469 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
470 się w komputerze, takiego jak sterowniki dysków itp.
475 Summary: vmlinux - uncompressed kernel image
476 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
477 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
479 Obsoletes: kernel-smp-vmlinux
482 vmlinux - uncompressed kernel image.
484 %description vmlinux -l de.UTF-8
485 vmlinux - dekompressiertes Kernel Bild.
487 %description vmlinux -l pl.UTF-8
488 vmlinux - rozpakowany obraz jÄ…dra.
491 Summary: DRM kernel modules
492 Summary(de.UTF-8): DRM Kernel Treiber
493 Summary(pl.UTF-8): Sterowniki DRM
495 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
496 Requires: %{name} = %{epoch}:%{version}-%{release}
497 Obsoletes: kernel-smp-drm
503 %description drm -l de.UTF-8
506 %description drm -l pl.UTF-8
510 Summary: PCMCIA modules
511 Summary(de.UTF-8): PCMCIA Module
512 Summary(pl.UTF-8): Moduły PCMCIA
514 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
515 Requires: %{name} = %{epoch}:%{version}-%{release}
516 Obsoletes: kernel-smp-pcmcia
517 Conflicts: pcmcia-cs < 3.1.21
518 Conflicts: pcmciautils < 004
524 %description pcmcia -l de.UTF-8
527 %description pcmcia -l pl.UTF-8
531 Summary: ALSA kernel modules
532 Summary(de.UTF-8): ALSA Kernel Module
533 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
535 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
536 Requires: %{name} = %{epoch}:%{version}-%{release}
537 Obsoletes: kernel-smp-sound-alsa
540 %description sound-alsa
541 ALSA (Advanced Linux Sound Architecture) sound drivers.
543 %description sound-alsa -l de.UTF-8
544 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
546 %description sound-alsa -l pl.UTF-8
547 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
550 Summary: OSS kernel modules
551 Summary(de.UTF-8): OSS Kernel Module
552 Summary(pl.UTF-8): Sterowniki dźwięku OSS
554 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
555 Requires: %{name} = %{epoch}:%{version}-%{release}
556 Obsoletes: kernel-smp-sound-oss
559 %description sound-oss
560 OSS (Open Sound System) drivers.
562 %description sound-oss -l de.UTF-8
563 OSS (Open Sound System) Treiber.
565 %description sound-oss -l pl.UTF-8
566 Sterowniki dźwięku OSS (Open Sound System).
569 Summary: Header files for the Linux kernel
570 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
571 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
572 Group: Development/Building
573 Provides: %{name}-headers(netfilter) = 20070806
577 These are the C header files for the Linux kernel, which define
578 structures and constants that are needed when rebuilding the kernel or
579 building kernel modules.
581 %description headers -l de.UTF-8
582 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
583 Strukturen und Konstante beinhalten, die beim rekompilieren des
584 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
586 %description headers -l pl.UTF-8
587 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
588 oraz budowania modułów jądra.
590 %package module-build
591 Summary: Development files for building kernel modules
592 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
593 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
594 Group: Development/Building
595 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
596 Conflicts: rpmbuild(macros) < 1.550
599 %description module-build
600 Development files from kernel source tree needed to build Linux kernel
601 modules from external packages.
603 %description module-build -l de.UTF-8
604 Development Dateien des Linux-Kernels die beim kompilieren externer
605 Kernel Module gebraucht werden.
607 %description module-build -l pl.UTF-8
608 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
609 Linuksa z zewnętrznych pakietów.
612 Summary: Kernel source tree
613 Summary(de.UTF-8): Der Kernel Quelltext
614 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
615 Group: Development/Building
616 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
620 This is the source code for the Linux kernel. You can build a custom
621 kernel that is better tuned to your particular hardware.
623 %description source -l de.UTF-8
624 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
625 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
626 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
627 im Kernel-Source definiert sind. Die Source-Dateien können auch
628 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
629 Hardware ausgerichtet ist.
631 %description source -l fr.UTF-8
632 Le package pour le kernel-source contient le code source pour le noyau
633 linux. Ces sources sont nécessaires pour compiler la plupart des
634 programmes C, car il dépend de constantes définies dans le code
635 source. Les sources peuvent être aussi utilisée pour compiler un noyau
636 personnalisé pour avoir de meilleures performances sur des matériels
639 %description source -l pl.UTF-8
640 Pakiet zawiera kod źródłowy jądra systemu.
643 Summary: Kernel documentation
644 Summary(de.UTF-8): Kernel Dokumentation
645 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
650 This is the documentation for the Linux kernel, as found in
651 /usr/src/linux/Documentation directory.
653 %description doc -l de.UTF-8
654 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
655 Verzeichniss vorgefunden werden kann.
657 %description doc -l pl.UTF-8
658 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
659 /usr/src/linux/Documentation.
663 ln -s %{SOURCE7} kernel-module-build.pl
664 ln -s %{SOURCE10} Makefile
665 cd linux-%{basever}-rc7
667 # hack against warning in pax/grsec
668 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
670 %if "%{postver}" != ".0"
671 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
674 %if %{without vanilla}
682 %if %{with fbcondecor}
691 # kernel-pom-ng-IPV4OPTSSTRIP.patch
694 # kernel-pom-ng-mms-conntrack-nat.patch
697 # kernel-pom-ng-rsh.patch
700 # kernel-pom-ng-rpc.patch
703 # kernel-nf_rtsp.patch
706 # kernel-owner-xid.patch
711 # kernel-layer7.patch
744 # kernel-rndis_host-wm5.patch
747 # hostap enhancements from/for aircrack-ng
773 # grsecurity & pax stuff
776 %if %{with grsecurity}
778 # aufs2 needs to modify those pointers
780 %{?with_vserver:%patch10000 -p1}
781 %{?with_vserver:%patch10001 -p1}
782 %{?with_vserver:%patch10002 -p1}
785 # end of grsecurity & pax stuff
805 # Do not remove this, please!
808 # Fix EXTRAVERSION in main Makefile
809 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
811 # cleanup backups after patching
812 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
816 cat > %{targetobj}.mk <<'EOF'
817 # generated by %{name}.spec
818 KERNELSRC := %{srcdir}
819 KERNELOUTPUT := %{objdir}
821 SRCARCH := %{target_arch_dir}
822 ARCH := %{_target_base_arch}
823 Q := %{!?with_verbose:@}
824 MAKE_OPTS := %{MakeOpts}
825 DEFCONFIG := %{defconfig}
832 CONFIG_PAX_SEGMEXEC=y
833 # performance impact on CPUs without NX bit
834 CONFIG_PAX_PAGEEXEC=n
837 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
843 CONFIG_PAX_NOELFRELOCS=n
846 CONFIG_PAX_EMUTRAMP=y
847 CONFIG_PAX_EMUSIGRT=y
851 %ifarch sparc sparc64 alpha
855 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
856 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
857 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
858 # PAX_HOOK_ACL_FLAGS.
860 %if %{with grsecurity}
861 # Hardening grsec options if with pax
862 CONFIG_GRKERNSEC_PROC_MEMMAP=y
863 # almost rational (see HIDESYM help)
864 CONFIG_GRKERNSEC_HIDESYM=y
866 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
868 CONFIG_PAX_HAVE_ACL_FLAGS=n
869 CONFIG_PAX_HOOK_ACL_FLAGS=y
879 # CONFIG_SOUND is not set
880 # CONFIG_AUDIT is not set
881 # CONFIG_TR is not set
882 # CONFIG_BT is not set
883 # CONFIG_VIDEO_DEV is not set
884 # CONFIG_DVB_CORE is not set
885 # CONFIG_HAMRADIO is not set
886 # CONFIG_ARCNET is not set
887 # CONFIG_FB is not set
888 # CONFIG_DRM is not set
889 # CONFIG_WATCHDOG is not set
890 # CONFIG_INPUT_JOYSTICK is not set
891 # CONFIG_DEBUG_KERNEL is not set
892 # CONFIG_ISDN is not set
893 # CONFIG_AGP is not set
894 # CONFIG_SECURITY is not set
895 # CONFIG_PARIDE is not set
896 # CONFIG_CPU_FREQ is not set
897 # CONFIG_GAMEPORT is not set
898 # CONFIG_KVM is not set
899 # CONFIG_PHONE is not set
900 # CONFIG_STRICT_DEVMEM is not set
901 # CONFIG_IMA is not set
904 CONFIG_AUFS_BR_RAMFS=y
906 CONFIG_BLK_DEV_LOOP=y
919 Config="kernel-%{target_arch_dir}.config"
920 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
922 # prepare local and important options
923 cat <<-EOCONFIG > important.config
924 LOCALVERSION="-%{localversion}"
928 CONFIG_DEBUG_SLAB_LEAK=y
929 CONFIG_DEBUG_PREEMPT=y
930 CONFIG_RT_DEADLOCK_DETECT=y
937 %ifarch i686 athlon pentium3 pentium4
946 %if %{without pcmcia}
950 %if %{with fbcondecor}
954 CONFIG_FB_TILEBLITTING=n
955 CONFIG_FB_CON_DECOR=y
963 # Temporary disabled RELOCATABLE. Needed only on x86??
964 %if %{with pax} || %{with grsecurity}
970 RescueConfig rescue.config
976 # prepare kernel-style config file from multiple config files
977 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
979 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
982 %if %{without vanilla}
993 %if %{with grsecurity}
1011 %if %{with tuxonice}
1012 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1016 %{SOURCE41} %{?0:patches} \
1019 $RPM_SOURCE_DIR/$Config
1023 install -d arch/%{target_arch_dir}
1024 BuildConfig > %{defconfig}
1025 ln -sf %{defconfig} .config
1029 TARGETOBJ=%{targetobj} \
1030 %{?with_verbose:V=1} \
1033 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1037 TARGETOBJ=%{targetobj} \
1038 %{?with_verbose:V=1} \
1042 rm -rf $RPM_BUILD_ROOT
1043 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1045 %{?with_verbose:V=1} \
1047 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1048 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1049 KERNELRELEASE=%{kernel_release}
1051 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1053 # create directories which may be missing, to simplyfy %files
1054 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1056 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1057 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1058 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1060 # no point embed content for %ghost files. empty them
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.devname
1323 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1324 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1325 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1326 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1327 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1328 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1329 %ghost /lib/modules/%{kernel_release}/modules.softdep
1330 %ghost /lib/modules/%{kernel_release}/modules.symbols
1331 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1332 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1334 # symlinks pointing to kernelsrcdir
1335 %ghost /lib/modules/%{kernel_release}/build
1336 %ghost /lib/modules/%{kernel_release}/source
1338 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1340 %defattr(644,root,root,755)
1341 /boot/vmlinux-%{kernel_release}
1346 %defattr(644,root,root,755)
1347 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1352 %defattr(644,root,root,755)
1353 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1354 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1355 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1356 %if %{without rescuecd}
1357 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1360 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1362 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1363 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1364 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1365 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1366 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1367 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1368 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1369 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1370 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1375 %defattr(644,root,root,755)
1376 /lib/modules/%{kernel_release}/kernel/sound
1377 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1378 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1379 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1381 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1384 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1385 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1386 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1387 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1392 %defattr(644,root,root,755)
1393 /lib/modules/%{kernel_release}/kernel/sound/oss
1397 %files headers -f files.headers_exclude_kbuild
1398 %defattr(644,root,root,755)
1399 %dir %{_kernelsrcdir}
1400 %{_kernelsrcdir}/include
1401 %dir %{_kernelsrcdir}/arch
1402 %dir %{_kernelsrcdir}/arch/[!K]*
1403 %{_kernelsrcdir}/arch/*/include
1404 %dir %{_kernelsrcdir}/security
1405 %dir %{_kernelsrcdir}/security/selinux
1406 %{_kernelsrcdir}/security/selinux/include
1407 %{_kernelsrcdir}/config-dist
1408 %{_kernelsrcdir}/Module.symvers-dist
1410 %files module-build -f files.mb_include_modulebuild_and_dirs
1411 %defattr(644,root,root,755)
1413 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1415 %exclude %dir %{_kernelsrcdir}/arch/um
1416 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1417 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1418 %{_kernelsrcdir}/drivers/lguest/lg.h
1419 %{_kernelsrcdir}/kernel/bounds.c
1420 %dir %{_kernelsrcdir}/scripts
1421 %{_kernelsrcdir}/scripts/Kbuild.include
1422 %{_kernelsrcdir}/scripts/Makefile*
1423 %{_kernelsrcdir}/scripts/basic
1424 %{_kernelsrcdir}/scripts/kconfig
1425 %{_kernelsrcdir}/scripts/mkcompile_h
1426 %{_kernelsrcdir}/scripts/mkmakefile
1427 %{_kernelsrcdir}/scripts/mod
1428 %{_kernelsrcdir}/scripts/module-common.lds
1429 %{_kernelsrcdir}/scripts/setlocalversion
1430 %{_kernelsrcdir}/scripts/*.c
1431 %{_kernelsrcdir}/scripts/*.sh
1432 %dir %{_kernelsrcdir}/scripts/selinux
1433 %{_kernelsrcdir}/scripts/selinux/Makefile
1434 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1435 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1436 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1437 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1438 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1439 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1440 %exclude %dir %{_kernelsrcdir}/security
1441 %exclude %dir %{_kernelsrcdir}/security/selinux
1445 %defattr(644,root,root,755)
1446 %dir %{_docdir}/%{name}-%{version}
1448 %{_docdir}/%{name}-%{version}/[!jkz]*
1449 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1450 %{_docdir}/%{name}-%{version}/kbuild
1451 %{_docdir}/%{name}-%{version}/kdump
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