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: 738f762746488345b1a8707d00895eef
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 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
210 Patch22: kernel-pom-ng-rsh.patch
211 Patch23: kernel-pom-ng-rpc.patch
213 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
214 Patch36: kernel-nf_rtsp.patch
216 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
217 Patch37: kernel-owner-xid.patch
219 # based on kernel-2.6.25-layer7-2.20.patch from
220 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
221 Patch40: kernel-layer7.patch
223 # http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.34-1.diff
224 Patch41: kernel-ipvs-nfct.patch
228 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
229 Patch49: kernel-zph.patch
231 # based on http://www.linuximq.net/patchs/linux-2.6.35-imq-multiqueue-test1.diff
232 Patch50: kernel-imq.patch
234 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
235 Patch51: kernel-reiser4.patch
237 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
238 Patch52: kernel-wrr.patch
240 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
241 Patch53: kernel-esfq.patch
243 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
244 Patch54: kernel-toshiba_acpi.patch
246 # by Baggins request:
247 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
248 Patch55: kernel-atm-vbr.patch
249 Patch56: kernel-atmdd.patch
251 # https://trac.pentoo.ch/pentoo/export/1600/kernel/trunk/2.6/2.6.34/4305_sqlzma.patch
252 Patch57: kernel-squashfs-lzma.patch
254 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
255 Patch59: kernel-rndis_host-wm5.patch
257 # Project suspend2 renamed to tuxonice
258 # http://www.tuxonice.net/downloads/all/tuxonice-3.1.1.1-for-head.patch.bz2
259 Patch69: kernel-tuxonice.patch
260 Patch70: kernel-tuxonice-headers.patch
262 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
263 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
264 Patch85: kernel-hostap.patch
266 # http://vserver.13thfloor.at/Experimental/patch-2.6.35.4-vs2.3.0.36.32.diff
267 Patch100: kernel-vserver-2.3.patch
268 Patch101: kernel-vserver-fixes.patch
270 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
271 # Fix verified for that kernel version.
272 Patch130: kernel-forcedeth-WON.patch
274 # add tty ioctl to figure physical device of the console. used by showconsole.spec (blogd)
275 Patch131: kernel-TIOCGDEV.patch
277 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.4_for_2.6.34-rc0.diff.gz
278 # based on mandriva kernel src.rpm patches
279 Patch140: kernel-unionfs.patch
281 # aufs1, http://aufs.sourceforge.net/
282 # aufs1 is NOT maintained since Jan 2009.
283 Patch145: kernel-aufs.patch
284 Patch146: kernel-aufs-support.patch
286 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
288 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
289 # cd aufs2-standalone.git
290 # git checkout -b aufs2-35 origin/aufs2-35
291 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
293 # cp -a Documentation fs include linux
294 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
296 Patch148: kernel-aufs2.patch
298 Patch150: kernel-ppc-crtsavres.patch
300 Patch200: kernel-ppc-ICE-hacks.patch
302 # The following patch extend the routing functionality in Linux
303 # to support static routes (defined by user), new way to use the
304 # alternative routes, the reverse path protection (rp_filter),
305 # the NAT processing to use correctly the routing when multiple
307 # http://www.ssi.bg/~ja/routes-2.6.35-16.diff
308 Patch300: kernel-routes.patch
310 Patch1000: kernel-grsec-minimal.patch
312 Patch2000: kernel-small_fixes.patch
313 Patch2001: kernel-pwc-uncompress.patch
314 Patch2003: kernel-regressions.patch
316 # kill some thousands of warnings
317 # (only warnings, so just remove parts of this patch if conflics)
318 Patch2500: kernel-warnings.patch
320 # http://kernel.org/pub/linux/security/apparmor/AppArmor-2.6/apparmor-v2.6+v2.4-compat-for-2.6.35.patch
321 Patch5000: kernel-apparmor.patch
324 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
325 Patch7000: kernel-inittmpfs.patch
327 # based on http://www.grsecurity.net/~spender/grsecurity-2.2.0-2.6.35.4-201009172030.patch
328 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
329 # (since upstream deletes older patches)
330 Patch9999: kernel-grsec_full.patch
331 Patch10000: kernel-grsec-caps.patch
332 Patch10001: kernel-grsec-common.patch
333 Patch10002: kernel-grsec_fixes.patch
335 URL: http://www.kernel.org/
336 BuildRequires: binutils >= 3:2.18
337 %ifarch sparc sparc64
338 BuildRequires: elftoaout
341 BuildRequires: uboot-mkimage
343 BuildRequires: /sbin/depmod
344 BuildRequires: gcc >= 5:3.2
345 BuildRequires: xz >= 1:4.999.7
347 # for hostname command
348 BuildRequires: module-init-tools >= 3.5
349 BuildRequires: net-tools
350 BuildRequires: perl-base
351 BuildRequires: rpm-build >= 4.5-24
352 BuildRequires: rpmbuild(macros) >= 1.217
353 Requires(post): coreutils
354 Requires(post): geninitrd >= 10000-3
355 Requires(post): module-init-tools >= 0.9.9
356 Requires: /sbin/depmod
358 Requires: geninitrd >= 10000-3
359 Requires: module-init-tools >= 0.9.9
360 Provides: %{name}(netfilter) = %{netfilter_snap}
361 Provides: %{name}(vermagic) = %{kernel_release}
362 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
363 Obsoletes: kernel-firmware
364 Obsoletes: kernel-misc-acer_acpi
365 Obsoletes: kernel-misc-fuse
366 Obsoletes: kernel-misc-uvc
367 Obsoletes: kernel-modules
368 Obsoletes: kernel-net-ar81
369 Obsoletes: kernel-net-hostap
370 Obsoletes: kernel-net-ieee80211
371 Obsoletes: kernel-net-ipp2p
372 Obsoletes: kernel-net-rt61
373 Obsoletes: kernel-smp
374 Conflicts: e2fsprogs < 1.29
375 Conflicts: isdn4k-utils < 3.1pre1
376 Conflicts: jfsutils < 1.1.3
377 Conflicts: lvm2 < 2.02.40
378 Conflicts: module-init-tools < 0.9.10
379 Conflicts: nfs-utils < 1.0.5
380 Conflicts: oprofile < 0.9
381 Conflicts: ppp < 1:2.4.0
382 Conflicts: procps < 3.2.0
383 Conflicts: quota-tools < 3.09
384 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
385 Conflicts: reiserfsprogs < 3.6.3
386 Conflicts: rpm < 4.4.2-0.2
387 Conflicts: udev < 1:081
388 Conflicts: util-linux < 2.10o
389 Conflicts: util-vserver < 0.30.216
390 Conflicts: xfsprogs < 2.6.0
392 ExcludeArch: i386 i486 i586
394 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
397 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
399 %ifarch %{ix86} %{x8664}
400 %define target_arch_dir x86
403 %define target_arch_dir powerpc
405 %ifarch sparc sparc64
406 %define target_arch_dir sparc
408 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
409 %define target_arch_dir %{_target_base_arch}
412 %define defconfig arch/%{target_arch_dir}/defconfig
414 # No ELF objects there to strip (skips processing 27k files)
415 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
416 %define _noautochrpath .*%{_kernelsrcdir}/.*
419 %define initrd_dir /boot/efi
421 %define initrd_dir /boot
424 %define topdir %{_builddir}/%{name}-%{version}
425 %define srcdir %{topdir}/linux-%{basever}
426 %define objdir %{topdir}/%{targetobj}
427 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
429 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
431 %if "%{_target_base_arch}" != "%{_arch}"
432 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
433 %define DepMod /bin/true
435 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
436 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
437 %define DepMod /sbin/depmod
440 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
441 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
442 %define DepMod /sbin/depmod
445 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
446 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
447 %define DepMod /sbin/depmod
450 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
451 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
455 %define CrossOpts ARCH=powerpc CC="%{__cc}"
457 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
459 %define DepMod /sbin/depmod
461 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
463 %define __features Netfilter module dated: %{netfilter_snap}\
464 %{?with_grsec_full:Grsecurity support - enabled}\
465 %{?with_grsec_minimal:Grsecurity minimal support /proc,link,fifo,shm/ - enabled}\
466 %{?with_pax:PaX support - enabled}\
467 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
468 %{?with_nfsroot:Root on NFS - enabled}\
469 %{?with_apparmor:apparmor support - enabled}\
471 %define Features %(echo "%{__features}" | sed '/^$/d')
474 This package contains the Linux kernel that is used to boot and run
475 your system. It contains few device drivers for specific hardware.
476 Most hardware is instead supported by modules loaded after booting.
480 %description -l de.UTF-8
481 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
482 Linux-Betriebssystems. Der Kernel ist für grundliegende
483 Systemfunktionen verantwortlich: Speicherreservierung,
484 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
488 %description -l fr.UTF-8
489 Le package kernel contient le kernel linux (vmlinuz), la partie
490 centrale d'un système d'exploitation Linux. Le noyau traite les
491 fonctions basiques d'un système d'exploitation: allocation mémoire,
492 allocation de process, entrée/sortie de peripheriques, etc.
496 %description -l pl.UTF-8
497 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
498 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
499 się w komputerze, takiego jak sterowniki dysków itp.
504 Summary: vmlinux - uncompressed kernel image
505 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
506 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
508 Obsoletes: kernel-smp-vmlinux
511 vmlinux - uncompressed kernel image.
513 %description vmlinux -l de.UTF-8
514 vmlinux - dekompressiertes Kernel Bild.
516 %description vmlinux -l pl.UTF-8
517 vmlinux - rozpakowany obraz jÄ…dra.
520 Summary: DRM kernel modules
521 Summary(de.UTF-8): DRM Kernel Treiber
522 Summary(pl.UTF-8): Sterowniki DRM
524 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
525 Requires: %{name} = %{epoch}:%{version}-%{release}
526 Obsoletes: kernel-smp-drm
532 %description drm -l de.UTF-8
535 %description drm -l pl.UTF-8
539 Summary: PCMCIA modules
540 Summary(de.UTF-8): PCMCIA Module
541 Summary(pl.UTF-8): Moduły PCMCIA
543 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
544 Requires: %{name} = %{epoch}:%{version}-%{release}
545 Obsoletes: kernel-smp-pcmcia
546 Conflicts: pcmcia-cs < 3.1.21
547 Conflicts: pcmciautils < 004
553 %description pcmcia -l de.UTF-8
556 %description pcmcia -l pl.UTF-8
560 Summary: ALSA kernel modules
561 Summary(de.UTF-8): ALSA Kernel Module
562 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
564 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
565 Requires: %{name} = %{epoch}:%{version}-%{release}
566 Obsoletes: kernel-smp-sound-alsa
569 %description sound-alsa
570 ALSA (Advanced Linux Sound Architecture) sound drivers.
572 %description sound-alsa -l de.UTF-8
573 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
575 %description sound-alsa -l pl.UTF-8
576 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
579 Summary: OSS kernel modules
580 Summary(de.UTF-8): OSS Kernel Module
581 Summary(pl.UTF-8): Sterowniki dźwięku OSS
583 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
584 Requires: %{name} = %{epoch}:%{version}-%{release}
585 Obsoletes: kernel-smp-sound-oss
588 %description sound-oss
589 OSS (Open Sound System) drivers.
591 %description sound-oss -l de.UTF-8
592 OSS (Open Sound System) Treiber.
594 %description sound-oss -l pl.UTF-8
595 Sterowniki dźwięku OSS (Open Sound System).
598 Summary: Header files for the Linux kernel
599 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
600 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
601 Group: Development/Building
602 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
606 These are the C header files for the Linux kernel, which define
607 structures and constants that are needed when rebuilding the kernel or
608 building kernel modules.
610 %description headers -l de.UTF-8
611 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
612 Strukturen und Konstante beinhalten, die beim rekompilieren des
613 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
615 %description headers -l pl.UTF-8
616 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
617 oraz budowania modułów jądra.
619 %package module-build
620 Summary: Development files for building kernel modules
621 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
622 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
623 Group: Development/Building
624 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
625 Conflicts: rpmbuild(macros) < 1.550
628 %description module-build
629 Development files from kernel source tree needed to build Linux kernel
630 modules from external packages.
632 %description module-build -l de.UTF-8
633 Development Dateien des Linux-Kernels die beim kompilieren externer
634 Kernel Module gebraucht werden.
636 %description module-build -l pl.UTF-8
637 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
638 Linuksa z zewnętrznych pakietów.
641 Summary: Kernel source tree
642 Summary(de.UTF-8): Der Kernel Quelltext
643 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
644 Group: Development/Building
645 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
649 This is the source code for the Linux kernel. You can build a custom
650 kernel that is better tuned to your particular hardware.
652 %description source -l de.UTF-8
653 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
654 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
655 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
656 im Kernel-Source definiert sind. Die Source-Dateien können auch
657 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
658 Hardware ausgerichtet ist.
660 %description source -l fr.UTF-8
661 Le package pour le kernel-source contient le code source pour le noyau
662 linux. Ces sources sont nécessaires pour compiler la plupart des
663 programmes C, car il dépend de constantes définies dans le code
664 source. Les sources peuvent être aussi utilisée pour compiler un noyau
665 personnalisé pour avoir de meilleures performances sur des matériels
668 %description source -l pl.UTF-8
669 Pakiet zawiera kod źródłowy jądra systemu.
672 Summary: Kernel documentation
673 Summary(de.UTF-8): Kernel Dokumentation
674 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
679 This is the documentation for the Linux kernel, as found in
680 /usr/src/linux/Documentation directory.
682 %description doc -l de.UTF-8
683 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
684 Verzeichniss vorgefunden werden kann.
686 %description doc -l pl.UTF-8
687 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
688 /usr/src/linux/Documentation.
692 ln -s %{SOURCE7} kernel-module-build.pl
693 ln -s %{SOURCE10} Makefile
696 # hack against warning in pax/grsec
697 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
699 %if "%{postver}" != "%{nil}"
700 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
709 # tahoe9xx: 2.6.29 - need update
712 %if %{with fbcondecor}
720 # kernel-pom-ng-IPV4OPTSSTRIP.patch
723 # kernel-pom-ng-ipv4options.patch
726 # kernel-pom-ng-mms-conntrack-nat.patch
729 # kernel-pom-ng-rsh.patch
732 # kernel-pom-ng-rpc.patch
735 # kernel-nf_rtsp.patch
738 # kernel-owner-xid.patch
743 # kernel-layer7.patch
779 # squashfs lzma support
782 # kernel-rndis_host-wm5.patch
785 # hostap enhancements from/for aircrack-ng
799 # unionfs (problems with aufs2, needed for aufs1 patch)
800 %if %{without rescuecd}
819 # grsecurity & pax stuff
822 # remember that we have the same config file for grsec_minimal and
823 # grsec_full, but the patches are different.
825 %if %{with grsecurity}
826 %if %{with grsec_minimal}
829 # grsec_full and/or pax
831 %{?with_vserver:%patch10000 -p1}
832 %{?with_vserver:%patch10001 -p1}
833 %{?with_vserver:%patch10002 -p1}
837 # end of grsecurity & pax stuff
859 # Fix EXTRAVERSION in main Makefile
860 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
862 # cleanup backups after patching
863 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
867 cat > %{targetobj}.mk <<'EOF'
868 # generated by %{name}.spec
869 KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
870 KERNELOUTPUT := %{objdir}
872 SRCARCH := %{target_arch_dir}
873 ARCH := %{_target_base_arch}
874 Q := %{!?with_verbose:@}
875 MAKE_OPTS := %{MakeOpts}
876 DEFCONFIG := %{defconfig}
883 CONFIG_PAX_SEGMEXEC=y
884 # performance impact on CPUs without NX bit
885 CONFIG_PAX_PAGEEXEC=n
888 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
894 CONFIG_PAX_NOELFRELOCS=n
897 CONFIG_PAX_EMUTRAMP=y
898 CONFIG_PAX_EMUSIGRT=y
902 %ifarch sparc sparc64 alpha
906 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
907 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
908 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
909 # PAX_HOOK_ACL_FLAGS.
911 %if %{with grsec_full}
912 # Hardening grsec options if with pax
913 CONFIG_GRKERNSEC_PROC_MEMMAP=y
914 # almost rational (see HIDESYM help)
915 CONFIG_GRKERNSEC_HIDESYM=y
917 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
919 CONFIG_PAX_HAVE_ACL_FLAGS=n
920 CONFIG_PAX_HOOK_ACL_FLAGS=y
930 # CONFIG_SOUND is not set
931 # CONFIG_AUDIT is not set
932 # CONFIG_TR is not set
933 # CONFIG_BT is not set
934 # CONFIG_VIDEO_DEV is not set
935 # CONFIG_DVB_CORE is not set
936 # CONFIG_HAMRADIO is not set
937 # CONFIG_ARCNET is not set
938 # CONFIG_FB is not set
939 # CONFIG_DRM is not set
940 # CONFIG_WATCHDOG is not set
941 # CONFIG_INPUT_JOYSTICK is not set
942 # CONFIG_DEBUG_KERNEL is not set
943 # CONFIG_ISDN is not set
944 # CONFIG_AGP is not set
945 # CONFIG_SECURITY is not set
946 # CONFIG_PARIDE is not set
947 # CONFIG_CPU_FREQ is not set
948 # CONFIG_GAMEPORT is not set
949 # CONFIG_KVM is not set
950 # CONFIG_PHONE is not set
951 # CONFIG_STRICT_DEVMEM is not set
952 # CONFIG_IMA is not set
955 CONFIG_AUFS_BR_RAMFS=y
957 CONFIG_BLK_DEV_LOOP=y
969 Config="kernel-%{target_arch_dir}.config"
970 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
972 # prepare local and important options
973 cat <<-EOCONFIG > important.config
974 LOCALVERSION="-%{localversion}"
978 CONFIG_DEBUG_SLAB_LEAK=y
979 CONFIG_DEBUG_PREEMPT=y
980 CONFIG_RT_DEADLOCK_DETECT=y
983 # apparmor, will be moved to external file if works
985 CONFIG_SECURITY_APPARMOR=y
986 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
987 CONFIG_SECURITY_APPARMOR_DISABLE=n
988 CONFIG_SECURITY_APPARMOR_NETWORK=y
989 CONFIG_SECURITY_APPARMOR_COMPAT_24=y
990 CONFIG_DEFAULT_SECURITY_APPARMOR=n
997 %ifarch i686 athlon pentium3 pentium4
1006 %if %{without pcmcia}
1010 %if %{with fbcondecor}
1014 CONFIG_FB_TILEBLITTING=n
1015 CONFIG_FB_CON_DECOR=y
1023 # Temporary disabled RELOCATABLE. Needed only on x86??
1024 %if %{with pax} || %{with grsec_full}
1025 CONFIG_RELOCATABLE=n
1029 %if %{with rescuecd}
1030 RescueConfig rescue.config
1033 PaXconfig pax.config
1036 # prepare kernel-style config file from multiple config files
1037 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1039 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
1042 %if %{with rescuecd}
1053 %if %{with grsec_full}
1057 %if %{with grsec_minimal}
1075 %if %{with tuxonice}
1076 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1080 %{SOURCE40} %{?0:netfilter} \
1081 %{SOURCE41} %{?0:patches} \
1083 $RPM_SOURCE_DIR/$Config
1087 install -d arch/%{target_arch_dir}
1088 BuildConfig > %{defconfig}
1089 ln -sf %{defconfig} .config
1093 TARGETOBJ=%{targetobj} \
1094 %{?with_verbose:V=1} \
1097 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1101 TARGETOBJ=%{targetobj} \
1102 %{?with_verbose:V=1} \
1106 rm -rf $RPM_BUILD_ROOT
1107 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1109 %{?with_verbose:V=1} \
1111 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1112 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1113 KERNELRELEASE=%{kernel_release}
1115 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1117 # create directories which may be missing, to simplyfy %files
1118 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1120 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1121 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1122 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1124 # no point embed content for %ghost files. empty them
1129 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1131 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1132 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1136 install -d $RPM_BUILD_ROOT/boot
1137 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1138 %ifarch %{ix86} %{x8664}
1139 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1140 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1143 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1144 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1147 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1148 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1149 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1151 %ifarch alpha sparc sparc64
1152 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1153 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1154 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1156 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1157 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1160 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1161 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1165 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1169 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1171 %if "%{_target_base_arch}" != "%{_arch}"
1172 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1176 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1179 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1180 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1181 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1183 rm -f $RPM_BUILD_ROOT/COPYING
1186 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1187 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1188 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1189 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1190 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1191 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1192 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1193 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1195 # collect module-build files and directories
1196 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1198 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1199 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1202 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1203 install -d $RPM_BUILD_ROOT%{_docdir}
1204 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1206 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1207 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1208 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1209 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1212 rm -rf $RPM_BUILD_ROOT
1215 if [ -x /sbin/new-kernel-pkg ]; then
1216 /sbin/new-kernel-pkg --remove %{kernel_release}
1221 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1222 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1223 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1224 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1226 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1227 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1228 mv -f /boot/System.map{,.old} 2> /dev/null
1229 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1230 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1231 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1232 ln -sf System.map-%{kernel_release} /boot/System.map
1233 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1235 %depmod %{kernel_release}
1238 # generate initrd after all dependant modules are installed
1239 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1240 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1241 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1242 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1243 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1245 # update boot loaders when old package files are gone from filesystem
1246 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1247 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1248 /sbin/update-grub >/dev/null
1251 if [ -x /sbin/new-kernel-pkg ]; then
1252 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1254 if [ -x /sbin/rc-boot ]; then
1255 /sbin/rc-boot 1>&2 || :
1259 mv -f /boot/vmlinux{,.old} 2> /dev/null
1260 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1261 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1262 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1265 %depmod %{kernel_release}
1268 %depmod %{kernel_release}
1271 %depmod %{kernel_release}
1274 %depmod %{kernel_release}
1277 %depmod %{kernel_release}
1280 %depmod %{kernel_release}
1283 %depmod %{kernel_release}
1286 %depmod %{kernel_release}
1289 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1292 if [ "$1" = "0" ]; then
1293 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1294 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1295 rm -f %{_prefix}/src/linux%{_alt_kernel}
1300 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1301 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1302 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1304 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1305 if [ "$1" = 0 ]; then
1306 rm -f /lib/modules/%{kernel_release}/{build,source}
1310 %defattr(644,root,root,755)
1311 %ifarch sparc sparc64
1312 /boot/vmlinux.aout-%{kernel_release}
1315 /boot/efi/vmlinuz-%{kernel_release}
1317 /boot/vmlinuz-%{kernel_release}
1318 /boot/System.map-%{kernel_release}
1319 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1320 /lib/firmware/%{kernel_release}
1322 %dir /lib/modules/%{kernel_release}
1323 %dir /lib/modules/%{kernel_release}/kernel
1324 /lib/modules/%{kernel_release}/kernel/arch
1325 /lib/modules/%{kernel_release}/kernel/crypto
1326 /lib/modules/%{kernel_release}/kernel/drivers
1328 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1330 /lib/modules/%{kernel_release}/kernel/fs
1331 /lib/modules/%{kernel_release}/kernel/kernel
1332 /lib/modules/%{kernel_release}/kernel/lib
1333 /lib/modules/%{kernel_release}/kernel/net
1334 /lib/modules/%{kernel_release}/kernel/mm
1336 %dir /lib/modules/%{kernel_release}/kernel/sound
1337 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1338 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1340 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1341 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1342 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1345 %dir /lib/modules/%{kernel_release}/misc
1347 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1348 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1349 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1350 %if %{without rescuecd}
1351 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1352 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1353 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1354 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1355 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1356 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1358 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1359 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1360 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1361 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1362 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1363 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1364 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1365 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1368 /lib/modules/%{kernel_release}/kernel/sound
1371 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1374 /lib/modules/%{kernel_release}/modules.order
1375 /lib/modules/%{kernel_release}/modules.builtin
1377 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1378 %ghost /lib/modules/%{kernel_release}/modules.alias
1379 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1380 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1381 %ghost /lib/modules/%{kernel_release}/modules.dep
1382 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1383 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1384 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1385 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1386 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1387 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1388 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1389 %ghost /lib/modules/%{kernel_release}/modules.symbols
1390 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1391 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1393 # symlinks pointing to kernelsrcdir
1394 %ghost /lib/modules/%{kernel_release}/build
1395 %ghost /lib/modules/%{kernel_release}/source
1397 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1399 %defattr(644,root,root,755)
1400 /boot/vmlinux-%{kernel_release}
1405 %defattr(644,root,root,755)
1406 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1411 %defattr(644,root,root,755)
1412 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1413 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1414 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1415 %if %{without rescuecd}
1416 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1417 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1418 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1419 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1421 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1422 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1423 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1424 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1425 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1426 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1427 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1428 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1429 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1434 %defattr(644,root,root,755)
1435 /lib/modules/%{kernel_release}/kernel/sound
1436 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1437 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1438 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1440 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1443 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1444 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1445 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1446 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1451 %defattr(644,root,root,755)
1452 /lib/modules/%{kernel_release}/kernel/sound/oss
1456 %files headers -f files.headers_exclude_kbuild
1457 %defattr(644,root,root,755)
1458 %dir %{_kernelsrcdir}
1459 %{_kernelsrcdir}/include
1460 %dir %{_kernelsrcdir}/arch
1461 %dir %{_kernelsrcdir}/arch/[!K]*
1462 %{_kernelsrcdir}/arch/*/include
1463 %dir %{_kernelsrcdir}/security
1464 %dir %{_kernelsrcdir}/security/selinux
1465 %{_kernelsrcdir}/security/selinux/include
1466 %{_kernelsrcdir}/config-dist
1467 %{_kernelsrcdir}/Module.symvers-dist
1469 %files module-build -f files.mb_include_modulebuild_and_dirs
1470 %defattr(644,root,root,755)
1472 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1474 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1475 %exclude %dir %{_kernelsrcdir}/arch/um
1476 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1477 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1478 %{_kernelsrcdir}/drivers/lguest/lg.h
1479 %{_kernelsrcdir}/kernel/bounds.c
1480 %dir %{_kernelsrcdir}/scripts
1481 %{_kernelsrcdir}/scripts/Kbuild.include
1482 %{_kernelsrcdir}/scripts/Makefile*
1483 %{_kernelsrcdir}/scripts/basic
1484 %{_kernelsrcdir}/scripts/kconfig
1485 %{_kernelsrcdir}/scripts/mkcompile_h
1486 %{_kernelsrcdir}/scripts/mkmakefile
1487 %{_kernelsrcdir}/scripts/mod
1488 %{_kernelsrcdir}/scripts/module-common.lds
1489 %{_kernelsrcdir}/scripts/setlocalversion
1490 %{_kernelsrcdir}/scripts/*.c
1491 %{_kernelsrcdir}/scripts/*.sh
1492 %dir %{_kernelsrcdir}/scripts/selinux
1493 %{_kernelsrcdir}/scripts/selinux/Makefile
1494 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1495 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1496 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1497 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1498 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1499 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1500 %exclude %dir %{_kernelsrcdir}/security
1501 %exclude %dir %{_kernelsrcdir}/security/selinux
1505 %defattr(644,root,root,755)
1506 %dir %{_docdir}/%{name}-%{version}
1508 %{_docdir}/%{name}-%{version}/[!jkz]*
1509 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1510 %{_docdir}/%{name}-%{version}/kbuild
1511 %{_docdir}/%{name}-%{version}/kdump
1512 %{_docdir}/%{name}-%{version}/kvm
1513 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1514 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1515 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1519 %files source -f files.source_exclude_modulebuild_and_dirs
1520 %defattr(644,root,root,755)
1521 %{_kernelsrcdir}/arch/*/[!Mik]*
1522 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1523 %{_kernelsrcdir}/arch/ia64/install.sh
1524 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1525 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1526 %{_kernelsrcdir}/arch/m68k/install.sh
1527 %{_kernelsrcdir}/arch/parisc/install.sh
1528 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1529 %{_kernelsrcdir}/arch/ia64/kvm
1530 %{_kernelsrcdir}/arch/powerpc/kvm
1532 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1534 %{_kernelsrcdir}/arch/s390/kvm
1535 %{_kernelsrcdir}/arch/x86/kvm
1536 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1537 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1538 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1539 %{_kernelsrcdir}/block
1540 %{_kernelsrcdir}/crypto
1541 %{_kernelsrcdir}/drivers
1542 %{_kernelsrcdir}/firmware
1544 %if %{with grsecurity} && %{without rescuecd}
1545 %{_kernelsrcdir}/grsecurity
1547 %{_kernelsrcdir}/init
1548 %{_kernelsrcdir}/ipc
1549 %{_kernelsrcdir}/kernel
1550 %exclude %{_kernelsrcdir}/kernel/bounds.c
1551 %{_kernelsrcdir}/lib
1553 %{_kernelsrcdir}/net
1554 %{_kernelsrcdir}/virt
1555 %{_kernelsrcdir}/samples
1556 %{_kernelsrcdir}/scripts/*
1557 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1558 %exclude %{_kernelsrcdir}/scripts/Makefile*
1559 %exclude %{_kernelsrcdir}/scripts/basic
1560 %exclude %{_kernelsrcdir}/scripts/kconfig
1561 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1562 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1563 %exclude %{_kernelsrcdir}/scripts/mod
1564 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1565 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1566 %exclude %{_kernelsrcdir}/scripts/*.c
1567 %exclude %{_kernelsrcdir}/scripts/*.sh
1568 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1569 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1570 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1571 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1572 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1573 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1574 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1575 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1576 %{_kernelsrcdir}/sound
1577 %{_kernelsrcdir}/security
1578 %exclude %{_kernelsrcdir}/security/selinux/include
1579 %{_kernelsrcdir}/tools
1580 %{_kernelsrcdir}/usr
1581 %{_kernelsrcdir}/COPYING
1582 %{_kernelsrcdir}/CREDITS
1583 %{_kernelsrcdir}/MAINTAINERS
1584 %{_kernelsrcdir}/README
1585 %{_kernelsrcdir}/REPORTING-BUGS