3 # the following bcond combos will not work
4 # - without_vserver and any of the following
9 # LATEST VERSION CHECKER:
10 # # curl -s http://www.kernel.org/kdist/finger_banner
13 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
14 # - update or remove tahoe9xx patch2
15 # - update grsec_minimal patch1000:
16 # fs/proc/base.c:1484: error: 'struct task_struct' has no member named 'uid'
18 # HOWTO update configuration files:
20 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
21 # - sort configuration files using:
22 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
23 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
26 %bcond_without source # don't build kernel-source package
27 %bcond_without doc # don't build kernel-doc package
28 %bcond_without pcmcia # don't build pcmcia
30 %bcond_with verbose # verbose build (V=1)
31 %bcond_without reiser4 # support for reiser4 fs (experimental)
33 %bcond_without grsecurity # don't build grsecurity nor pax at all
34 %bcond_without grsec_full # build full grsecurity
35 %bcond_with grsec_minimal # build only minimal subset (proc,link,fifo,shm)
36 %bcond_with pax # build pax and full grsecurity (ie. grsec_full && pax)
38 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
39 %bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
40 %bcond_with nfsroot # build with root on NFS support
42 %bcond_without imq # imq support
43 %bcond_without wrr # wrr support
44 %bcond_without esfq # esfq support
45 %bcond_without ipv6 # ipv6 support
47 %bcond_without vserver # support for VServer (enabled by default)
48 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
49 %bcond_without apparmor # build kernel with apparmor (exerimental mix)
51 %bcond_with rescuecd # build kernel for our rescue
53 %bcond_with myown # build with your own config (kernel-myown.config)
55 %{?debug:%define with_verbose 1}
57 %if %{without grsecurity}
58 %unglobal with_grsec_full
59 %unglobal with_grsec_minimal
64 %unglobal with_grsec_minimal
65 %define with_grsec_full 1
66 %define with_grsecurity 1
70 %if %{with grsec_minimal}
72 %unglobal with_grsec_full
73 %define with_grsecurity 1
76 %if %{with grsec_full}
77 %unglobal with_grsec_minimal
78 %define with_grsecurity 1
87 %unglobal with_apparmor
88 %unglobal with_tuxonice
89 %unglobal with_grsecurity
90 %unglobal with_grsec_full
91 %unglobal with_grsec_minimal
93 %unglobal with_vserver
102 %define have_pcmcia 0
105 %ifarch sparc sparc64
106 %unglobal with_pcmcia
111 %if %{without pcmcia}
112 %define have_pcmcia 0
115 %define basever 2.6.35
119 %define _enable_debug_packages 0
121 %define tuxonice_version 3.1.1.1
122 %define netfilter_snap 20070806
125 %if "%{_alt_kernel}" == ""
126 %define alt_kernel myown
129 %if %{without rescuecd}
130 %define __alt_kernel %{?with_pax:pax}%{!?with_grsec_full:nogrsecurity}%{!?with_apparmor:noaa}%{?with_pae:pae}
131 %if "%{__alt_kernel}" != ""
132 %define alt_kernel %{__alt_kernel}
135 %define alt_kernel rescuecd
139 # kernel release (used in filesystem and eventually in uname -r)
140 # modules will be looked from /lib/modules/%{kernel_release}
141 # localversion is just that without version for "> localversion"
142 %define localversion %{rel}
143 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
145 Summary: The Linux kernel (the core of the Linux operating system)
146 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
147 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
148 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
149 Summary(pl.UTF-8): JÄ…dro Linuksa
150 Name: kernel%{_alt_kernel}
151 Version: %{basever}%{postver}
156 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
157 # Source0-md5: 091abeb4684ce03d1d936851618687b6
158 %if "%{postver}" != "%{nil}"
159 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
160 # Source1-md5: a921f7789b7047b84f30a6f283cf6d07
163 Source3: kernel-autoconf.h
164 Source4: kernel-config.h
165 Source6: kernel-config.awk
166 Source7: kernel-module-build.pl
167 Source8: kernel-track-config-change.awk
168 # not used by kernel.spec, but it's good to have it in SOURCES
169 Source9: kernel-config-sort.pl
170 Source10: kernel.make
172 Source20: kernel-multiarch.config
173 Source21: kernel-x86.config
174 Source22: kernel-sparc.config
175 Source23: kernel-alpha.config
176 Source24: kernel-powerpc.config
177 Source25: kernel-ia64.config
179 Source40: kernel-netfilter.config
180 Source41: kernel-patches.config
181 Source42: kernel-tuxonice.config
182 Source43: kernel-vserver.config
183 Source45: kernel-grsec.config
185 Source49: kernel-pax.config
186 Source50: kernel-no-pax.config
187 Source51: kernel-grsec_minimal.config
188 Source55: kernel-imq.config
189 Source56: kernel-reiser4.config
190 Source57: kernel-wrr.config
192 Source58: kernel-inittmpfs.config
193 Source59: kernel-bzip2-lzma.config
195 # tahoe9xx http://www.tahoe.pl/drivers/tahoe9xx-2.6.24.patch
196 Patch2: kernel-tahoe9xx.patch
198 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
199 Patch3: kernel-fbcondecor.patch
200 Patch4: kernel-fbcon-margins.patch
202 # netfilter related stuff mostly based on patch-o-matic-ng
203 # snapshot 20070806 with some fixes. Some modules
204 # were ported to nf_conntrack.
206 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
207 Patch11: kernel-pom-ng-ipv4options.patch
209 Patch14: kernel-pom-ng-ROUTE.patch
210 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
211 Patch22: kernel-pom-ng-rsh.patch
212 Patch23: kernel-pom-ng-rpc.patch
214 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
215 Patch36: kernel-nf_rtsp.patch
217 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
218 Patch37: kernel-owner-xid.patch
220 # based on http://www.svn.barbara.eu.org/ipt_account/attachment/wiki/Software/ipt_account-0.1.21-20070804164729.tar.gz?format=raw
221 Patch38: kernel-ipt_account.patch
223 # based on http://www.intra2net.com/de/produkte/opensource/ipt_account/pom-ng-ipt_ACCOUNT-1.12.tgz
224 Patch39: kernel-ipt_ACCOUNT.patch
226 # based on kernel-2.6.25-layer7-2.20.patch from
227 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
228 Patch40: kernel-layer7.patch
230 # http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.34-1.diff
231 Patch41: kernel-ipvs-nfct.patch
235 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
236 Patch49: kernel-zph.patch
238 # based on http://www.linuximq.net/patchs/linux-2.6.34-imq-test1.diff
239 Patch50: kernel-imq.patch
241 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
242 Patch51: kernel-reiser4.patch
244 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
245 Patch52: kernel-wrr.patch
247 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
248 Patch53: kernel-esfq.patch
250 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
251 Patch54: kernel-toshiba_acpi.patch
253 # by Baggins request:
254 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
255 Patch55: kernel-atm-vbr.patch
256 Patch56: kernel-atmdd.patch
258 # https://trac.pentoo.ch/pentoo/export/1600/kernel/trunk/2.6/2.6.34/4305_sqlzma.patch
259 Patch57: kernel-squashfs-lzma.patch
261 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
262 Patch59: kernel-rndis_host-wm5.patch
264 # Project suspend2 renamed to tuxonice
265 # http://www.tuxonice.net/downloads/all/tuxonice-3.1.1.1-for-head.patch.bz2
266 Patch69: kernel-tuxonice.patch
267 Patch70: kernel-tuxonice-headers.patch
269 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
270 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
271 Patch85: kernel-hostap.patch
273 # based on http://vserver.13thfloor.at/Experimental/patch-2.6.35-vs2.3.0.36.31.diff
274 Patch100: kernel-vserver-2.3.patch
275 Patch101: kernel-vserver-fixes.patch
277 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
278 # Fix verified for that kernel version.
279 Patch130: kernel-forcedeth-WON.patch
281 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.4_for_2.6.34-rc0.diff.gz
282 # based on mandriva kernel src.rpm patches
283 Patch140: kernel-unionfs.patch
285 # aufs1, http://aufs.sourceforge.net/
286 # aufs1 is NOT maintained since Jan 2009.
287 Patch145: kernel-aufs.patch
288 Patch146: kernel-aufs-support.patch
290 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
292 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
293 # cd aufs2-standalone.git
294 # git checkout -b aufs2-35 origin/aufs2-35
295 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
297 # cp -a Documentation fs include linux
298 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
300 Patch148: kernel-aufs2.patch
302 Patch150: kernel-ppc-crtsavres.patch
304 Patch200: kernel-ppc-ICE-hacks.patch
306 # The following patch extend the routing functionality in Linux
307 # to support static routes (defined by user), new way to use the
308 # alternative routes, the reverse path protection (rp_filter),
309 # the NAT processing to use correctly the routing when multiple
311 # http://www.ssi.bg/~ja/routes-2.6.35-16.diff
312 Patch300: kernel-routes.patch
314 Patch1000: kernel-grsec-minimal.patch
316 Patch2000: kernel-small_fixes.patch
317 Patch2001: kernel-pwc-uncompress.patch
318 Patch2003: kernel-regressions.patch
320 # kill some thousands of warnings
321 # (only warnings, so just remove parts of this patch if conflics)
322 Patch2500: kernel-warnings.patch
324 # http://kernel.org/pub/linux/security/apparmor/AppArmor-2.6/apparmor-v2.6+v2.4-compat-for-2.6.35.patch
325 Patch5000: kernel-apparmor.patch
328 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
329 Patch7000: kernel-inittmpfs.patch
331 # based on http://www.grsecurity.net/~spender/grsecurity-2.2.0-2.6.34-201007031927.patch
332 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
333 # (since upstream deletes older patches)
334 Patch9999: kernel-grsec_full.patch
335 Patch10000: kernel-grsec-caps.patch
336 Patch10001: kernel-grsec-common.patch
337 Patch10002: kernel-grsec_fixes.patch
339 URL: http://www.kernel.org/
340 BuildRequires: binutils >= 3:2.18
341 %ifarch sparc sparc64
342 BuildRequires: elftoaout
345 BuildRequires: uboot-mkimage
347 BuildRequires: /sbin/depmod
348 BuildRequires: gcc >= 5:3.2
349 BuildRequires: xz >= 1:4.999.7
351 # for hostname command
352 BuildRequires: net-tools
353 BuildRequires: perl-base
354 BuildRequires: rpm-build >= 4.5-24
355 BuildRequires: rpmbuild(macros) >= 1.217
356 Requires(post): coreutils
357 Requires(post): geninitrd >= 10000-3
358 Requires(post): module-init-tools >= 0.9.9
359 Requires: /sbin/depmod
361 Requires: geninitrd >= 10000-3
362 Requires: module-init-tools >= 0.9.9
363 Provides: %{name}(netfilter) = %{netfilter_snap}
364 Provides: %{name}(vermagic) = %{kernel_release}
365 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
366 Obsoletes: kernel-firmware
367 Obsoletes: kernel-misc-acer_acpi
368 Obsoletes: kernel-misc-fuse
369 Obsoletes: kernel-misc-uvc
370 Obsoletes: kernel-modules
371 Obsoletes: kernel-net-ar81
372 Obsoletes: kernel-net-hostap
373 Obsoletes: kernel-net-ieee80211
374 Obsoletes: kernel-net-ipp2p
375 Obsoletes: kernel-net-rt61
376 Obsoletes: kernel-smp
377 Conflicts: e2fsprogs < 1.29
378 Conflicts: isdn4k-utils < 3.1pre1
379 Conflicts: jfsutils < 1.1.3
380 Conflicts: module-init-tools < 0.9.10
381 Conflicts: nfs-utils < 1.0.5
382 Conflicts: oprofile < 0.9
383 Conflicts: ppp < 1:2.4.0
384 Conflicts: procps < 3.2.0
385 Conflicts: quota-tools < 3.09
386 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
387 Conflicts: reiserfsprogs < 3.6.3
388 Conflicts: rpm < 4.4.2-0.2
389 Conflicts: udev < 1:081
390 Conflicts: util-linux < 2.10o
391 Conflicts: util-vserver < 0.30.216
392 Conflicts: xfsprogs < 2.6.0
394 ExcludeArch: i386 i486 i586
396 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
399 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
401 %ifarch %{ix86} %{x8664}
402 %define target_arch_dir x86
405 %define target_arch_dir powerpc
407 %ifarch sparc sparc64
408 %define target_arch_dir sparc
410 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
411 %define target_arch_dir %{_target_base_arch}
414 %define defconfig arch/%{target_arch_dir}/defconfig
416 # No ELF objects there to strip (skips processing 27k files)
417 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
418 %define _noautochrpath .*%{_kernelsrcdir}/.*
421 %define initrd_dir /boot/efi
423 %define initrd_dir /boot
426 %define topdir %{_builddir}/%{name}-%{version}
427 %define srcdir %{topdir}/linux-%{basever}
428 %define objdir %{topdir}/%{targetobj}
429 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
431 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
433 %if "%{_target_base_arch}" != "%{_arch}"
434 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
435 %define DepMod /bin/true
437 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
438 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
439 %define DepMod /sbin/depmod
442 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
443 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
444 %define DepMod /sbin/depmod
447 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
448 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
449 %define DepMod /sbin/depmod
452 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
453 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
457 %define CrossOpts ARCH=powerpc CC="%{__cc}"
459 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
461 %define DepMod /sbin/depmod
463 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
465 %define __features Netfilter module dated: %{netfilter_snap}\
466 %{?with_grsec_full:Grsecurity support - enabled}\
467 %{?with_grsec_minimal:Grsecurity minimal support /proc,link,fifo,shm/ - enabled}\
468 %{?with_pax:PaX support - enabled}\
469 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
470 %{?with_nfsroot:Root on NFS - enabled}\
471 %{?with_apparmor:apparmor support - enabled}\
473 %define Features %(echo "%{__features}" | sed '/^$/d')
476 This package contains the Linux kernel that is used to boot and run
477 your system. It contains few device drivers for specific hardware.
478 Most hardware is instead supported by modules loaded after booting.
482 %description -l de.UTF-8
483 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
484 Linux-Betriebssystems. Der Kernel ist für grundliegende
485 Systemfunktionen verantwortlich: Speicherreservierung,
486 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
490 %description -l fr.UTF-8
491 Le package kernel contient le kernel linux (vmlinuz), la partie
492 centrale d'un système d'exploitation Linux. Le noyau traite les
493 fonctions basiques d'un système d'exploitation: allocation mémoire,
494 allocation de process, entrée/sortie de peripheriques, etc.
498 %description -l pl.UTF-8
499 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
500 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
501 się w komputerze, takiego jak sterowniki dysków itp.
506 Summary: vmlinux - uncompressed kernel image
507 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
508 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
510 Obsoletes: kernel-smp-vmlinux
513 vmlinux - uncompressed kernel image.
515 %description vmlinux -l de.UTF-8
516 vmlinux - dekompressiertes Kernel Bild.
518 %description vmlinux -l pl.UTF-8
519 vmlinux - rozpakowany obraz jÄ…dra.
522 Summary: DRM kernel modules
523 Summary(de.UTF-8): DRM Kernel Treiber
524 Summary(pl.UTF-8): Sterowniki DRM
526 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
527 Requires: %{name} = %{epoch}:%{version}-%{release}
528 Obsoletes: kernel-smp-drm
534 %description drm -l de.UTF-8
537 %description drm -l pl.UTF-8
541 Summary: PCMCIA modules
542 Summary(de.UTF-8): PCMCIA Module
543 Summary(pl.UTF-8): Moduły PCMCIA
545 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
546 Requires: %{name} = %{epoch}:%{version}-%{release}
547 Obsoletes: kernel-smp-pcmcia
548 Conflicts: pcmcia-cs < 3.1.21
549 Conflicts: pcmciautils < 004
555 %description pcmcia -l de.UTF-8
558 %description pcmcia -l pl.UTF-8
562 Summary: ALSA kernel modules
563 Summary(de.UTF-8): ALSA Kernel Module
564 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
566 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
567 Requires: %{name} = %{epoch}:%{version}-%{release}
568 Obsoletes: kernel-smp-sound-alsa
571 %description sound-alsa
572 ALSA (Advanced Linux Sound Architecture) sound drivers.
574 %description sound-alsa -l de.UTF-8
575 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
577 %description sound-alsa -l pl.UTF-8
578 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
581 Summary: OSS kernel modules
582 Summary(de.UTF-8): OSS Kernel Module
583 Summary(pl.UTF-8): Sterowniki dźwięku OSS
585 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
586 Requires: %{name} = %{epoch}:%{version}-%{release}
587 Obsoletes: kernel-smp-sound-oss
590 %description sound-oss
591 OSS (Open Sound System) drivers.
593 %description sound-oss -l de.UTF-8
594 OSS (Open Sound System) Treiber.
596 %description sound-oss -l pl.UTF-8
597 Sterowniki dźwięku OSS (Open Sound System).
600 Summary: Header files for the Linux kernel
601 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
602 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
603 Group: Development/Building
604 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
608 These are the C header files for the Linux kernel, which define
609 structures and constants that are needed when rebuilding the kernel or
610 building kernel modules.
612 %description headers -l de.UTF-8
613 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
614 Strukturen und Konstante beinhalten, die beim rekompilieren des
615 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
617 %description headers -l pl.UTF-8
618 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
619 oraz budowania modułów jądra.
621 %package module-build
622 Summary: Development files for building kernel modules
623 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
624 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
625 Group: Development/Building
626 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
627 Conflicts: rpmbuild(macros) < 1.550
630 %description module-build
631 Development files from kernel source tree needed to build Linux kernel
632 modules from external packages.
634 %description module-build -l de.UTF-8
635 Development Dateien des Linux-Kernels die beim kompilieren externer
636 Kernel Module gebraucht werden.
638 %description module-build -l pl.UTF-8
639 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
640 Linuksa z zewnętrznych pakietów.
643 Summary: Kernel source tree
644 Summary(de.UTF-8): Der Kernel Quelltext
645 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
646 Group: Development/Building
647 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
651 This is the source code for the Linux kernel. You can build a custom
652 kernel that is better tuned to your particular hardware.
654 %description source -l de.UTF-8
655 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
656 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
657 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
658 im Kernel-Source definiert sind. Die Source-Dateien können auch
659 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
660 Hardware ausgerichtet ist.
662 %description source -l fr.UTF-8
663 Le package pour le kernel-source contient le code source pour le noyau
664 linux. Ces sources sont nécessaires pour compiler la plupart des
665 programmes C, car il dépend de constantes définies dans le code
666 source. Les sources peuvent être aussi utilisée pour compiler un noyau
667 personnalisé pour avoir de meilleures performances sur des matériels
670 %description source -l pl.UTF-8
671 Pakiet zawiera kod źródłowy jądra systemu.
674 Summary: Kernel documentation
675 Summary(de.UTF-8): Kernel Dokumentation
676 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
681 This is the documentation for the Linux kernel, as found in
682 /usr/src/linux/Documentation directory.
684 %description doc -l de.UTF-8
685 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
686 Verzeichniss vorgefunden werden kann.
688 %description doc -l pl.UTF-8
689 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
690 /usr/src/linux/Documentation.
694 ln -s %{SOURCE7} kernel-module-build.pl
695 ln -s %{SOURCE10} Makefile
698 # hack against warning in pax/grsec
699 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
701 %if "%{postver}" != "%{nil}"
702 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
711 # tahoe9xx: 2.6.29 - need update
714 %if %{with fbcondecor}
722 # kernel-pom-ng-IPV4OPTSSTRIP.patch
725 # kernel-pom-ng-ipv4options.patch
728 # kernel-pom-ng-ROUTE.patch
731 # kernel-pom-ng-mms-conntrack-nat.patch
734 # kernel-pom-ng-rsh.patch
737 # kernel-pom-ng-rpc.patch
740 # kernel-nf_rtsp.patch
743 # kernel-owner-xid.patch
748 # kernel-ipt_account.patch
751 # kernel-ipt_ACCOUNT.patch
754 # kernel-layer7.patch
790 # squashfs lzma support
793 # kernel-rndis_host-wm5.patch
796 # hostap enhancements from/for aircrack-ng
808 # unionfs (problems with aufs2, needed for aufs1 patch)
809 %if %{without rescuecd}
828 # grsecurity & pax stuff
831 # remember that we have the same config file for grsec_minimal and
832 # grsec_full, but the patches are different.
834 %if %{with grsecurity}
835 %if %{with grsec_minimal}
838 # grsec_full and/or pax
840 %{?with_vserver:%patch10000 -p1}
841 %{?with_vserver:%patch10001 -p1}
842 %{?with_vserver:%patch10002 -p1}
846 # end of grsecurity & pax stuff
868 # Fix EXTRAVERSION in main Makefile
869 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
871 # cleanup backups after patching
872 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
876 cat > %{targetobj}.mk <<'EOF'
877 # generated by %{name}.spec
878 KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
879 KERNELOUTPUT := %{objdir}
881 SRCARCH := %{target_arch_dir}
882 ARCH := %{_target_base_arch}
883 Q := %{!?with_verbose:@}
884 MAKE_OPTS := %{MakeOpts}
885 DEFCONFIG := %{defconfig}
892 CONFIG_PAX_SEGMEXEC=y
893 # performance impact on CPUs without NX bit
894 CONFIG_PAX_PAGEEXEC=n
897 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
903 CONFIG_PAX_NOELFRELOCS=n
906 CONFIG_PAX_EMUTRAMP=y
907 CONFIG_PAX_EMUSIGRT=y
911 %ifarch sparc sparc64 alpha
915 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
916 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
917 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
918 # PAX_HOOK_ACL_FLAGS.
920 %if %{with grsec_full}
921 # Hardening grsec options if with pax
922 CONFIG_GRKERNSEC_PROC_MEMMAP=y
923 # almost rational (see HIDESYM help)
924 CONFIG_GRKERNSEC_HIDESYM=y
926 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
928 CONFIG_PAX_HAVE_ACL_FLAGS=n
929 CONFIG_PAX_HOOK_ACL_FLAGS=y
939 # CONFIG_SOUND is not set
940 # CONFIG_AUDIT is not set
941 # CONFIG_TR is not set
942 # CONFIG_BT is not set
943 # CONFIG_VIDEO_DEV is not set
944 # CONFIG_DVB_CORE is not set
945 # CONFIG_HAMRADIO is not set
946 # CONFIG_ARCNET is not set
947 # CONFIG_FB is not set
948 # CONFIG_DRM is not set
949 # CONFIG_WATCHDOG is not set
950 # CONFIG_INPUT_JOYSTICK is not set
951 # CONFIG_DEBUG_KERNEL is not set
952 # CONFIG_ISDN is not set
953 # CONFIG_AGP is not set
954 # CONFIG_SECURITY is not set
955 # CONFIG_PARIDE is not set
956 # CONFIG_CPU_FREQ is not set
957 # CONFIG_GAMEPORT is not set
958 # CONFIG_KVM is not set
959 # CONFIG_PHONE is not set
960 # CONFIG_STRICT_DEVMEM is not set
961 # CONFIG_IMA is not set
964 CONFIG_AUFS_BR_RAMFS=y
966 CONFIG_BLK_DEV_LOOP=y
978 Config="kernel-%{target_arch_dir}.config"
979 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
981 # prepare local and important options
982 cat <<-EOCONFIG > important.config
983 LOCALVERSION="-%{localversion}"
987 CONFIG_DEBUG_SLAB_LEAK=y
988 CONFIG_DEBUG_PREEMPT=y
989 CONFIG_RT_DEADLOCK_DETECT=y
992 # apparmor, will be moved to external file if works
994 CONFIG_SECURITY_APPARMOR=y
995 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
996 CONFIG_SECURITY_APPARMOR_DISABLE=n
997 CONFIG_SECURITY_APPARMOR_NETWORK=y
998 CONFIG_SECURITY_APPARMOR_COMPAT_24=y
999 CONFIG_DEFAULT_SECURITY_APPARMOR=n
1006 %ifarch i686 athlon pentium3 pentium4
1015 %if %{without pcmcia}
1019 %if %{with fbcondecor}
1023 CONFIG_FB_TILEBLITTING=n
1024 CONFIG_FB_CON_DECOR=y
1032 # Temporary disabled RELOCATABLE. Needed only on x86??
1033 %if %{with pax} || %{with grsec_full}
1034 CONFIG_RELOCATABLE=n
1038 %if %{with rescuecd}
1039 RescueConfig rescue.config
1042 PaXconfig pax.config
1045 # prepare kernel-style config file from multiple config files
1046 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1048 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
1051 %if %{with rescuecd}
1062 %if %{with grsec_full}
1066 %if %{with grsec_minimal}
1084 %if %{with tuxonice}
1085 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1089 %{SOURCE40} %{?0:netfilter} \
1090 %{SOURCE41} %{?0:patches} \
1092 $RPM_SOURCE_DIR/$Config
1096 install -d arch/%{target_arch_dir}
1097 BuildConfig > %{defconfig}
1098 ln -sf %{defconfig} .config
1102 TARGETOBJ=%{targetobj} \
1103 %{?with_verbose:V=1} \
1106 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1110 TARGETOBJ=%{targetobj} \
1111 %{?with_verbose:V=1} \
1115 rm -rf $RPM_BUILD_ROOT
1116 %{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install firmware_install \
1118 %{?with_verbose:V=1} \
1120 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1121 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1122 KERNELRELEASE=%{kernel_release}
1124 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1126 # create directories which may be missing, to simplyfy %files
1127 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1129 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1130 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1131 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1133 # no point embed content for %ghost files. empty them
1138 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1140 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1141 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1145 install -d $RPM_BUILD_ROOT/boot
1146 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1147 %ifarch %{ix86} %{x8664}
1148 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1149 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1152 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1153 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1156 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1157 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1158 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1160 %ifarch alpha sparc sparc64
1161 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1162 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1163 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1165 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1166 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1169 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1170 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1173 install %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1178 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1180 %if "%{_target_base_arch}" != "%{_arch}"
1181 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1185 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1188 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1189 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1190 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1192 rm -f $RPM_BUILD_ROOT/COPYING
1195 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1196 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1197 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1198 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1199 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1200 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1201 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1202 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1204 # collect module-build files and directories
1205 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1207 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1208 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1211 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1212 install -d $RPM_BUILD_ROOT%{_docdir}
1213 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1215 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1216 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1217 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1218 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1221 rm -rf $RPM_BUILD_ROOT
1224 if [ -x /sbin/new-kernel-pkg ]; then
1225 /sbin/new-kernel-pkg --remove %{kernel_release}
1230 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1231 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1232 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1233 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1235 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1236 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1237 mv -f /boot/System.map{,.old} 2> /dev/null
1238 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1239 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1240 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1241 ln -sf System.map-%{kernel_release} /boot/System.map
1242 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1244 %depmod %{kernel_release}
1247 # generate initrd after all dependant modules are installed
1248 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1249 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1250 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1251 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1252 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1254 # update boot loaders when old package files are gone from filesystem
1255 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1256 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1257 /sbin/update-grub >/dev/null
1260 if [ -x /sbin/new-kernel-pkg ]; then
1261 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1263 if [ -x /sbin/rc-boot ]; then
1264 /sbin/rc-boot 1>&2 || :
1268 mv -f /boot/vmlinux{,.old} 2> /dev/null
1269 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1270 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1271 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1274 %depmod %{kernel_release}
1277 %depmod %{kernel_release}
1280 %depmod %{kernel_release}
1283 %depmod %{kernel_release}
1286 %depmod %{kernel_release}
1289 %depmod %{kernel_release}
1292 %depmod %{kernel_release}
1295 %depmod %{kernel_release}
1298 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1301 if [ "$1" = "0" ]; then
1302 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1303 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1304 rm -f %{_prefix}/src/linux%{_alt_kernel}
1309 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1310 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1311 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1313 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1314 if [ "$1" = 0 ]; then
1315 rm -f /lib/modules/%{kernel_release}/{build,source}
1319 %defattr(644,root,root,755)
1320 %ifarch sparc sparc64
1321 /boot/vmlinux.aout-%{kernel_release}
1324 /boot/efi/vmlinuz-%{kernel_release}
1326 /boot/vmlinuz-%{kernel_release}
1327 /boot/System.map-%{kernel_release}
1328 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1329 /lib/firmware/%{kernel_release}
1331 %dir /lib/modules/%{kernel_release}
1332 %dir /lib/modules/%{kernel_release}/kernel
1333 /lib/modules/%{kernel_release}/kernel/arch
1334 /lib/modules/%{kernel_release}/kernel/crypto
1335 /lib/modules/%{kernel_release}/kernel/drivers
1337 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1339 /lib/modules/%{kernel_release}/kernel/fs
1340 /lib/modules/%{kernel_release}/kernel/kernel
1341 /lib/modules/%{kernel_release}/kernel/lib
1342 /lib/modules/%{kernel_release}/kernel/net
1343 /lib/modules/%{kernel_release}/kernel/mm
1345 %dir /lib/modules/%{kernel_release}/kernel/sound
1346 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1347 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1349 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1350 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1351 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1354 %dir /lib/modules/%{kernel_release}/misc
1356 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1357 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1358 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1359 %if %{without rescuecd}
1360 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1361 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1362 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1363 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1364 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1365 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1367 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1368 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1369 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1370 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1371 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1372 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1373 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1374 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1377 /lib/modules/%{kernel_release}/kernel/sound
1380 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1383 /lib/modules/%{kernel_release}/modules.order
1384 /lib/modules/%{kernel_release}/modules.builtin
1386 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1387 %ghost /lib/modules/%{kernel_release}/modules.alias
1388 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1389 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1390 %ghost /lib/modules/%{kernel_release}/modules.dep
1391 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1392 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1393 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1394 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1395 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1396 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1397 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1398 %ghost /lib/modules/%{kernel_release}/modules.symbols
1399 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1400 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1402 # symlinks pointing to kernelsrcdir
1403 %ghost /lib/modules/%{kernel_release}/build
1404 %ghost /lib/modules/%{kernel_release}/source
1406 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1408 %defattr(644,root,root,755)
1409 /boot/vmlinux-%{kernel_release}
1414 %defattr(644,root,root,755)
1415 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1420 %defattr(644,root,root,755)
1421 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1422 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1423 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1424 %if %{without rescuecd}
1425 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1426 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1427 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1428 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1430 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1431 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1432 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1433 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1434 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1435 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1436 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1437 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1438 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1443 %defattr(644,root,root,755)
1444 /lib/modules/%{kernel_release}/kernel/sound
1445 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1446 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1447 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1449 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1452 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1453 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1454 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1455 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1460 %defattr(644,root,root,755)
1461 /lib/modules/%{kernel_release}/kernel/sound/oss
1465 %files headers -f files.headers_exclude_kbuild
1466 %defattr(644,root,root,755)
1467 %dir %{_kernelsrcdir}
1468 %{_kernelsrcdir}/include
1469 %dir %{_kernelsrcdir}/arch
1470 %dir %{_kernelsrcdir}/arch/[!K]*
1471 %{_kernelsrcdir}/arch/*/include
1472 %dir %{_kernelsrcdir}/security
1473 %dir %{_kernelsrcdir}/security/selinux
1474 %{_kernelsrcdir}/security/selinux/include
1475 %{_kernelsrcdir}/config-dist
1476 %{_kernelsrcdir}/Module.symvers-dist
1478 %files module-build -f files.mb_include_modulebuild_and_dirs
1479 %defattr(644,root,root,755)
1481 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1483 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1484 %exclude %dir %{_kernelsrcdir}/arch/um
1485 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1486 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1487 %{_kernelsrcdir}/drivers/lguest/lg.h
1488 %{_kernelsrcdir}/kernel/bounds.c
1489 %dir %{_kernelsrcdir}/scripts
1490 %{_kernelsrcdir}/scripts/Kbuild.include
1491 %{_kernelsrcdir}/scripts/Makefile*
1492 %{_kernelsrcdir}/scripts/basic
1493 %{_kernelsrcdir}/scripts/kconfig
1494 %{_kernelsrcdir}/scripts/mkcompile_h
1495 %{_kernelsrcdir}/scripts/mkmakefile
1496 %{_kernelsrcdir}/scripts/mod
1497 %{_kernelsrcdir}/scripts/module-common.lds
1498 %{_kernelsrcdir}/scripts/setlocalversion
1499 %{_kernelsrcdir}/scripts/*.c
1500 %{_kernelsrcdir}/scripts/*.sh
1501 %dir %{_kernelsrcdir}/scripts/selinux
1502 %{_kernelsrcdir}/scripts/selinux/Makefile
1503 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1504 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1505 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1506 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1507 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1508 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1509 %exclude %dir %{_kernelsrcdir}/security
1510 %exclude %dir %{_kernelsrcdir}/security/selinux
1514 %defattr(644,root,root,755)
1515 %dir %{_docdir}/%{name}-%{version}
1517 %{_docdir}/%{name}-%{version}/[!jkz]*
1518 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1519 %{_docdir}/%{name}-%{version}/kbuild
1520 %{_docdir}/%{name}-%{version}/kdump
1521 %{_docdir}/%{name}-%{version}/kvm
1522 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1523 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1524 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1528 %files source -f files.source_exclude_modulebuild_and_dirs
1529 %defattr(644,root,root,755)
1530 %{_kernelsrcdir}/arch/*/[!Mik]*
1531 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1532 %{_kernelsrcdir}/arch/ia64/install.sh
1533 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1534 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1535 %{_kernelsrcdir}/arch/m68k/install.sh
1536 %{_kernelsrcdir}/arch/parisc/install.sh
1537 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1538 %{_kernelsrcdir}/arch/ia64/kvm
1539 %{_kernelsrcdir}/arch/powerpc/kvm
1541 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1543 %{_kernelsrcdir}/arch/s390/kvm
1544 %{_kernelsrcdir}/arch/x86/kvm
1545 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1546 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1547 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1548 %{_kernelsrcdir}/block
1549 %{_kernelsrcdir}/crypto
1550 %{_kernelsrcdir}/drivers
1551 %{_kernelsrcdir}/firmware
1553 %if %{with grsecurity} && %{without rescuecd}
1554 %{_kernelsrcdir}/grsecurity
1556 %{_kernelsrcdir}/init
1557 %{_kernelsrcdir}/ipc
1558 %{_kernelsrcdir}/kernel
1559 %exclude %{_kernelsrcdir}/kernel/bounds.c
1560 %{_kernelsrcdir}/lib
1562 %{_kernelsrcdir}/net
1563 %{_kernelsrcdir}/virt
1564 %{_kernelsrcdir}/samples
1565 %{_kernelsrcdir}/scripts/*
1566 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1567 %exclude %{_kernelsrcdir}/scripts/Makefile*
1568 %exclude %{_kernelsrcdir}/scripts/basic
1569 %exclude %{_kernelsrcdir}/scripts/kconfig
1570 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1571 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1572 %exclude %{_kernelsrcdir}/scripts/mod
1573 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1574 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1575 %exclude %{_kernelsrcdir}/scripts/*.c
1576 %exclude %{_kernelsrcdir}/scripts/*.sh
1577 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1578 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1579 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1580 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1581 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1582 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1583 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1584 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1585 %{_kernelsrcdir}/sound
1586 %{_kernelsrcdir}/security
1587 %exclude %{_kernelsrcdir}/security/selinux/include
1588 %{_kernelsrcdir}/tools
1589 %{_kernelsrcdir}/usr
1590 %{_kernelsrcdir}/COPYING
1591 %{_kernelsrcdir}/CREDITS
1592 %{_kernelsrcdir}/MAINTAINERS
1593 %{_kernelsrcdir}/README
1594 %{_kernelsrcdir}/REPORTING-BUGS