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_without pae # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
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
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}
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.x/linux-%{basever}.tar.xz
140 # Source0-md5: ecf932280e2441bdd992423ef3d55f8f
141 %if "%{postver}" != ".0"
142 Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
143 # Patch0-md5: d278411821f5fa342ca3ac8bb2563618
146 Source3: kernel-autoconf.h
147 Source4: kernel-config.h
148 Source6: kernel-config.awk
149 Source7: kernel-module-build.pl
150 Source8: kernel-track-config-change.awk
151 # not used by kernel.spec, but it's good to have it in SOURCES
152 Source9: kernel-config-sort.pl
153 Source10: kernel.make
155 Source20: kernel-multiarch.config
156 Source21: kernel-x86.config
157 Source22: kernel-sparc.config
158 Source23: kernel-alpha.config
159 Source24: kernel-powerpc.config
160 Source25: kernel-ia64.config
162 Source41: kernel-patches.config
163 Source42: kernel-tuxonice.config
164 Source43: kernel-vserver.config
165 Source45: kernel-grsec.config
167 Source49: kernel-pax.config
168 Source50: kernel-no-pax.config
169 Source55: kernel-imq.config
170 Source56: kernel-reiser4.config
171 Source57: kernel-wrr.config
173 Source58: kernel-inittmpfs.config
175 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
176 Patch3: kernel-fbcondecor.patch
177 Patch4: kernel-fbcon-margins.patch
178 Patch5: linux-wistron-amilo8210.patch
180 # netfilter related stuff mostly based on patch-o-matic-ng
181 # snapshot 20070806 with some fixes. Some modules
182 # were ported to nf_conntrack.
184 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
186 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
187 Patch22: kernel-pom-ng-rsh.patch
188 Patch23: kernel-pom-ng-rpc.patch
190 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
191 Patch36: kernel-nf_rtsp.patch
193 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
194 Patch37: kernel-owner-xid.patch
196 # based on kernel-2.6.25-layer7-2.20.patch from
197 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
198 Patch40: kernel-layer7.patch
202 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
203 Patch49: kernel-zph.patch
205 # based on http://www.linuximq.net/patchs/linux-2.6.39-imq-multiqueue-test1.diff.bz2
206 Patch50: kernel-imq.patch
208 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
209 Patch51: kernel-reiser4.patch
211 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
212 Patch52: kernel-wrr.patch
214 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
215 Patch53: kernel-esfq.patch
217 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
218 Patch54: kernel-toshiba_acpi.patch
220 # by Baggins request:
221 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
222 Patch55: kernel-atm-vbr.patch
223 Patch56: kernel-atmdd.patch
225 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
226 Patch59: kernel-rndis_host-wm5.patch
228 # Project suspend2 renamed to tuxonice
229 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
230 # NOTE: currently using own diff from tuxonice git tree until official patch is released
231 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-head.git
232 # git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-<basever>.git
233 # To produce patch: git diff upstream/master...tuxonice/combined
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-3.0.25-vs2.3.2.3.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.11_for_3.0.18.diff.gz
250 Patch140: kernel-unionfs.patch
252 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
254 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
255 # cd aufs3-standalone
256 # git checkout -b aufs3.0 origin/aufs3.0
257 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
259 # cp -a Documentation fs include linux
260 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
262 Patch145: kernel-aufs3.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 # https://patchwork.kernel.org/patch/236261/
271 Patch400: kernel-virtio-gl-accel.patch
273 Patch2000: kernel-small_fixes.patch
274 Patch2001: kernel-pwc-uncompress.patch
275 Patch2003: kernel-regressions.patch
277 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
278 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
279 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
280 Patch5000: kernel-apparmor.patch
283 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
284 Patch7000: kernel-inittmpfs.patch
286 # based on https://github.com/slashbeast/grsecurity-scrape/blob/master/test/grsecurity-2.2.2-3.0.9-201111161802.patch
287 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
288 # (since upstream deletes older patches)
289 Patch9999: kernel-grsec_full.patch
290 Patch10000: kernel-grsec-caps.patch
291 Patch10001: kernel-grsec-common.patch
292 Patch10002: kernel-grsec_fixes.patch
294 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
295 # kernel.spec every time.
296 #Patch50000: kernel-usb_reset.patch
298 URL: http://www.kernel.org/
299 BuildRequires: binutils >= 3:2.18
300 %ifarch sparc sparc64
301 BuildRequires: elftoaout
304 BuildRequires: uboot-mkimage
306 BuildRequires: /sbin/depmod
307 BuildRequires: gcc >= 5:3.2
308 BuildRequires: xz >= 1:4.999.7
310 BuildRequires: hostname
311 BuildRequires: virtual(module-tools)
312 BuildRequires: perl-base
313 BuildRequires: rpm-build >= 4.5-24
314 BuildRequires: rpmbuild(macros) >= 1.217
315 Requires(post): coreutils
316 Requires(post): geninitrd >= 10000-3
317 Requires(post): virtual(module-tools)
318 Requires: /sbin/depmod
320 Requires: geninitrd >= 10000-3
321 Requires: virtual(module-tools)
323 %ifarch i686 athlon pentium3 pentium4
324 Requires: cpuinfo(pae)
329 Provides: %{name}(netfilter) = 20070806
330 Provides: %{name}(vermagic) = %{kernel_release}
331 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
332 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
333 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
334 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
335 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
336 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
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: module-init-tools < 3.16
353 Conflicts: nfs-utils < 1.0.5
354 Conflicts: oprofile < 0.9
355 Conflicts: ppp < 1:2.4.0
356 Conflicts: procps < 3.2.0
357 Conflicts: quota-tools < 3.09
358 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
359 Conflicts: reiserfsprogs < 3.6.3
360 Conflicts: rpm < 4.4.2-0.2
361 Conflicts: udev < 1:081
362 Conflicts: util-linux < 2.10o
363 Conflicts: util-vserver < 0.30.216
364 Conflicts: xfsprogs < 2.6.0
365 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
367 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
369 %ifarch %{ix86} %{x8664}
370 %define target_arch_dir x86
373 %define target_arch_dir powerpc
375 %ifarch sparc sparc64
376 %define target_arch_dir sparc
378 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
379 %define target_arch_dir %{_target_base_arch}
382 %define defconfig arch/%{target_arch_dir}/defconfig
384 # No ELF objects there to strip (skips processing 27k files)
385 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
386 %define _noautochrpath .*%{_kernelsrcdir}/.*
389 %define initrd_dir /boot/efi
391 %define initrd_dir /boot
394 %define topdir %{_builddir}/%{name}-%{version}
395 %define srcdir %{topdir}/linux-%{basever}
396 %define objdir %{topdir}/%{targetobj}
397 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
399 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
401 %if "%{_target_base_arch}" != "%{_arch}"
402 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
403 %define DepMod /bin/true
405 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
406 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
407 %define DepMod /sbin/depmod
410 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
411 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
412 %define DepMod /sbin/depmod
415 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
416 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
417 %define DepMod /sbin/depmod
420 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
421 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
425 %define CrossOpts ARCH=powerpc CC="%{__cc}"
427 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
429 %define DepMod /sbin/depmod
431 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
434 %{?with_grsecurity:Grsecurity support - enabled}\
435 %{?with_pax:PaX support - enabled}\
436 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
437 %{?with_nfsroot:Root on NFS - enabled}\
439 %define Features %(echo "%{__features}" | sed '/^$/d')
442 This package contains the Linux kernel that is used to boot and run
443 your system. It contains few device drivers for specific hardware.
444 Most hardware is instead supported by modules loaded after booting.
448 %description -l de.UTF-8
449 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
450 Linux-Betriebssystems. Der Kernel ist für grundliegende
451 Systemfunktionen verantwortlich: Speicherreservierung,
452 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
456 %description -l fr.UTF-8
457 Le package kernel contient le kernel linux (vmlinuz), la partie
458 centrale d'un système d'exploitation Linux. Le noyau traite les
459 fonctions basiques d'un système d'exploitation: allocation mémoire,
460 allocation de process, entrée/sortie de peripheriques, etc.
464 %description -l pl.UTF-8
465 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
466 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
467 się w komputerze, takiego jak sterowniki dysków itp.
472 Summary: vmlinux - uncompressed kernel image
473 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
474 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
476 Obsoletes: kernel-smp-vmlinux
479 vmlinux - uncompressed kernel image.
481 %description vmlinux -l de.UTF-8
482 vmlinux - dekompressiertes Kernel Bild.
484 %description vmlinux -l pl.UTF-8
485 vmlinux - rozpakowany obraz jÄ…dra.
488 Summary: DRM kernel modules
489 Summary(de.UTF-8): DRM Kernel Treiber
490 Summary(pl.UTF-8): Sterowniki DRM
492 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
493 Requires: %{name} = %{epoch}:%{version}-%{release}
494 Obsoletes: kernel-smp-drm
500 %description drm -l de.UTF-8
503 %description drm -l pl.UTF-8
507 Summary: PCMCIA modules
508 Summary(de.UTF-8): PCMCIA Module
509 Summary(pl.UTF-8): Moduły PCMCIA
511 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
512 Requires: %{name} = %{epoch}:%{version}-%{release}
513 Obsoletes: kernel-smp-pcmcia
514 Conflicts: pcmcia-cs < 3.1.21
515 Conflicts: pcmciautils < 004
521 %description pcmcia -l de.UTF-8
524 %description pcmcia -l pl.UTF-8
528 Summary: ALSA kernel modules
529 Summary(de.UTF-8): ALSA Kernel Module
530 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
532 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
533 Requires: %{name} = %{epoch}:%{version}-%{release}
534 Obsoletes: kernel-smp-sound-alsa
537 %description sound-alsa
538 ALSA (Advanced Linux Sound Architecture) sound drivers.
540 %description sound-alsa -l de.UTF-8
541 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
543 %description sound-alsa -l pl.UTF-8
544 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
547 Summary: OSS kernel modules
548 Summary(de.UTF-8): OSS Kernel Module
549 Summary(pl.UTF-8): Sterowniki dźwięku OSS
551 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
552 Requires: %{name} = %{epoch}:%{version}-%{release}
553 Obsoletes: kernel-smp-sound-oss
556 %description sound-oss
557 OSS (Open Sound System) drivers.
559 %description sound-oss -l de.UTF-8
560 OSS (Open Sound System) Treiber.
562 %description sound-oss -l pl.UTF-8
563 Sterowniki dźwięku OSS (Open Sound System).
566 Summary: Header files for the Linux kernel
567 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
568 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
569 Group: Development/Building
570 Provides: %{name}-headers(netfilter) = 20070806
574 These are the C header files for the Linux kernel, which define
575 structures and constants that are needed when rebuilding the kernel or
576 building kernel modules.
578 %description headers -l de.UTF-8
579 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
580 Strukturen und Konstante beinhalten, die beim rekompilieren des
581 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
583 %description headers -l pl.UTF-8
584 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
585 oraz budowania modułów jądra.
587 %package module-build
588 Summary: Development files for building kernel modules
589 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
590 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
591 Group: Development/Building
592 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
593 Conflicts: rpmbuild(macros) < 1.642
596 %description module-build
597 Development files from kernel source tree needed to build Linux kernel
598 modules from external packages.
600 %description module-build -l de.UTF-8
601 Development Dateien des Linux-Kernels die beim kompilieren externer
602 Kernel Module gebraucht werden.
604 %description module-build -l pl.UTF-8
605 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
606 Linuksa z zewnętrznych pakietów.
609 Summary: Kernel source tree
610 Summary(de.UTF-8): Der Kernel Quelltext
611 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
612 Group: Development/Building
613 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
617 This is the source code for the Linux kernel. You can build a custom
618 kernel that is better tuned to your particular hardware.
620 %description source -l de.UTF-8
621 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
622 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
623 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
624 im Kernel-Source definiert sind. Die Source-Dateien können auch
625 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
626 Hardware ausgerichtet ist.
628 %description source -l fr.UTF-8
629 Le package pour le kernel-source contient le code source pour le noyau
630 linux. Ces sources sont nécessaires pour compiler la plupart des
631 programmes C, car il dépend de constantes définies dans le code
632 source. Les sources peuvent être aussi utilisée pour compiler un noyau
633 personnalisé pour avoir de meilleures performances sur des matériels
636 %description source -l pl.UTF-8
637 Pakiet zawiera kod źródłowy jądra systemu.
640 Summary: Kernel documentation
641 Summary(de.UTF-8): Kernel Dokumentation
642 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
647 This is the documentation for the Linux kernel, as found in
648 /usr/src/linux/Documentation directory.
650 %description doc -l de.UTF-8
651 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
652 Verzeichniss vorgefunden werden kann.
654 %description doc -l pl.UTF-8
655 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
656 /usr/src/linux/Documentation.
660 ln -s %{SOURCE7} kernel-module-build.pl
661 ln -s %{SOURCE10} Makefile
664 # hack against warning in pax/grsec
665 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
668 %if "%{postver}" != ".0"
672 %if %{without vanilla}
680 %if %{with fbcondecor}
689 # kernel-pom-ng-IPV4OPTSSTRIP.patch
692 # kernel-pom-ng-mms-conntrack-nat.patch
695 # kernel-pom-ng-rsh.patch
698 # kernel-pom-ng-rpc.patch
701 # kernel-nf_rtsp.patch
704 # kernel-owner-xid.patch
709 # kernel-layer7.patch
742 # kernel-rndis_host-wm5.patch
745 # hostap enhancements from/for aircrack-ng
771 # grsecurity & pax stuff
774 %if %{with grsecurity}
778 %{?with_vserver:%patch10000 -p1}
779 %{?with_vserver:%patch10001 -p1}
780 %{?with_vserver:%patch10002 -p1}
783 # end of grsecurity & pax stuff
800 # Do not remove this, please!
803 # Fix EXTRAVERSION in main Makefile
804 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
806 # cleanup backups after patching
807 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
811 cat > %{targetobj}.mk <<'EOF'
812 # generated by %{name}.spec
813 KERNELSRC := %{srcdir}
814 KERNELOUTPUT := %{objdir}
816 SRCARCH := %{target_arch_dir}
817 ARCH := %{_target_base_arch}
818 Q := %{!?with_verbose:@}
819 MAKE_OPTS := %{MakeOpts}
820 DEFCONFIG := %{defconfig}
827 CONFIG_PAX_SEGMEXEC=y
828 # performance impact on CPUs without NX bit
829 CONFIG_PAX_PAGEEXEC=n
832 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
838 CONFIG_PAX_NOELFRELOCS=n
841 CONFIG_PAX_EMUTRAMP=y
842 CONFIG_PAX_EMUSIGRT=y
846 %ifarch sparc sparc64 alpha
850 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
851 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
852 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
853 # PAX_HOOK_ACL_FLAGS.
855 %if %{with grsecurity}
856 # Hardening grsec options if with pax
857 CONFIG_GRKERNSEC_PROC_MEMMAP=y
858 # almost rational (see HIDESYM help)
859 CONFIG_GRKERNSEC_HIDESYM=y
861 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
863 CONFIG_PAX_HAVE_ACL_FLAGS=n
864 CONFIG_PAX_HOOK_ACL_FLAGS=y
874 # CONFIG_SOUND is not set
875 # CONFIG_AUDIT is not set
876 # CONFIG_TR is not set
877 # CONFIG_BT is not set
878 # CONFIG_VIDEO_DEV is not set
879 # CONFIG_DVB_CORE is not set
880 # CONFIG_HAMRADIO is not set
881 # CONFIG_ARCNET is not set
882 # CONFIG_FB is not set
883 # CONFIG_DRM is not set
884 # CONFIG_WATCHDOG is not set
885 # CONFIG_INPUT_JOYSTICK is not set
886 # CONFIG_DEBUG_KERNEL is not set
887 # CONFIG_ISDN is not set
888 # CONFIG_AGP is not set
889 # CONFIG_SECURITY is not set
890 # CONFIG_PARIDE is not set
891 # CONFIG_CPU_FREQ is not set
892 # CONFIG_GAMEPORT is not set
893 # CONFIG_KVM is not set
894 # CONFIG_PHONE is not set
895 # CONFIG_STRICT_DEVMEM is not set
896 # CONFIG_IMA is not set
899 CONFIG_AUFS_BR_RAMFS=y
901 CONFIG_BLK_DEV_LOOP=y
914 Config="kernel-%{target_arch_dir}.config"
915 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
917 # prepare local and important options
918 cat <<-EOCONFIG > important.config
919 LOCALVERSION="-%{localversion}"
923 CONFIG_DEBUG_SLAB_LEAK=y
924 CONFIG_DEBUG_PREEMPT=y
925 CONFIG_RT_DEADLOCK_DETECT=y
932 %ifarch i686 athlon pentium3 pentium4
941 %if %{without pcmcia}
945 %if %{with fbcondecor}
949 CONFIG_FB_TILEBLITTING=n
950 CONFIG_FB_CON_DECOR=y
958 # Temporary disabled RELOCATABLE. Needed only on x86??
959 %if %{with pax} || %{with grsecurity}
965 RescueConfig rescue.config
971 # prepare kernel-style config file from multiple config files
972 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
974 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
977 %if %{without vanilla}
988 %if %{with grsecurity}
1006 %if %{with tuxonice}
1007 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1011 %{SOURCE41} %{?0:patches} \
1014 $RPM_SOURCE_DIR/$Config
1018 install -d arch/%{target_arch_dir}
1019 BuildConfig > %{defconfig}
1020 ln -sf %{defconfig} .config
1024 TARGETOBJ=%{targetobj} \
1025 %{?with_verbose:V=1} \
1028 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1032 TARGETOBJ=%{targetobj} \
1033 %{?with_verbose:V=1} \
1037 rm -rf $RPM_BUILD_ROOT
1038 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1040 %{?with_verbose:V=1} \
1042 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1043 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1044 KERNELRELEASE=%{kernel_release}
1046 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1048 # create directories which may be missing, to simplyfy %files
1049 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1051 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1052 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1053 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1055 # no point embed content for %ghost files. empty them
1062 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1064 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1065 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1069 install -d $RPM_BUILD_ROOT/boot
1070 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1071 %ifarch %{ix86} %{x8664}
1072 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1073 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1076 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1077 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1080 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1081 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1082 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1084 %ifarch alpha sparc sparc64
1085 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1086 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1087 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1089 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1090 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1093 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1094 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1098 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1102 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1103 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
1105 %if "%{_target_base_arch}" != "%{_arch}"
1106 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1110 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1113 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1115 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1116 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1118 rm -f $RPM_BUILD_ROOT/COPYING
1121 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1122 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
1123 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
1124 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
1126 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
1127 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
1129 # collect module-build files and directories
1130 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1132 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1133 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1136 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
1138 if [ -x "$f" ]; then
1139 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1141 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1143 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
1144 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
1147 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1148 install -d $RPM_BUILD_ROOT%{_docdir}
1149 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1151 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1152 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1153 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1154 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1157 rm -rf $RPM_BUILD_ROOT
1160 if [ -x /sbin/new-kernel-pkg ]; then
1161 /sbin/new-kernel-pkg --remove %{kernel_release}
1166 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1167 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1168 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1169 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1171 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1172 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1173 mv -f /boot/System.map{,.old} 2> /dev/null
1174 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1175 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1176 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1177 ln -sf System.map-%{kernel_release} /boot/System.map
1178 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1180 %depmod %{kernel_release}
1183 # generate initrd after all dependant modules are installed
1184 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1185 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1186 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1187 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1188 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1190 # if dracut is present then generate full-featured initramfs
1191 if [ -x /sbin/dracut ]; then
1192 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
1195 # update boot loaders when old package files are gone from filesystem
1196 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1197 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1198 /sbin/update-grub >/dev/null
1201 if [ -x /sbin/new-kernel-pkg ]; then
1202 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1204 if [ -x /sbin/rc-boot ]; then
1205 /sbin/rc-boot 1>&2 || :
1209 mv -f /boot/vmlinux{,.old} 2> /dev/null
1210 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1211 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1212 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1215 %depmod %{kernel_release}
1218 %depmod %{kernel_release}
1221 %depmod %{kernel_release}
1224 %depmod %{kernel_release}
1227 %depmod %{kernel_release}
1230 %depmod %{kernel_release}
1233 %depmod %{kernel_release}
1236 %depmod %{kernel_release}
1239 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1242 if [ "$1" = "0" ]; then
1243 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1244 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1245 rm -f %{_prefix}/src/linux%{_alt_kernel}
1250 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1251 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1252 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1254 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1255 if [ "$1" = 0 ]; then
1256 rm -f /lib/modules/%{kernel_release}/{build,source}
1260 %defattr(644,root,root,755)
1261 %ifarch sparc sparc64
1262 /boot/vmlinux.aout-%{kernel_release}
1265 /boot/efi/vmlinuz-%{kernel_release}
1267 /boot/vmlinuz-%{kernel_release}
1268 /boot/System.map-%{kernel_release}
1269 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1270 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
1271 /lib/firmware/%{kernel_release}
1273 %dir /lib/modules/%{kernel_release}
1274 %dir /lib/modules/%{kernel_release}/kernel
1275 /lib/modules/%{kernel_release}/kernel/arch
1276 /lib/modules/%{kernel_release}/kernel/crypto
1277 /lib/modules/%{kernel_release}/kernel/drivers
1279 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1281 /lib/modules/%{kernel_release}/kernel/fs
1282 /lib/modules/%{kernel_release}/kernel/kernel
1283 /lib/modules/%{kernel_release}/kernel/lib
1284 /lib/modules/%{kernel_release}/kernel/net
1285 /lib/modules/%{kernel_release}/kernel/mm
1287 %dir /lib/modules/%{kernel_release}/kernel/sound
1288 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1289 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1296 %dir /lib/modules/%{kernel_release}/misc
1298 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1299 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1300 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1301 %if %{without rescuecd}
1302 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1303 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1304 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1305 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1306 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1307 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1309 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1310 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1311 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1312 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1313 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1314 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1315 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1316 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1319 /lib/modules/%{kernel_release}/kernel/sound
1321 /lib/modules/%{kernel_release}/kernel/security
1323 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1326 /lib/modules/%{kernel_release}/modules.order
1327 /lib/modules/%{kernel_release}/modules.builtin*
1329 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1330 %ghost /lib/modules/%{kernel_release}/modules.alias
1331 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1332 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1333 %ghost /lib/modules/%{kernel_release}/modules.dep
1334 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1335 %ghost /lib/modules/%{kernel_release}/modules.devname
1336 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1337 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1338 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1339 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1340 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1341 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1342 %ghost /lib/modules/%{kernel_release}/modules.softdep
1343 %ghost /lib/modules/%{kernel_release}/modules.symbols
1344 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1345 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1347 # symlinks pointing to kernelsrcdir
1348 %ghost /lib/modules/%{kernel_release}/build
1349 %ghost /lib/modules/%{kernel_release}/source
1351 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1353 %defattr(644,root,root,755)
1354 /boot/vmlinux-%{kernel_release}
1359 %defattr(644,root,root,755)
1360 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1365 %defattr(644,root,root,755)
1366 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1367 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1368 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1369 %if %{without rescuecd}
1370 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1371 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1372 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1373 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1375 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1376 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1377 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1378 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1379 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1380 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1381 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1382 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1383 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1388 %defattr(644,root,root,755)
1389 /lib/modules/%{kernel_release}/kernel/sound
1390 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1391 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1392 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1394 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1397 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1398 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1399 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1400 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1405 %defattr(644,root,root,755)
1406 /lib/modules/%{kernel_release}/kernel/sound/oss
1410 %files headers -f files.headers_exclude_kbuild
1411 %defattr(644,root,root,755)
1412 %dir %{_kernelsrcdir}
1413 %{_kernelsrcdir}/include
1414 %dir %{_kernelsrcdir}/arch
1415 %dir %{_kernelsrcdir}/arch/[!K]*
1416 %{_kernelsrcdir}/arch/*/include
1417 %dir %{_kernelsrcdir}/security
1418 %dir %{_kernelsrcdir}/security/selinux
1419 %{_kernelsrcdir}/security/selinux/include
1420 %{_kernelsrcdir}/.config
1421 %{_kernelsrcdir}/Module.symvers
1423 %files module-build -f files.mb_include_modulebuild_and_dirs
1424 %defattr(644,root,root,755)
1426 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1428 %exclude %dir %{_kernelsrcdir}/arch/um
1429 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1430 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1431 %{_kernelsrcdir}/drivers/lguest/lg.h
1432 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1433 %{_kernelsrcdir}/kernel/bounds.c
1434 %{_kernelsrcdir}/scripts/basic/*.c
1435 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1436 %{_kernelsrcdir}/scripts/kconfig/*.in
1437 %{_kernelsrcdir}/scripts/kconfig/*_shipped
1438 %{_kernelsrcdir}/scripts/kconfig/*.pl
1439 %{_kernelsrcdir}/scripts/kconfig/*.glade
1440 %{_kernelsrcdir}/scripts/kconfig/*.gperf
1441 %{_kernelsrcdir}/scripts/kconfig/*.cc
1442 %{_kernelsrcdir}/scripts/kconfig/*.y
1443 %{_kernelsrcdir}/scripts/kconfig/*.l
1444 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1445 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1446 %{_kernelsrcdir}/scripts/kconfig/l*.h
1447 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
1448 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
1449 %{_kernelsrcdir}/scripts/kconfig/lxdialog
1450 %{_kernelsrcdir}/scripts/mod/*.c
1451 %{_kernelsrcdir}/scripts/mod/[^e]*.h
1452 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
1453 %{_kernelsrcdir}/scripts/mkmakefile
1454 %{_kernelsrcdir}/scripts/module-common.lds
1455 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
1456 %{_kernelsrcdir}/scripts/*.c
1457 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
1458 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1459 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1460 %exclude %dir %{_kernelsrcdir}/security
1461 %exclude %dir %{_kernelsrcdir}/security/selinux
1462 %if %{with grsecurity}
1463 %{_kernelsrcdir}/tools/gcc/*.c
1468 %defattr(644,root,root,755)
1469 %dir %{_docdir}/%{name}-%{version}
1471 %{_docdir}/%{name}-%{version}/[!jkz]*
1472 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1473 %{_docdir}/%{name}-%{version}/kbuild
1474 %{_docdir}/%{name}-%{version}/kdump
1475 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1476 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1477 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1481 %files source -f files.source_exclude_modulebuild_and_dirs
1482 %defattr(644,root,root,755)
1483 %{_kernelsrcdir}/arch/*/[!Mik]*
1484 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1485 %{_kernelsrcdir}/arch/ia64/install.sh
1486 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1487 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1488 %{_kernelsrcdir}/arch/m68k/install.sh
1489 %{_kernelsrcdir}/arch/parisc/install.sh
1490 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1491 %{_kernelsrcdir}/arch/ia64/kvm
1492 %{_kernelsrcdir}/arch/powerpc/kvm
1494 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1496 %{_kernelsrcdir}/arch/s390/kvm
1497 %{_kernelsrcdir}/arch/x86/kvm
1498 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1499 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1500 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1501 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1502 %{_kernelsrcdir}/block
1503 %{_kernelsrcdir}/crypto
1504 %{_kernelsrcdir}/drivers
1505 %{_kernelsrcdir}/firmware
1507 %if %{with grsecurity} && %{without rescuecd}
1508 %{_kernelsrcdir}/grsecurity
1510 %{_kernelsrcdir}/init
1511 %{_kernelsrcdir}/ipc
1512 %{_kernelsrcdir}/kernel
1513 %exclude %{_kernelsrcdir}/kernel/bounds.c
1514 %{_kernelsrcdir}/lib
1516 %{_kernelsrcdir}/net
1517 %{_kernelsrcdir}/virt
1518 %{_kernelsrcdir}/samples
1519 %{_kernelsrcdir}/scripts/*
1520 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1521 %exclude %{_kernelsrcdir}/scripts/Makefile*
1522 %exclude %{_kernelsrcdir}/scripts/basic
1523 %exclude %{_kernelsrcdir}/scripts/kconfig
1524 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1525 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1526 %exclude %{_kernelsrcdir}/scripts/mod
1527 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1528 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1529 %exclude %{_kernelsrcdir}/scripts/*.c
1530 %exclude %{_kernelsrcdir}/scripts/*.sh
1531 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1532 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1533 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1534 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1535 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1536 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1537 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1538 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1539 %{_kernelsrcdir}/sound
1540 %{_kernelsrcdir}/security
1541 %exclude %{_kernelsrcdir}/security/selinux/include
1542 %{_kernelsrcdir}/tools/*
1543 %if %{with grsecurity}
1544 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1546 %{_kernelsrcdir}/usr
1547 %{_kernelsrcdir}/COPYING
1548 %{_kernelsrcdir}/CREDITS
1549 %{_kernelsrcdir}/MAINTAINERS
1550 %{_kernelsrcdir}/README
1551 %{_kernelsrcdir}/REPORTING-BUGS