3 # the following bcond combos will not work
4 # - without_vserver and any of the following
11 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
12 # - add a subpackage (kernel-firmware?) for ~35 firmware files
15 # - pom-ng quake3-conntrack-nat -> nf_conntrack ?
16 # - pom-ng talk-conntrack-nat -> nf_conntrack ?
18 # - pax hooks for selinux (experimental)
21 # - update main config: ./kernel-config-sort.pl ./BUILD/kernel-*/linux-2.6.29 kernel-multiarch.config
24 %bcond_without source # don't build kernel-source package
25 %bcond_without pcmcia # don't build pcmcia
27 %bcond_with verbose # verbose build (V=1)
28 %bcond_without reiser4 # support for reiser4 fs (experimental)
30 %bcond_without grsecurity # don't build grsecurity nor pax at all
31 %bcond_without grsec_minimal # build only minimal subset (proc,link,fifo,shm)
32 %bcond_without grsec_full # build full grsecurity
33 %bcond_with pax_full # build pax and full grsecurity (ie. grsec_full && pax)
34 %bcond_with pax # build pax support
36 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
37 %bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
38 %bcond_with nfsroot # build with root on NFS support
40 %bcond_with imq # imq support
41 %bcond_without wrr # wrr support
42 %bcond_without esfq # esfq support
43 %bcond_without ipv6 # ipv6 support
45 %bcond_without vserver # support for VServer (enabled by default)
46 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
47 %bcond_without apparmor # build kernel with apparmor (exerimental mix)
48 %bcond_with tomoyo # build kernel with tomoyo support [ disables apparmor ]
50 %bcond_with rescuecd # build kernel for our rescue
52 %bcond_without smp # build uniprocessor instead of SMP kernel
53 %bcond_with myown # build with your own config (kernel-myown.config)
55 %{?debug:%define with_verbose 1}
57 %if %{without grsecurity}
58 %undefine with_grsec_full
59 %undefine with_grsec_minimal
61 %undefine with_pax_full
65 %undefine with_grsec_minimal
66 %define with_grsec_full 1
67 %define with_grsecurity 1
71 %if %{with grsec_full}
72 %undefine with_grsec_minimal
73 %define with_grsecurity 1
75 %define with_pax_full 1
79 %if %{with grsec_minimal}
80 %undefine with_grsec_full
81 %undefine with_pax_full
82 %define with_grsecurity 1
90 %undefine with_apparmor
91 %undefine with_tuxonice
92 %undefine with_grsec_full
93 %undefine with_grsec_minimal
95 %undefine with_pax_full
96 %undefine with_vserver
101 %ifarch %{ix86} alpha ppc
107 %ifarch sparc sparc64
108 %undefine with_pcmcia
113 %define basever 2.6.29
117 %define _enable_debug_packages 0
119 %define squashfs_version 3.4
120 %define tuxonice_version 3.0.1
121 %define netfilter_snap 20070806
123 %if %{without rescuecd}
124 %define __alt_kernel %{?with_pax:pax}%{!?with_grsec_full:nogrsecurity}%{!?with_apparmor:noaa}%{?with_pae:pae}%{?with_myown:myown}
126 %define __alt_kernel rescuecd
129 %if "%{__alt_kernel}" != ""
130 %define alt_kernel %{__alt_kernel}
133 # kernel release (used in filesystem and eventually in uname -r)
134 # modules will be looked from /lib/modules/%{kernel_release}
135 # localversion is just that without version for "> localversion"
136 %define localversion %{rel}
137 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
139 Summary: The Linux kernel (the core of the Linux operating system)
140 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
141 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
142 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
143 Summary(pl.UTF-8): JÄ…dro Linuksa
144 Name: kernel%{_alt_kernel}
145 Version: %{basever}%{postver}
150 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
151 # Source0-md5: 64921b5ff5cdadbccfcd3820f03be7d8
152 %if "%{postver}" != "%{nil}"
153 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
154 # Source1-md5: 4e16a087ca4455f5e95c5890c4ac23f6
157 Source3: kernel-autoconf.h
158 Source4: kernel-config.h
159 Source5: kernel-ppclibs.Makefile
160 Source6: kernel-config.awk
161 Source7: kernel-module-build.pl
162 Source8: kernel-track-config-change.awk
163 # not used by kernel.spec, but it's good to have it in SOURCES
164 Source9: kernel-config-sort.pl
165 Source10: kernel.make
167 Source20: kernel-multiarch.config
168 Source21: kernel-x86.config
169 Source22: kernel-sparc.config
170 Source23: kernel-alpha.config
171 Source24: kernel-powerpc.config
172 Source25: kernel-ia64.config
174 Source40: kernel-netfilter.config
175 Source41: kernel-patches.config
176 Source42: kernel-tuxonice.config
177 Source43: kernel-vserver.config
178 Source45: kernel-grsec.config
180 Source49: kernel-pax.config
181 Source50: kernel-no-pax.config
182 Source51: kernel-grsec_minimal.config
183 Source55: kernel-imq.config
184 Source56: kernel-reiser4.config
185 Source57: kernel-wrr.config
187 Source58: kernel-inittmpfs.config
188 Source59: kernel-bzip2-lzma.config
190 Source6000: http://globalbase.dl.sourceforge.jp/tomoyo/30297/ccs-patch-1.6.6-20090202.tar.gz
191 # Source6000-md5: cceb1731d3720030eac34ed128848b32
193 # tahoe9xx http://www.tahoe.pl/drivers/tahoe9xx-2.6.24.patch
194 Patch2: kernel-tahoe9xx.patch
196 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
197 Patch3: kernel-fbcondecor.patch
198 Patch4: kernel-fbcon-margins.patch
200 # netfilter related stuff mostly based on patch-o-matic-ng
201 # snapshot 20061213 with some fixes related to changes in
202 # netfilter api in 2.6.19 up to 2.6.22. Some modules
203 # were ported to nf_conntrack. Some of these are unique.
205 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
206 Patch11: kernel-pom-ng-ipv4options.patch
208 Patch14: kernel-pom-ng-ROUTE.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 http://www.svn.barbara.eu.org/ipt_account/attachment/wiki/Software/ipt_account-0.1.21-20070804164729.tar.gz?format=raw
220 Patch38: kernel-ipt_account.patch
222 # based on http://www.intra2net.com/de/produkte/opensource/ipt_account/pom-ng-ipt_ACCOUNT-1.12.tgz
223 Patch39: kernel-ipt_ACCOUNT.patch
225 # based on kernel-2.6.25-layer7-2.20.patch from
226 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
227 Patch40: kernel-layer7.patch
229 # http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.28-1.diff
230 Patch41: kernel-ipvs-nfct.patch
232 # based on http://www.balabit.com/downloads/files/tproxy/tproxy-kernel-2.6.25-20080509-164605-1210344365.tar.bz2
233 #FIXME: this patch needs net_device->nd_dev feature (see net/Kconfig:NET_NS).
234 # NET_NS depends on EXPERIMENTAL && !SYSFS && NAMESPACES while we have SYSFS enabled.
235 # the https://lists.linux-foundation.org/pipermail/containers/2007-December/008849.html is waiting for merge.
236 #Patch42: kernel-tproxy.patch
240 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
241 Patch49: kernel-zph.patch
243 # based on http://www.linuximq.net/patchs/linux-2.6.24-imq.diff
244 # some people report problems when using imq with wrr.
245 # try unoficial version: http://kapturkiewicz.name/linux-2.6.25-imq1.diff
246 Patch50: kernel-imq.patch
248 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.28.patch.bz2
249 Patch51: kernel-reiser4.patch
251 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
252 Patch52: kernel-wrr.patch
254 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
255 Patch53: kernel-esfq.patch
257 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
258 Patch54: kernel-toshiba_acpi.patch
260 # by Baggins request:
261 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
262 Patch55: kernel-atm-vbr.patch
263 Patch56: kernel-atmdd.patch
265 # http://www.ntop.org/PF_RING.html 20070610
266 Patch58: kernel-PF_RING.patch
268 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
269 Patch59: kernel-rndis_host-wm5.patch
271 # Project suspend2 renamed to tuxonice
272 # http://www.tuxonice.net/downloads/all/tuxonice-3.0.1-for-head.patch.bz2
273 Patch69: kernel-tuxonice.patch
274 Patch70: kernel-tuxonice-headers.patch
276 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
277 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
278 Patch85: kernel-hostap.patch
280 # Taken from http://download.opensuse.org/factory/repo/src-oss/suse/src/kernel-source-2.6.27.7-3.1.src.rpm
281 Patch90: kernel-mpt-fusion.patch
283 # based on http://vserver.13thfloor.at/Experimental/patch-2.6.29-vs2.3.0.36.9-pre3.diff
284 Patch100: kernel-vserver-2.3.patch
285 Patch101: kernel-vserver-fixes.patch
287 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
288 # Fix verified for that kernel version.
289 Patch130: kernel-forcedeth-WON.patch
291 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.1_for_2.6.28.1.diff.gz
292 Patch140: kernel-unionfs.patch
293 Patch141: kernel-unionfs-apparmor.patch
295 # aufs1, http://aufs.sourceforge.net/
296 Patch145: kernel-aufs.patch
297 Patch146: kernel-aufs-support.patch
298 Patch147: kernel-aufs-apparmor.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.28-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 # based on https://forgesvn1.novell.com/svn/apparmor/trunk/kernel-patches/2.6.27 rev 1303
325 # repatched and adapted for vserver/grsec changes in vfs API, experimental
326 Patch5000: kernel-apparmor.patch
327 # with grsec_full version
328 Patch5001: kernel-apparmor-after-grsec_full.patch
329 Patch5002: kernel-apparmor-common.patch
331 # tomoyo based on patch from ccs-patch-1.6.6-20090202 tarball
332 Patch6000: kernel-tomoyo-with-apparmor.patch
333 Patch6001: kernel-tomoyo-without-apparmor.patch
336 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
337 Patch7000: kernel-inittmpfs.patch
339 # http://lkml.org/lkml/2009/3/26/267
340 Patch7001: kernel-bzip2-lzma.patch
343 Patch9997: kernel-pax_selinux_hooks.patch
345 # based on http://www.grsecurity.net/~paxguy1/pax-linux-2.6.24.6-test45.patch
346 Patch9998: kernel-pax.patch
348 # based on http://www.grsecurity.net/~spender/grsecurity-2.1.14-2.6.29-200903281534.patch
349 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
350 # (since upstream deletes older patches)
351 Patch9999: kernel-grsec_full.patch
352 Patch10000: kernel-grsec-caps.patch
353 Patch10001: kernel-grsec-common.patch
354 Patch10002: kernel-grsec_fixes.patch
355 Patch10003: kernel-grsec-no-stupid-SbO.patch
357 URL: http://www.kernel.org/
358 BuildRequires: binutils >= 3:2.18
359 %ifarch sparc sparc64
360 BuildRequires: elftoaout
363 BuildRequires: uboot-mkimage
366 BuildRequires: /sbin/depmod
367 BuildRequires: gcc >= 5:3.2
368 BuildRequires: xz >= 1:4.999.7
369 # for hostname command
370 BuildRequires: net-tools
371 BuildRequires: perl-base
372 BuildRequires: rpm-build >= 4.4.9-56
373 BuildRequires: rpmbuild(macros) >= 1.217
374 Requires(post): coreutils
375 Requires(post): geninitrd >= 10000-3
376 Requires(post): module-init-tools >= 0.9.9
377 Requires: /sbin/depmod
379 Requires: geninitrd >= 10000-3
380 Requires: module-init-tools >= 0.9.9
381 Provides: %{name}(netfilter) = %{netfilter_snap}
382 Provides: %{name}(vermagic) = %{kernel_release}
383 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
384 Obsoletes: kernel-misc-acer_acpi
385 Obsoletes: kernel-misc-fuse
386 Obsoletes: kernel-misc-uvc
387 Obsoletes: kernel-modules
388 Obsoletes: kernel-net-ar81
389 Obsoletes: kernel-net-hostap
390 Obsoletes: kernel-net-ieee80211
391 Obsoletes: kernel-net-ipp2p
392 Obsoletes: kernel-net-rt61
393 Obsoletes: kernel-smp
394 Conflicts: e2fsprogs < 1.29
395 Conflicts: isdn4k-utils < 3.1pre1
396 Conflicts: jfsutils < 1.1.3
397 Conflicts: module-init-tools < 0.9.10
398 Conflicts: nfs-utils < 1.0.5
399 Conflicts: oprofile < 0.9
400 Conflicts: ppp < 1:2.4.0
401 Conflicts: procps < 3.2.0
402 Conflicts: quota-tools < 3.09
403 %if %{with reiserfs4}
404 Conflicts: reiser4progs < 1.0.0
406 Conflicts: reiserfsprogs < 3.6.3
407 Conflicts: udev < 1:081
408 Conflicts: util-linux < 2.10o
409 Conflicts: util-vserver < 0.30.215-10
410 Conflicts: xfsprogs < 2.6.0
412 ExcludeArch: i386 i486 i586
414 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
417 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
419 %ifarch %{ix86} %{x8664}
420 %define target_arch_dir x86
423 %define target_arch_dir powerpc
425 %ifarch sparc sparc64
426 %define target_arch_dir sparc
428 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
429 %define target_arch_dir %{_target_base_arch}
432 %define defconfig arch/%{target_arch_dir}/defconfig
434 # No ELF objects there to strip (skips processing 27k files)
435 %define _noautostrip .*%{_kernelsrcdir}/.*
436 %define _noautochrpath .*%{_kernelsrcdir}/.*
439 %define initrd_dir /boot/efi
441 %define initrd_dir /boot
444 %define topdir %{_builddir}/%{name}-%{version}
445 %define srcdir %{topdir}/linux-%{basever}
446 %define objdir %{topdir}/%{targetobj}
447 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
449 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
451 %if "%{_target_base_arch}" != "%{_arch}"
452 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
453 %define DepMod /bin/true
455 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
456 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
457 %define DepMod /sbin/depmod
460 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
461 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
462 %define DepMod /sbin/depmod
465 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
466 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
467 %define DepMod /sbin/depmod
470 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
471 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
475 %define CrossOpts ARCH=powerpc CC="%{__cc}"
477 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
479 %define DepMod /sbin/depmod
481 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
483 %define __features Netfilter module dated: %{netfilter_snap}\
484 %{?with_grsec_full:Grsecurity full support - enabled}\
485 %{?with_pax:PaX support - enabled}\
486 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
487 %{?with_nfsroot:Root on NFS - enabled}\
488 %{?with_apparmor:apparmor support - enabled}\
489 %{?with_tomoyo:tomoyo support - enabled}
491 %define Features %(echo "%{__features}" | sed '/^$/d')
494 This package contains the Linux kernel that is used to boot and run
495 your system. It contains few device drivers for specific hardware.
496 Most hardware is instead supported by modules loaded after booting.
500 %description -l de.UTF-8
501 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
502 Linux-Betriebssystems. Der Kernel ist für grundliegende
503 Systemfunktionen verantwortlich: Speicherreservierung,
504 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
508 %description -l fr.UTF-8
509 Le package kernel contient le kernel linux (vmlinuz), la partie
510 centrale d'un système d'exploitation Linux. Le noyau traite les
511 fonctions basiques d'un système d'exploitation: allocation mémoire,
512 allocation de process, entrée/sortie de peripheriques, etc.
516 %description -l pl.UTF-8
517 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
518 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
519 się w komputerze, takiego jak sterowniki dysków itp.
524 Summary: vmlinux - uncompressed kernel image
525 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
526 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
528 Obsoletes: kernel-smp-vmlinux
531 vmlinux - uncompressed kernel image.
533 %description vmlinux -l de.UTF-8
534 vmlinux - dekompressiertes Kernel Bild.
536 %description vmlinux -l pl.UTF-8
537 vmlinux - rozpakowany obraz jÄ…dra.
540 Summary: common dirs for kernel packages
541 Summary(pl.UTF-8): Katalogi wspólne dla pakietów kernela
545 This package provides common dirs shared between various kernel
548 %description dirs -l pl.UTF-8
549 Katalog ten udostepnia katalogi współdzielone pomiędzy różnymi
553 Summary: DRM kernel modules
554 Summary(de.UTF-8): DRM Kernel Treiber
555 Summary(pl.UTF-8): Sterowniki DRM
557 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
558 Requires: %{name} = %{epoch}:%{version}-%{release}
559 Obsoletes: kernel-smp-drm
565 %description drm -l de.UTF-8
568 %description drm -l pl.UTF-8
572 Summary: PCMCIA modules
573 Summary(de.UTF-8): PCMCIA Module
574 Summary(pl.UTF-8): Moduły PCMCIA
576 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
577 Requires: %{name} = %{epoch}:%{version}-%{release}
578 Obsoletes: kernel-smp-pcmcia
579 Conflicts: pcmcia-cs < 3.1.21
580 Conflicts: pcmciautils < 004
586 %description pcmcia -l de.UTF-8
589 %description pcmcia -l pl.UTF-8
593 Summary: Libraries for preparing bootable kernel on PowerPCs
594 Summary(pl.UTF-8): Biblioteki do przygotowania bootowalnego jÄ…dra dla PowerPC
596 Requires: %{name} = %{epoch}:%{version}-%{release}
597 Requires: mkvmlinuz >= 1.3
598 Obsoletes: kernel-smp-libs
602 Libraries for preparing bootable kernel on PowerPCs. Script called
603 mkvmlinuz may be useful for this.
605 %description libs -l pl.UTF-8
606 Biblioteki do przygotowania bootowalnego jÄ…dra dla PowerPC. Skrypt
607 mkvmlinuz może być do tego przydatny.
610 Summary: ALSA kernel modules
611 Summary(de.UTF-8): ALSA Kernel Module
612 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
614 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
615 Requires: %{name} = %{epoch}:%{version}-%{release}
616 Obsoletes: kernel-smp-sound-alsa
619 %description sound-alsa
620 ALSA (Advanced Linux Sound Architecture) sound drivers.
622 %description sound-alsa -l de.UTF-8
623 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
625 %description sound-alsa -l pl.UTF-8
626 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
629 Summary: OSS kernel modules
630 Summary(de.UTF-8): OSS Kernel Module
631 Summary(pl.UTF-8): Sterowniki dźwięku OSS
633 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
634 Requires: %{name} = %{epoch}:%{version}-%{release}
635 Obsoletes: kernel-smp-sound-oss
638 %description sound-oss
639 OSS (Open Sound System) drivers.
641 %description sound-oss -l de.UTF-8
642 OSS (Open Sound System) Treiber.
644 %description sound-oss -l pl.UTF-8
645 Sterowniki dźwięku OSS (Open Sound System).
648 Summary: Header files for the Linux kernel
649 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
650 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
651 Group: Development/Building
652 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
656 These are the C header files for the Linux kernel, which define
657 structures and constants that are needed when rebuilding the kernel or
658 building kernel modules.
660 %description headers -l de.UTF-8
661 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
662 Strukturen und Konstante beinhalten, die beim rekompilieren des
663 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
665 %description headers -l pl.UTF-8
666 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
667 oraz budowania modułów jądra.
669 %package module-build
670 Summary: Development files for building kernel modules
671 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
672 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
673 Group: Development/Building
674 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
675 Conflicts: rpmbuild(macros) < 1.321
678 %description module-build
679 Development files from kernel source tree needed to build Linux kernel
680 modules from external packages.
682 %description module-build -l de.UTF-8
683 Development Dateien des Linux-Kernels die beim kompilieren externer
684 Kernel Module gebraucht werden.
686 %description module-build -l pl.UTF-8
687 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
688 Linuksa z zewnętrznych pakietów.
691 Summary: Kernel source tree
692 Summary(de.UTF-8): Der Kernel Quelltext
693 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
694 Group: Development/Building
695 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
699 This is the source code for the Linux kernel. You can build a custom
700 kernel that is better tuned to your particular hardware.
702 %description source -l de.UTF-8
703 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
704 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
705 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
706 im Kernel-Source definiert sind. Die Source-Dateien können auch
707 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
708 Hardware ausgerichtet ist.
710 %description source -l fr.UTF-8
711 Le package pour le kernel-source contient le code source pour le noyau
712 linux. Ces sources sont nécessaires pour compiler la plupart des
713 programmes C, car il dépend de constantes définies dans le code
714 source. Les sources peuvent être aussi utilisée pour compiler un noyau
715 personnalisé pour avoir de meilleures performances sur des matériels
718 %description source -l pl.UTF-8
719 Pakiet zawiera kod źródłowy jądra systemu.
722 Summary: Kernel documentation
723 Summary(de.UTF-8): Kernel Dokumentation
724 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
729 This is the documentation for the Linux kernel, as found in
730 /usr/src/linux/Documentation directory.
732 %description doc -l de.UTF-8
733 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
734 Verzeichniss vorgefunden werden kann.
736 %description doc -l pl.UTF-8
737 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
738 /usr/src/linux/Documentation.
742 ln -s %{SOURCE7} kernel-module-build.pl
743 ln -s %{SOURCE10} Makefile
746 # hack against warning in pax/grsec
748 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
752 install %{SOURCE5} Makefile.ppclibs
755 %if "%{postver}" != "%{nil}"
756 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
761 ##ifarch %{ix86} %{x8664} ia64 ppc alpha
767 # XXX: 2.6.29 - need update
770 %if %{with fbcondecor}
778 # kernel-pom-ng-IPV4OPTSSTRIP.patch
781 # kernel-pom-ng-ipv4options.patch
784 # kernel-pom-ng-ROUTE.patch
787 # kernel-pom-ng-mms-conntrack-nat.patch
790 # kernel-pom-ng-rsh.patch
793 # kernel-pom-ng-rpc.patch
796 # kernel-nf_rtsp.patch
799 # kernel-owner-xid.patch
804 # kernel-ipt_account.patch
807 # kernel-ipt_ACCOUNT.patch
810 # kernel-layer7.patch
848 # kernel-rndis_host-wm5.patch
851 # hostap enhancements from/for aircrack-ng
854 # LSI MPT Fusion driver update (by LSI via SUSE folks)
864 %if %{without rescuecd} && %{with vserver}
871 # unionfs (disabled for rescuecd - problems with aufs2)
872 %if %{without rescuecd}
874 %{?with_apparmor:%patch141 -p1}
880 # 2.6.29 FIXME - needs port to creds
883 #%{?with_apparmor:%patch147 -p1}
892 # merged into 2.6.30 git :)
895 # grsecurity & pax stuff
899 %{?with_vserver:%patch10000 -p1}
900 %{?with_vserver:%patch10001 -p1}
901 %{?with_vserver:%patch10002 -p1}
902 %{?with_vserver:%patch10003 -p1}
905 %if %{with grsec_full}
907 %{?with_vserver:%patch10000 -p1}
908 %{?with_vserver:%patch10001 -p1}
909 %{?with_vserver:%patch10002 -p1}
910 %{?with_vserver:%patch10003 -p1}
912 %if %{with grsec_minimal}
914 # remember that we have the same config file for grsec_minimal and
915 # grsec_full, but the patches are different.
920 # now we have an separate testing pax-only patch - in the future we
921 # could have single grsecurity patch and will have to prepare separate
922 # configs for grsec_minimal, grsec_full and pax to support such
923 # configurations like pax & grsec_minimal.
924 # So, in a future there could be no patch9998, but only config
925 # would tell which options should be enabled.
926 # The second option is to maintain separate pax-only patch.
928 #patch9997 -p1 - needs update
934 # end of grsecurity & pax stuff
938 %if %{with grsec_full} || %{with pax_full}
949 tar xzf %{SOURCE6000}
971 # Fix EXTRAVERSION in main Makefile
972 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
974 # cleanup backups after patching
975 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
979 cat > %{targetobj}.mk <<'EOF'
980 # generated by %{name}.spec
981 KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
982 KERNELOUTPUT := %{objdir}
984 SRCARCH := %{target_arch_dir}
985 ARCH := %{_target_base_arch}
986 Q := %{!?with_verbose:@}
987 MAKE_OPTS := %{MakeOpts}
988 DEFCONFIG := %{defconfig}
995 CONFIG_PAX_SEGMEXEC=y
996 # performance impact on CPUs without NX bit
997 CONFIG_PAX_PAGEEXEC=n
1000 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
1006 CONFIG_PAX_NOELFRELOCS=n
1009 CONFIG_PAX_EMUTRAMP=y
1010 CONFIG_PAX_EMUSIGRT=y
1014 %ifarch sparc sparc64 alpha
1018 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
1019 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
1020 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
1021 # PAX_HOOK_ACL_FLAGS. SELinux should also be able to make PaX settings via hooks
1023 %if %{with grsec_full}
1024 # Hardening grsec options if with pax
1025 CONFIG_GRKERNSEC_PROC_MEMMAP=y
1026 # almost rational (see HIDESYM help)
1027 CONFIG_GRKERNSEC_HIDESYM=y
1029 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
1031 # selinux or other hooks?
1032 CONFIG_PAX_HAVE_ACL_FLAGS=n
1033 CONFIG_PAX_HOOK_ACL_FLAGS=y
1042 cat <<-EOCONFIG > $1
1043 # CONFIG_SOUND is not set
1044 # CONFIG_AUDIT is not set
1045 # CONFIG_TR is not set
1046 # CONFIG_BT is not set
1047 # CONFIG_VIDEO_DEV is not set
1048 # CONFIG_DVB_CORE is not set
1049 # CONFIG_HAMRADIO is not set
1050 # CONFIG_ARCNET is not set
1051 # CONFIG_FB is not set
1052 # CONFIG_DRM is not set
1053 # CONFIG_WATCHDOG is not set
1054 # CONFIG_INPUT_JOYSTICK is not set
1055 # CONFIG_DEBUG_KERNEL is not set
1056 # CONFIG_ISDN is not set
1057 # CONFIG_AGP is not set
1058 # CONFIG_SECURITY is not set
1059 # CONFIG_PARIDE is not set
1060 # CONFIG_CPU_FREQ is not set
1061 # CONFIG_GAMEPORT is not set
1062 # CONFIG_KVM is not set
1063 # CONFIG_PHONE is not set
1066 CONFIG_AUFS_BR_RAMFS=y
1067 CONFIG_BLK_DEV_LOOP=y
1079 Config="kernel-%{target_arch_dir}.config"
1080 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
1082 # prepare local and important options
1083 cat <<-EOCONFIG > important.config
1084 LOCALVERSION="-%{localversion}"
1088 CONFIG_DEBUG_SLAB_LEAK=y
1089 CONFIG_DEBUG_PREEMPT=y
1090 CONFIG_RT_DEADLOCK_DETECT=y
1097 # apparmor, will be moved to external file if works
1098 %if %{with apparmor}
1099 CONFIG_SECURITY_APPARMOR=y
1100 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
1101 CONFIG_SECURITY_APPARMOR_DISABLE=n
1108 %ifarch i686 athlon pentium3 pentium4
1116 %if %{without pcmcia}
1120 %if %{with fbcondecor}
1124 CONFIG_FB_TILEBLITTING=n
1125 CONFIG_FB_CON_DECOR=y
1133 # Temporary disabled RELOCATABLE. Needed only on x86??
1134 %if %{with pax} || %{with grsec_full}
1135 CONFIG_RELOCATABLE=n
1139 %if %{with rescuecd}
1140 RescueConfig rescue.config
1142 %if %{with pax_full} || %{with pax}
1143 PaXconfig pax.config
1146 # prepare kernel-style config file from multiple config files
1147 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1149 %if %{with rescuecd}
1155 %if %{with pax_full}
1160 %if %{with grsec_full}
1164 %if %{with grsec_minimal}
1186 %if %{with tuxonice}
1187 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1194 %{SOURCE40} %{?0:netfilter} \
1195 %{SOURCE41} %{?0:patches} \
1197 $RPM_SOURCE_DIR/$Config
1201 install -d arch/%{target_arch_dir}
1202 %if %{without myown}
1203 BuildConfig > %{defconfig}
1205 cat $RPM_SOURCE_DIR/kernel-myown.config > %{defconfig}
1207 ln -sf %{defconfig} .config
1210 %{__make} TARGETOBJ=%{targetobj} oldconfig
1212 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1215 %{__make} TARGETOBJ=%{targetobj} all
1218 rm -rf $RPM_BUILD_ROOT
1219 %{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install firmware_install \
1221 %{?with_verbose:V=1} \
1223 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1224 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1225 KERNELRELEASE=%{kernel_release}
1227 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1229 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1230 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1231 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1234 install -d $RPM_BUILD_ROOT/boot
1235 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1236 %ifarch %{ix86} %{x8664}
1237 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1238 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1241 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1242 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1245 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1246 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1247 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1249 %ifarch alpha sparc sparc64
1250 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1251 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1252 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1254 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1255 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1258 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1259 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1262 install %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1267 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1269 %if "%{_target_base_arch}" != "%{_arch}"
1270 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1274 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1277 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1278 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1279 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1281 rm -f $RPM_BUILD_ROOT/COPYING
1284 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1285 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1286 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1287 cp -a %{objdir}/include/linux/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf-dist.h
1288 cp -a %{objdir}/include/linux/{utsrelease,version}.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1289 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h
1290 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1292 # collect module-build files and directories
1293 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1295 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1296 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1300 rm -rf $RPM_BUILD_ROOT
1303 if [ -x /sbin/new-kernel-pkg ]; then
1304 /sbin/new-kernel-pkg --remove %{kernel_release}
1309 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1310 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1311 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1312 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1314 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1315 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1316 mv -f /boot/System.map{,.old} 2> /dev/null
1317 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1318 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1319 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1320 ln -sf System.map-%{kernel_release} /boot/System.map
1321 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1323 %depmod %{kernel_release}
1325 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1326 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1327 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1328 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1329 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1331 if [ -x /sbin/new-kernel-pkg ]; then
1332 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1333 elif [ -x /sbin/rc-boot ]; then
1334 /sbin/rc-boot 1>&2 || :
1338 mv -f /boot/vmlinux{,.old} 2> /dev/null
1339 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1340 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1341 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1344 %{_sbindir}/mkvmlinuz /boot/zImage-%{kernel_release} %{kernel_release}
1347 %depmod %{kernel_release}
1350 %depmod %{kernel_release}
1353 %depmod %{kernel_release}
1356 %depmod %{kernel_release}
1359 %depmod %{kernel_release}
1362 %depmod %{kernel_release}
1365 %depmod %{kernel_release}
1368 %depmod %{kernel_release}
1371 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1374 if [ "$1" = "0" ]; then
1375 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1376 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1377 rm -f %{_prefix}/src/linux%{_alt_kernel}
1382 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1383 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1384 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1386 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1387 if [ "$1" = 0 ]; then
1388 rm -f /lib/modules/%{kernel_release}/{build,source}
1392 %defattr(644,root,root,755)
1393 %ifarch sparc sparc64
1394 /boot/vmlinux.aout-%{kernel_release}
1397 /boot/efi/vmlinuz-%{kernel_release}
1399 /boot/vmlinuz-%{kernel_release}
1400 /boot/System.map-%{kernel_release}
1401 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1402 /lib/firmware/%{kernel_release}
1404 %dir /lib/modules/%{kernel_release}
1405 %dir /lib/modules/%{kernel_release}/kernel
1407 /lib/modules/%{kernel_release}/kernel/arch
1409 /lib/modules/%{kernel_release}/kernel/crypto
1410 /lib/modules/%{kernel_release}/kernel/drivers
1411 %if %{have_drm} && %{without myown}
1412 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1414 /lib/modules/%{kernel_release}/kernel/fs
1416 # this directory will be removed after disabling rcutorture mod. in 2.6.20.
1417 /lib/modules/%{kernel_release}/kernel/kernel
1419 /lib/modules/%{kernel_release}/kernel/lib
1420 /lib/modules/%{kernel_release}/kernel/net
1421 %if %{have_sound} && %{without myown}
1422 %dir /lib/modules/%{kernel_release}/kernel/sound
1423 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1424 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1426 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1427 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1428 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1431 %dir /lib/modules/%{kernel_release}/misc
1432 %if %{with pcmcia} && %{without myown}
1433 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1434 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1435 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1436 %if %{without rescuecd}
1437 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1438 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1439 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1440 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1441 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1442 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1444 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1445 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1446 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1447 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1448 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1449 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1450 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1451 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1453 %ghost /lib/modules/%{kernel_release}/modules.*
1454 # symlinks pointing to kernelsrcdir
1455 %ghost /lib/modules/%{kernel_release}/build
1456 %ghost /lib/modules/%{kernel_release}/source
1457 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1460 %defattr(644,root,root,755)
1461 %dir %{_kernelsrcdir}
1463 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1465 %defattr(644,root,root,755)
1466 /boot/vmlinux-%{kernel_release}
1469 %if %{have_drm} && %{without myown}
1471 %defattr(644,root,root,755)
1472 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1475 %if %{with pcmcia} && %{without myown}
1477 %defattr(644,root,root,755)
1478 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1479 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1480 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1481 %if %{without rescuecd}
1482 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1483 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1484 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1485 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1487 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1488 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1489 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1490 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1491 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1492 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1493 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1494 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1495 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1499 %if "%{_arch}" == "ppc"
1501 %defattr(644,root,root,755)
1502 %dir /boot/libs-%{kernel_release}
1503 /boot/libs-%{kernel_release}/common
1504 /boot/libs-%{kernel_release}/kernel
1505 /boot/libs-%{kernel_release}/lib
1506 /boot/libs-%{kernel_release}/of1275
1507 /boot/libs-%{kernel_release}/openfirmware
1508 /boot/libs-%{kernel_release}/simple
1509 %dir /boot/libs-%{kernel_release}/utils
1510 %attr(755,root,root) /boot/libs-%{kernel_release}/utils/*
1511 /boot/libs-%{kernel_release}/ld.script
1515 %if %{have_sound} && %{without myown}
1517 %defattr(644,root,root,755)
1518 /lib/modules/%{kernel_release}/kernel/sound
1519 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1520 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1521 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1523 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1526 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1527 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1528 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1529 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1532 %if %{have_oss} && %{without myown}
1534 %defattr(644,root,root,755)
1535 /lib/modules/%{kernel_release}/kernel/sound/oss
1540 %defattr(644,root,root,755)
1541 %{_kernelsrcdir}/include
1542 %dir %{_kernelsrcdir}/arch
1543 %dir %{_kernelsrcdir}/arch/[!K]*
1544 %{_kernelsrcdir}/arch/*/include
1545 %dir %{_kernelsrcdir}/security
1546 %dir %{_kernelsrcdir}/security/selinux
1547 %{_kernelsrcdir}/security/selinux/include
1548 %{_kernelsrcdir}/config-dist
1549 %{_kernelsrcdir}/Module.symvers-dist
1551 %files module-build -f aux_files
1552 %defattr(644,root,root,755)
1554 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1556 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1557 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1558 %{_kernelsrcdir}/drivers/lguest/lg.h
1559 %{_kernelsrcdir}/kernel/bounds.c
1560 %dir %{_kernelsrcdir}/scripts
1561 %dir %{_kernelsrcdir}/scripts/kconfig
1562 %{_kernelsrcdir}/scripts/Kbuild.include
1563 %{_kernelsrcdir}/scripts/Makefile*
1564 %{_kernelsrcdir}/scripts/basic
1565 %{_kernelsrcdir}/scripts/mkmakefile
1566 %{_kernelsrcdir}/scripts/mod
1567 %{_kernelsrcdir}/scripts/setlocalversion
1568 %{_kernelsrcdir}/scripts/*.c
1569 %{_kernelsrcdir}/scripts/*.sh
1570 %{_kernelsrcdir}/scripts/kconfig/*
1571 %{_kernelsrcdir}/scripts/mkcompile_h
1572 %dir %{_kernelsrcdir}/scripts/selinux
1573 %{_kernelsrcdir}/scripts/selinux/Makefile
1574 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1575 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1576 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1579 %defattr(644,root,root,755)
1580 %{_kernelsrcdir}/Documentation
1583 %files source -f aux_files_exc
1584 %defattr(644,root,root,755)
1585 %{_kernelsrcdir}/arch/*/[!Mik]*
1586 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1587 %{_kernelsrcdir}/arch/ia64/ia32/[!M]*
1588 %{_kernelsrcdir}/arch/ia64/install.sh
1589 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1590 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1591 %{_kernelsrcdir}/arch/parisc/install.sh
1592 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1593 %{_kernelsrcdir}/arch/ia64/kvm
1594 %{_kernelsrcdir}/arch/powerpc/kvm
1596 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1598 %{_kernelsrcdir}/arch/s390/kvm
1599 %{_kernelsrcdir}/arch/x86/kvm
1600 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1601 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1602 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1603 %{_kernelsrcdir}/block
1604 %{_kernelsrcdir}/crypto
1605 %{_kernelsrcdir}/drivers
1606 %{_kernelsrcdir}/firmware
1608 %if %{with grsecurity} && %{without rescuecd}
1609 %{_kernelsrcdir}/grsecurity
1611 %{_kernelsrcdir}/init
1612 %{_kernelsrcdir}/ipc
1613 %{_kernelsrcdir}/kernel
1614 %exclude %{_kernelsrcdir}/kernel/bounds.c
1615 %{_kernelsrcdir}/lib
1617 %{_kernelsrcdir}/net
1618 %{_kernelsrcdir}/virt
1619 %{_kernelsrcdir}/samples
1620 %{_kernelsrcdir}/scripts/*
1621 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1622 %exclude %{_kernelsrcdir}/scripts/Makefile*
1623 %exclude %{_kernelsrcdir}/scripts/basic
1624 %exclude %{_kernelsrcdir}/scripts/kconfig
1625 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1626 %exclude %{_kernelsrcdir}/scripts/mod
1627 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1628 %exclude %{_kernelsrcdir}/scripts/*.c
1629 %exclude %{_kernelsrcdir}/scripts/*.sh
1630 %{_kernelsrcdir}/sound
1631 %{_kernelsrcdir}/security
1632 %exclude %{_kernelsrcdir}/security/selinux/include
1633 %{_kernelsrcdir}/usr
1634 %{_kernelsrcdir}/COPYING
1635 %{_kernelsrcdir}/CREDITS
1636 %{_kernelsrcdir}/MAINTAINERS
1637 %{_kernelsrcdir}/README
1638 %{_kernelsrcdir}/REPORTING-BUGS