]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- back to rev 1.1
[packages/kernel.git] / kernel.spec
CommitLineData
a7313793 1#
0fec42fa 2# NOTE:
351f379b
JR
3# the following bcond combos will not work
4# - without_vserver and any of the following
5# - with_apparmor
6# - with_grsec_minimal
7# - with_grsec_full
8# - with_tomoyo
a5585a68 9#
a5585a68 10# TODO:
351f379b
JR
11# - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
12# - add a subpackage (kernel-firmware?) for ~35 firmware files
13#
14# FUTURE:
15# - pom-ng quake3-conntrack-nat -> nf_conntrack ?
16# - pom-ng talk-conntrack-nat -> nf_conntrack ?
17# - nf-hipac ?
18# - pax hooks for selinux (experimental)
19#
20# HOWTO:
21# - update main config: ./kernel-config-sort.pl ./BUILD/kernel-*/linux-2.6.29 kernel-multiarch.config
a5585a68
AM
22#
23# Conditional build:
a5585a68 24%bcond_without source # don't build kernel-source package
351f379b
JR
25%bcond_without pcmcia # don't build pcmcia
26
a5585a68 27%bcond_with verbose # verbose build (V=1)
351f379b
JR
28%bcond_without reiser4 # support for reiser4 fs (experimental)
29
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
35
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
39
40%bcond_with imq # imq support
1b75c2b4
JR
41%bcond_without wrr # wrr support
42%bcond_without esfq # esfq support
351f379b
JR
43%bcond_without ipv6 # ipv6 support
44
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 ]
49
50%bcond_with rescuecd # build kernel for our rescue
51
52%bcond_without smp # build uniprocessor instead of SMP kernel
53%bcond_with myown # build with your own config (kernel-myown.config)
a5585a68
AM
54
55%{?debug:%define with_verbose 1}
56
351f379b
JR
57%if %{without grsecurity}
58%undefine with_grsec_full
59%undefine with_grsec_minimal
60%undefine with_pax
61%undefine with_pax_full
a5585a68 62%endif
351f379b
JR
63
64%if %{with pax_full}
65%undefine with_grsec_minimal
66%define with_grsec_full 1
67%define with_grsecurity 1
68%define with_pax 1
69%endif
70
71%if %{with grsec_full}
72%undefine with_grsec_minimal
73%define with_grsecurity 1
74%if %{with pax}
75%define with_pax_full 1
76%endif
77%endif
78
79%if %{with grsec_minimal}
80%undefine with_grsec_full
81%undefine with_pax_full
82%define with_grsecurity 1
83%endif
84
85%define have_drm 1
86%define have_oss 1
87%define have_sound 1
88
89%if %{with rescuecd}
90%undefine with_apparmor
91%undefine with_tuxonice
92%undefine with_grsec_full
93%undefine with_grsec_minimal
94%undefine with_pax
95%undefine with_pax_full
96%undefine with_vserver
97%define have_drm 0
98%define have_sound 0
99%endif
100
101%ifarch %{ix86} alpha ppc
102%define have_isa 1
103%else
104%define have_isa 0
105%endif
106
107%ifarch sparc sparc64
108%undefine with_pcmcia
109%define have_drm 0
110%define have_oss 0
111%endif
112
113%define basever 2.6.29
d6ec84cf 114%define postver .1
2c820d8e 115%define rel 0.2
a5585a68
AM
116
117%define _enable_debug_packages 0
a5585a68 118
351f379b 119%define squashfs_version 3.4
0ada99ac 120%define tuxonice_version 3.0.1
351f379b
JR
121%define netfilter_snap 20070806
122
123%if %{without rescuecd}
124%define __alt_kernel %{?with_pax:pax}%{!?with_grsec_full:nogrsecurity}%{!?with_apparmor:noaa}%{?with_pae:pae}%{?with_myown:myown}
125%else
126%define __alt_kernel rescuecd
127%endif
128
129%if "%{__alt_kernel}" != ""
130%define alt_kernel %{__alt_kernel}
131%endif
132
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}
a5585a68
AM
138
139Summary: The Linux kernel (the core of the Linux operating system)
351f379b
JR
140Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
141Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
142Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
143Summary(pl.UTF-8): Jądro Linuksa
144Name: kernel%{_alt_kernel}
145Version: %{basever}%{postver}
146Release: %{rel}
a5585a68 147Epoch: 3
c491b43b 148License: GPL v2
a5585a68 149Group: Base/Kernel
351f379b
JR
150Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
151# Source0-md5: 64921b5ff5cdadbccfcd3820f03be7d8
152%if "%{postver}" != "%{nil}"
153Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
d6ec84cf 154# Source1-md5: 87c6fbf4096b644d66d4da8bb00641a5
351f379b
JR
155%endif
156
157Source3: kernel-autoconf.h
158Source4: kernel-config.h
159Source5: kernel-ppclibs.Makefile
160Source6: kernel-config.awk
161Source7: kernel-module-build.pl
162Source8: kernel-track-config-change.awk
163# not used by kernel.spec, but it's good to have it in SOURCES
164Source9: kernel-config-sort.pl
165Source10: kernel.make
166
167Source20: kernel-multiarch.config
168Source21: kernel-x86.config
169Source22: kernel-sparc.config
5a99ae3d 170Source23: kernel-alpha.config
171Source24: kernel-powerpc.config
172Source25: kernel-ia64.config
351f379b
JR
173
174Source40: kernel-netfilter.config
175Source41: kernel-patches.config
176Source42: kernel-tuxonice.config
177Source43: kernel-vserver.config
178Source45: kernel-grsec.config
179
180Source49: kernel-pax.config
181Source50: kernel-no-pax.config
182Source51: kernel-grsec_minimal.config
183Source55: kernel-imq.config
184Source56: kernel-reiser4.config
185Source57: kernel-wrr.config
186
187Source58: kernel-inittmpfs.config
188Source59: kernel-bzip2-lzma.config
189
190Source6000: http://globalbase.dl.sourceforge.jp/tomoyo/30297/ccs-patch-1.6.6-20090202.tar.gz
191# Source6000-md5: cceb1731d3720030eac34ed128848b32
192
193# tahoe9xx http://www.tahoe.pl/drivers/tahoe9xx-2.6.24.patch
87365863 194Patch2: kernel-tahoe9xx.patch
351f379b
JR
195
196# http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
197Patch3: kernel-fbcondecor.patch
60bb736d 198Patch4: kernel-fbcon-margins.patch
351f379b
JR
199
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.
204
205Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
206Patch11: kernel-pom-ng-ipv4options.patch
207
208Patch14: kernel-pom-ng-ROUTE.patch
209Patch16: kernel-pom-ng-mms-conntrack-nat.patch
210Patch22: kernel-pom-ng-rsh.patch
211Patch23: kernel-pom-ng-rpc.patch
212
213# based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
214Patch36: kernel-nf_rtsp.patch
215
216# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
217Patch37: kernel-owner-xid.patch
218
219# based on http://www.svn.barbara.eu.org/ipt_account/attachment/wiki/Software/ipt_account-0.1.21-20070804164729.tar.gz?format=raw
220Patch38: kernel-ipt_account.patch
221
222# based on http://www.intra2net.com/de/produkte/opensource/ipt_account/pom-ng-ipt_ACCOUNT-1.12.tgz
223Patch39: kernel-ipt_ACCOUNT.patch
224
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
227Patch40: kernel-layer7.patch
228
229# http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.28-1.diff
230Patch41: kernel-ipvs-nfct.patch
231
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
237
238### End netfilter
239
240# http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
241Patch49: kernel-zph.patch
242
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
246Patch50: kernel-imq.patch
247
248# http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.28.patch.bz2
249Patch51: kernel-reiser4.patch
250
251# http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
252Patch52: kernel-wrr.patch
253
254# http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
60bb736d 255Patch53: kernel-esfq.patch
351f379b
JR
256
257# http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
60bb736d 258Patch54: kernel-toshiba_acpi.patch
351f379b
JR
259
260# by Baggins request:
261# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
60bb736d
JR
262Patch55: kernel-atm-vbr.patch
263Patch56: kernel-atmdd.patch
351f379b
JR
264
265# http://www.ntop.org/PF_RING.html 20070610
60bb736d 266Patch58: kernel-PF_RING.patch
351f379b
JR
267
268# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
269Patch59: kernel-rndis_host-wm5.patch
270
271# Project suspend2 renamed to tuxonice
0ada99ac 272# http://www.tuxonice.net/downloads/all/tuxonice-3.0.1-for-head.patch.bz2
60bb736d
JR
273Patch69: kernel-tuxonice.patch
274Patch70: kernel-tuxonice-headers.patch
351f379b
JR
275
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
60bb736d 278Patch85: kernel-hostap.patch
351f379b
JR
279
280# Taken from http://download.opensuse.org/factory/repo/src-oss/suse/src/kernel-source-2.6.27.7-3.1.src.rpm
281Patch90: kernel-mpt-fusion.patch
282
4a6985f1 283# based on http://vserver.13thfloor.at/Experimental/patch-2.6.29-vs2.3.0.36.9-pre3.diff
60bb736d 284Patch100: kernel-vserver-2.3.patch
351f379b
JR
285Patch101: kernel-vserver-fixes.patch
286
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.
60bb736d 289Patch130: kernel-forcedeth-WON.patch
351f379b
JR
290
291# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.1_for_2.6.28.1.diff.gz
292Patch140: kernel-unionfs.patch
293Patch141: kernel-unionfs-apparmor.patch
294
295# aufs1, http://aufs.sourceforge.net/
296Patch145: kernel-aufs.patch
297Patch146: kernel-aufs-support.patch
298Patch147: kernel-aufs-apparmor.patch
299
a899ef35 300Patch148: kernel-aufs2.patch
301
351f379b
JR
302Patch150: kernel-ppc-crtsavres.patch
303
60bb736d 304Patch200: kernel-ppc-ICE-hacks.patch
351f379b
JR
305
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
310# gateways are used.
311# http://www.ssi.bg/~ja/routes-2.6.28-16.diff
312Patch300: kernel-routes.patch
313
60bb736d 314Patch1000: kernel-grsec-minimal.patch
351f379b
JR
315
316Patch2000: kernel-small_fixes.patch
60bb736d 317Patch2001: kernel-pwc-uncompress.patch
351f379b
JR
318Patch2003: kernel-regressions.patch
319
320# kill some thousands of warnings
321# (only warnings, so just remove parts of this patch if conflics)
60bb736d 322Patch2500: kernel-warnings.patch
351f379b
JR
323
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
326Patch5000: kernel-apparmor.patch
327# with grsec_full version
328Patch5001: kernel-apparmor-after-grsec_full.patch
329Patch5002: kernel-apparmor-common.patch
330
331# tomoyo based on patch from ccs-patch-1.6.6-20090202 tarball
332Patch6000: kernel-tomoyo-with-apparmor.patch
333Patch6001: kernel-tomoyo-without-apparmor.patch
334
335# for rescuecd
336# based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
337Patch7000: kernel-inittmpfs.patch
338
339# http://lkml.org/lkml/2009/3/26/267
340Patch7001: kernel-bzip2-lzma.patch
341
342# not ready yet
60bb736d 343Patch9997: kernel-pax_selinux_hooks.patch
351f379b
JR
344
345# based on http://www.grsecurity.net/~paxguy1/pax-linux-2.6.24.6-test45.patch
346Patch9998: kernel-pax.patch
347
687ff820 348# based on http://www.grsecurity.net/~spender/grsecurity-2.1.14-2.6.29-200903281534.patch
4a6985f1
AM
349# NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
350# (since upstream deletes older patches)
60bb736d
JR
351Patch9999: kernel-grsec_full.patch
352Patch10000: kernel-grsec-caps.patch
353Patch10001: kernel-grsec-common.patch
351f379b 354Patch10002: kernel-grsec_fixes.patch
60bb736d 355Patch10003: kernel-grsec-no-stupid-SbO.patch
bf6838be 356
a5585a68 357URL: http://www.kernel.org/
351f379b 358BuildRequires: binutils >= 3:2.18
a5585a68
AM
359%ifarch sparc sparc64
360BuildRequires: elftoaout
361%endif
351f379b
JR
362%ifarch ppc
363BuildRequires: uboot-mkimage
364%endif
365AutoReqProv: no
366BuildRequires: /sbin/depmod
367BuildRequires: gcc >= 5:3.2
cfce203c 368BuildRequires: xz >= 1:4.999.7
351f379b
JR
369# for hostname command
370BuildRequires: net-tools
a5585a68 371BuildRequires: perl-base
351f379b
JR
372BuildRequires: rpm-build >= 4.4.9-56
373BuildRequires: rpmbuild(macros) >= 1.217
374Requires(post): coreutils
375Requires(post): geninitrd >= 10000-3
376Requires(post): module-init-tools >= 0.9.9
377Requires: /sbin/depmod
378Requires: coreutils
379Requires: geninitrd >= 10000-3
380Requires: module-init-tools >= 0.9.9
381Provides: %{name}(netfilter) = %{netfilter_snap}
382Provides: %{name}(vermagic) = %{kernel_release}
383Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
384Obsoletes: kernel-misc-acer_acpi
385Obsoletes: kernel-misc-fuse
386Obsoletes: kernel-misc-uvc
a5585a68 387Obsoletes: kernel-modules
351f379b
JR
388Obsoletes: kernel-net-ar81
389Obsoletes: kernel-net-hostap
390Obsoletes: kernel-net-ieee80211
391Obsoletes: kernel-net-ipp2p
392Obsoletes: kernel-net-rt61
393Obsoletes: kernel-smp
394Conflicts: e2fsprogs < 1.29
395Conflicts: isdn4k-utils < 3.1pre1
396Conflicts: jfsutils < 1.1.3
397Conflicts: module-init-tools < 0.9.10
398Conflicts: nfs-utils < 1.0.5
399Conflicts: oprofile < 0.9
400Conflicts: ppp < 1:2.4.0
401Conflicts: procps < 3.2.0
402Conflicts: quota-tools < 3.09
403%if %{with reiserfs4}
404Conflicts: reiser4progs < 1.0.0
405%endif
406Conflicts: reiserfsprogs < 3.6.3
407Conflicts: udev < 1:081
408Conflicts: util-linux < 2.10o
409Conflicts: util-vserver < 0.30.215-10
410Conflicts: xfsprogs < 2.6.0
411%if %{with pae}
412ExcludeArch: i386 i486 i586
413%else
414ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
415%endif
a5585a68
AM
416ExclusiveOS: Linux
417BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
418
351f379b
JR
419%ifarch %{ix86} %{x8664}
420%define target_arch_dir x86
421%endif
422%ifarch ppc ppc64
423%define target_arch_dir powerpc
424%endif
5a99ae3d 425%ifarch sparc sparc64
426%define target_arch_dir sparc
427%endif
428%ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
351f379b
JR
429%define target_arch_dir %{_target_base_arch}
430%endif
431
432%define defconfig arch/%{target_arch_dir}/defconfig
433
434# No ELF objects there to strip (skips processing 27k files)
435%define _noautostrip .*%{_kernelsrcdir}/.*
436%define _noautochrpath .*%{_kernelsrcdir}/.*
437
a5585a68
AM
438%ifarch ia64
439%define initrd_dir /boot/efi
440%else
441%define initrd_dir /boot
442%endif
443
351f379b
JR
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)
448
449%define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
450
451%if "%{_target_base_arch}" != "%{_arch}"
452 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
453 %define DepMod /bin/true
454
455 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
456 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
457 %define DepMod /sbin/depmod
458 %endif
459
460 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
461 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
462 %define DepMod /sbin/depmod
463 %endif
464
465 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
466 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
467 %define DepMod /sbin/depmod
468 %endif
469
5a99ae3d 470 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
351f379b
JR
471 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
472 %endif
473%else
474 %ifarch ppc ppc64
475 %define CrossOpts ARCH=powerpc CC="%{__cc}"
476 %else
477 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
478 %endif
479 %define DepMod /sbin/depmod
480%endif
481%define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
482
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}
490
491%define Features %(echo "%{__features}" | sed '/^$/d')
492
a5585a68
AM
493%description
494This package contains the Linux kernel that is used to boot and run
495your system. It contains few device drivers for specific hardware.
496Most hardware is instead supported by modules loaded after booting.
497
351f379b
JR
498%{Features}
499
3a467bc1
JR
500%description -l de.UTF-8
501Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
502Linux-Betriebssystems. Der Kernel ist für grundliegende
a5585a68 503Systemfunktionen verantwortlich: Speicherreservierung,
3a467bc1 504Prozeß-Management, Geräte Ein- und Ausgaben, usw.
a5585a68 505
351f379b
JR
506%{Features}
507
3a467bc1 508%description -l fr.UTF-8
a5585a68 509Le package kernel contient le kernel linux (vmlinuz), la partie
3a467bc1
JR
510centrale d'un système d'exploitation Linux. Le noyau traite les
511fonctions basiques d'un système d'exploitation: allocation mémoire,
512allocation de process, entrée/sortie de peripheriques, etc.
a5585a68 513
351f379b
JR
514%{Features}
515
3a467bc1
JR
516%description -l pl.UTF-8
517Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
518Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
519się w komputerze, takiego jak sterowniki dysków itp.
a5585a68 520
351f379b
JR
521%{Features}
522
523%package vmlinux
524Summary: vmlinux - uncompressed kernel image
525Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
526Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
527Group: Base/Kernel
528Obsoletes: kernel-smp-vmlinux
529
530%description vmlinux
531vmlinux - uncompressed kernel image.
532
533%description vmlinux -l de.UTF-8
534vmlinux - dekompressiertes Kernel Bild.
535
536%description vmlinux -l pl.UTF-8
537vmlinux - rozpakowany obraz jądra.
538
539%package dirs
540Summary: common dirs for kernel packages
541Summary(pl.UTF-8): Katalogi wspólne dla pakietów kernela
542Group: Base/Kernel
543
544%description dirs
545This package provides common dirs shared between various kernel
546packages.
547
548%description dirs -l pl.UTF-8
549Katalog ten udostepnia katalogi współdzielone pomiędzy różnymi
550pakietami kernela.
551
a5585a68
AM
552%package drm
553Summary: DRM kernel modules
351f379b
JR
554Summary(de.UTF-8): DRM Kernel Treiber
555Summary(pl.UTF-8): Sterowniki DRM
a5585a68 556Group: Base/Kernel
351f379b
JR
557Requires(postun): %{name} = %{epoch}:%{version}-%{release}
558Requires: %{name} = %{epoch}:%{version}-%{release}
559Obsoletes: kernel-smp-drm
a5585a68
AM
560Autoreqprov: no
561
562%description drm
351f379b
JR
563DRM kernel modules.
564
565%description drm -l de.UTF-8
566DRM Kernel Treiber.
a5585a68 567
3a467bc1 568%description drm -l pl.UTF-8
351f379b 569Sterowniki DRM.
a5585a68
AM
570
571%package pcmcia
572Summary: PCMCIA modules
351f379b
JR
573Summary(de.UTF-8): PCMCIA Module
574Summary(pl.UTF-8): Moduły PCMCIA
a5585a68 575Group: Base/Kernel
351f379b
JR
576Requires(postun): %{name} = %{epoch}:%{version}-%{release}
577Requires: %{name} = %{epoch}:%{version}-%{release}
578Obsoletes: kernel-smp-pcmcia
579Conflicts: pcmcia-cs < 3.1.21
580Conflicts: pcmciautils < 004
a5585a68
AM
581Autoreqprov: no
582
583%description pcmcia
351f379b
JR
584PCMCIA modules.
585
586%description pcmcia -l de.UTF-8
587PCMCIA Module.
a5585a68 588
3a467bc1 589%description pcmcia -l pl.UTF-8
351f379b
JR
590Moduły PCMCIA.
591
592%package libs
593Summary: Libraries for preparing bootable kernel on PowerPCs
594Summary(pl.UTF-8): Biblioteki do przygotowania bootowalnego jądra dla PowerPC
595Group: Base/Kernel
596Requires: %{name} = %{epoch}:%{version}-%{release}
597Requires: mkvmlinuz >= 1.3
598Obsoletes: kernel-smp-libs
599Autoreqprov: no
600
601%description libs
602Libraries for preparing bootable kernel on PowerPCs. Script called
603mkvmlinuz may be useful for this.
604
605%description libs -l pl.UTF-8
606Biblioteki do przygotowania bootowalnego jądra dla PowerPC. Skrypt
607mkvmlinuz może być do tego przydatny.
a5585a68
AM
608
609%package sound-alsa
610Summary: ALSA kernel modules
351f379b
JR
611Summary(de.UTF-8): ALSA Kernel Module
612Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 613Group: Base/Kernel
351f379b
JR
614Requires(postun): %{name} = %{epoch}:%{version}-%{release}
615Requires: %{name} = %{epoch}:%{version}-%{release}
616Obsoletes: kernel-smp-sound-alsa
a5585a68
AM
617Autoreqprov: no
618
619%description sound-alsa
620ALSA (Advanced Linux Sound Architecture) sound drivers.
621
351f379b
JR
622%description sound-alsa -l de.UTF-8
623ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
624
3a467bc1
JR
625%description sound-alsa -l pl.UTF-8
626Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68
AM
627
628%package sound-oss
629Summary: OSS kernel modules
351f379b
JR
630Summary(de.UTF-8): OSS Kernel Module
631Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 632Group: Base/Kernel
351f379b
JR
633Requires(postun): %{name} = %{epoch}:%{version}-%{release}
634Requires: %{name} = %{epoch}:%{version}-%{release}
635Obsoletes: kernel-smp-sound-oss
a5585a68
AM
636Autoreqprov: no
637
638%description sound-oss
639OSS (Open Sound System) drivers.
640
351f379b
JR
641%description sound-oss -l de.UTF-8
642OSS (Open Sound System) Treiber.
643
3a467bc1
JR
644%description sound-oss -l pl.UTF-8
645Sterowniki dźwięku OSS (Open Sound System).
a5585a68 646
a5585a68
AM
647%package headers
648Summary: Header files for the Linux kernel
351f379b
JR
649Summary(de.UTF-8): Header Dateien für den Linux-Kernel
650Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
651Group: Development/Building
652Provides: %{name}-headers(netfilter) = %{netfilter_snap}
a5585a68
AM
653Autoreqprov: no
654
655%description headers
656These are the C header files for the Linux kernel, which define
351f379b
JR
657structures and constants that are needed when rebuilding the kernel or
658building kernel modules.
659
660%description headers -l de.UTF-8
661Dies sind die C Header Dateien für den Linux-Kernel, die definierte
662Strukturen und Konstante beinhalten, die beim rekompilieren des
663Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 664
3a467bc1
JR
665%description headers -l pl.UTF-8
666Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
667oraz budowania modułów jądra.
a5585a68
AM
668
669%package module-build
670Summary: Development files for building kernel modules
351f379b
JR
671Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
672Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
673Group: Development/Building
a5585a68 674Requires: %{name}-headers = %{epoch}:%{version}-%{release}
351f379b 675Conflicts: rpmbuild(macros) < 1.321
a5585a68
AM
676Autoreqprov: no
677
678%description module-build
679Development files from kernel source tree needed to build Linux kernel
680modules from external packages.
681
351f379b
JR
682%description module-build -l de.UTF-8
683Development Dateien des Linux-Kernels die beim kompilieren externer
684Kernel Module gebraucht werden.
685
3a467bc1
JR
686%description module-build -l pl.UTF-8
687Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
688Linuksa z zewnętrznych pakietów.
a5585a68
AM
689
690%package source
691Summary: Kernel source tree
351f379b
JR
692Summary(de.UTF-8): Der Kernel Quelltext
693Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
694Group: Development/Building
a5585a68
AM
695Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
696Autoreqprov: no
697
698%description source
351f379b
JR
699This is the source code for the Linux kernel. You can build a custom
700kernel that is better tuned to your particular hardware.
a5585a68 701
3a467bc1
JR
702%description source -l de.UTF-8
703Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 704Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 705C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 706im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 707benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
708Hardware ausgerichtet ist.
709
3a467bc1 710%description source -l fr.UTF-8
a5585a68 711Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
712linux. Ces sources sont nécessaires pour compiler la plupart des
713programmes C, car il dépend de constantes définies dans le code
714source. Les sources peuvent être aussi utilisée pour compiler un noyau
715personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
716particuliers.
717
3a467bc1
JR
718%description source -l pl.UTF-8
719Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
720
721%package doc
722Summary: Kernel documentation
351f379b
JR
723Summary(de.UTF-8): Kernel Dokumentation
724Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
725Group: Documentation
a5585a68
AM
726Autoreqprov: no
727
728%description doc
729This is the documentation for the Linux kernel, as found in
730/usr/src/linux/Documentation directory.
731
351f379b
JR
732%description doc -l de.UTF-8
733Dies ist die Kernel Dokumentation wie sie im 'Documentation'
734Verzeichniss vorgefunden werden kann.
735
3a467bc1
JR
736%description doc -l pl.UTF-8
737Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
738/usr/src/linux/Documentation.
739
740%prep
351f379b
JR
741%setup -qc
742ln -s %{SOURCE7} kernel-module-build.pl
743ln -s %{SOURCE10} Makefile
744cd linux-%{basever}
a5585a68 745
351f379b
JR
746# hack against warning in pax/grsec
747%ifarch alpha
748sed -i 's/-Werror//' arch/alpha/kernel/Makefile
a5585a68
AM
749%endif
750
351f379b
JR
751%ifarch ppc
752install %{SOURCE5} Makefile.ppclibs
753%endif
269cd19e 754
351f379b
JR
755%if "%{postver}" != "%{nil}"
756%{__bzip2} -dc %{SOURCE1} | patch -p1 -s
757%endif
a5585a68 758
351f379b
JR
759# tuxonice:
760%if %{with tuxonice}
761##ifarch %{ix86} %{x8664} ia64 ppc alpha
762%patch69 -p1
763%patch70 -p1
764##endif
765%endif
bf6838be 766
351f379b
JR
767# XXX: 2.6.29 - need update
768#%patch2 -p1
a5585a68 769
351f379b
JR
770%if %{with fbcondecor}
771%patch3 -p1
a5585a68 772%endif
351f379b 773%patch4 -p1
a5585a68 774
351f379b
JR
775## netfilter
776#
a5585a68 777
351f379b
JR
778# kernel-pom-ng-IPV4OPTSSTRIP.patch
779%patch10 -p1
a5585a68 780
351f379b
JR
781# kernel-pom-ng-ipv4options.patch
782%patch11 -p1
a5585a68 783
351f379b
JR
784# kernel-pom-ng-ROUTE.patch
785%patch14 -p1
a5585a68 786
351f379b
JR
787# kernel-pom-ng-mms-conntrack-nat.patch
788%patch16 -p1
a5585a68 789
351f379b
JR
790# kernel-pom-ng-rsh.patch
791%patch22 -p1
a5585a68 792
351f379b
JR
793# kernel-pom-ng-rpc.patch
794%patch23 -p1
a5585a68 795
351f379b
JR
796# kernel-nf_rtsp.patch
797%patch36 -p1
a5585a68 798
351f379b
JR
799# kernel-owner-xid.patch
800%if %{with vserver}
801%patch37 -p1
a5585a68 802%endif
a5585a68 803
351f379b
JR
804# kernel-ipt_account.patch
805%patch38 -p1
a5585a68 806
351f379b
JR
807# kernel-ipt_ACCOUNT.patch
808%patch39 -p1
809
810# kernel-layer7.patch
811%patch40 -p1
812
813# ipvs-nfct
814%patch41 -p1
815
816##
817# end of netfilter
818
819# zph
820%patch49 -p1
821
822%if %{with imq}
823%patch50 -p1
a5585a68 824%endif
351f379b
JR
825
826# reiser4
827%if %{with reiser4}
828%patch51 -p1
a5585a68 829%endif
351f379b 830
351f379b 831# esfq
068b6c82
AM
832%if %{with esfq}
833%patch53 -p1
834%endif
351f379b
JR
835
836%if %{with wrr}
837%patch52 -p1
a5585a68 838%endif
351f379b
JR
839
840# toshiba_acpi
841%patch54 -p1
842
843%patch55 -p1
844%patch56 -p1
845
846%patch58 -p1
847
848# kernel-rndis_host-wm5.patch
849%patch59 -p1
850
851# hostap enhancements from/for aircrack-ng
852%patch85 -p1
853
854# LSI MPT Fusion driver update (by LSI via SUSE folks)
855%patch90 -p1
856
857# vserver
858%if %{with vserver}
859%patch100 -p1
860%patch101 -p1
a5585a68 861%endif
351f379b
JR
862
863# tproxy
864%if %{without rescuecd} && %{with vserver}
865#patch42 -p1
a5585a68 866%endif
a5585a68 867
351f379b
JR
868# forcedeth
869%patch130 -p1
a5585a68 870
351f379b
JR
871# unionfs
872%patch140 -p1
873%{?with_apparmor:%patch141 -p1}
a5585a68 874
a899ef35 875%if %{with rescuecd}
876%patch148 -p1
877%else
351f379b
JR
878# 2.6.29 FIXME - needs port to creds
879#%patch145 -p1
880#%patch146 -p1
881#%{?with_apparmor:%patch147 -p1}
a899ef35 882%endif
a5585a68 883
351f379b 884%patch2500 -p1
a5585a68 885
351f379b
JR
886%if %{with rescuecd}
887%patch7000 -p1
e981df17 888%endif
a5585a68 889
351f379b
JR
890# merged into 2.6.30 git :)
891%patch7001 -p1
892
893# grsecurity & pax stuff
894#
895%if %{with pax_full}
896%patch9999 -p1
897%{?with_vserver:%patch10000 -p1}
898%{?with_vserver:%patch10001 -p1}
899%{?with_vserver:%patch10002 -p1}
900%{?with_vserver:%patch10003 -p1}
901%else
902
903%if %{with grsec_full}
904%patch9999 -p1
905%{?with_vserver:%patch10000 -p1}
906%{?with_vserver:%patch10001 -p1}
907%{?with_vserver:%patch10002 -p1}
908%{?with_vserver:%patch10003 -p1}
909%else
910%if %{with grsec_minimal}
911%patch1000 -p1
912# remember that we have the same config file for grsec_minimal and
913# grsec_full, but the patches are different.
914%endif
e981df17 915%endif
a5585a68 916
351f379b
JR
917%if %{with pax}
918# now we have an separate testing pax-only patch - in the future we
919# could have single grsecurity patch and will have to prepare separate
920# configs for grsec_minimal, grsec_full and pax to support such
921# configurations like pax & grsec_minimal.
922# So, in a future there could be no patch9998, but only config
923# would tell which options should be enabled.
924# The second option is to maintain separate pax-only patch.
925%patch9998 -p1
926#patch9997 -p1 - needs update
a5585a68
AM
927%endif
928
351f379b
JR
929%endif
930
931#
932# end of grsecurity & pax stuff
933
934# apparmor
935%if %{with apparmor}
936%if %{with grsec_full} || %{with pax_full}
937%patch5001 -p1
938%patch5002 -p1
a5585a68 939%else
351f379b
JR
940%patch5000 -p1
941%patch5002 -p1
d4448e8a 942%endif
d4448e8a 943%endif
351f379b
JR
944
945# tomoyo
946%if %{with tomoyo}
947 tar xzf %{SOURCE6000}
948 %if %{with apparmor}
949%patch6000 -p1
950 %else
951%patch6001 -p1
952 %endif
a5585a68
AM
953%endif
954
351f379b 955%patch150 -p1
a11f3f79 956
351f379b
JR
957%ifarch ppc ppc64
958#patch200 -p1
959%endif
a5585a68 960
351f379b
JR
961# routes
962%patch300 -p1
a5585a68 963
351f379b
JR
964# Small fixes:
965%patch2000 -p1
966%patch2001 -p1
967#%patch2003 -p1
a5585a68 968
351f379b
JR
969# Fix EXTRAVERSION in main Makefile
970sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
a5585a68 971
351f379b
JR
972# cleanup backups after patching
973find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
a5585a68 974
351f379b
JR
975%build
976install -d %{objdir}
977cat > %{targetobj}.mk <<'EOF'
978# generated by %{name}.spec
979KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
980KERNELOUTPUT := %{objdir}
981
982SRCARCH := %{target_arch_dir}
983ARCH := %{_target_base_arch}
984Q := %{!?with_verbose:@}
985MAKE_OPTS := %{MakeOpts}
986DEFCONFIG := %{defconfig}
987EOF
a5585a68 988
351f379b
JR
989PaXconfig() {
990 set -x
991 cat <<-EOCONFIG > $1
992 %ifarch %{ix86}
993 CONFIG_PAX_SEGMEXEC=y
994 # performance impact on CPUs without NX bit
995 CONFIG_PAX_PAGEEXEC=n
996 # Testing KERNEXEC
997
998 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
999 CONFIG_PCI_BIOS=n
1000 CONFIG_EFI=n
1001 %endif
a5585a68 1002
351f379b
JR
1003 %ifarch ppc64
1004 CONFIG_PAX_NOELFRELOCS=n
1005 %endif
1006 %ifarch ppc
1007 CONFIG_PAX_EMUTRAMP=y
1008 CONFIG_PAX_EMUSIGRT=y
1009 CONFIG_PAX_EMUPLT=y
1010 %endif
a5585a68 1011
351f379b
JR
1012 %ifarch sparc sparc64 alpha
1013 CONFIG_PAX_EMUPLT=y
1014 %endif
a5585a68 1015
351f379b
JR
1016 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
1017 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
1018 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
1019 # PAX_HOOK_ACL_FLAGS. SELinux should also be able to make PaX settings via hooks
1020
1021 %if %{with grsec_full}
1022 # Hardening grsec options if with pax
1023 CONFIG_GRKERNSEC_PROC_MEMMAP=y
1024 # almost rational (see HIDESYM help)
1025 CONFIG_GRKERNSEC_HIDESYM=y
1026
1027 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
1028 %else
1029 # selinux or other hooks?
1030 CONFIG_PAX_HAVE_ACL_FLAGS=n
1031 CONFIG_PAX_HOOK_ACL_FLAGS=y
1032 %endif
1033EOCONFIG
a5585a68 1034
351f379b
JR
1035 return 0
1036}
a5585a68 1037
351f379b
JR
1038RescueConfig() {
1039 set -x
1040 cat <<-EOCONFIG > $1
1041 # CONFIG_SOUND is not set
1042 # CONFIG_AUDIT is not set
1043 # CONFIG_TR is not set
1044 # CONFIG_BT is not set
1045 # CONFIG_VIDEO_DEV is not set
1046 # CONFIG_DVB_CORE is not set
1047 # CONFIG_HAMRADIO is not set
1048 # CONFIG_ARCNET is not set
1049 # CONFIG_FB is not set
1050 # CONFIG_DRM is not set
1051 # CONFIG_WATCHDOG is not set
1052 # CONFIG_INPUT_JOYSTICK is not set
1053 # CONFIG_DEBUG_KERNEL is not set
1054 # CONFIG_ISDN is not set
1055 # CONFIG_AGP is not set
1056 # CONFIG_SECURITY is not set
1057 # CONFIG_PARIDE is not set
1058 # CONFIG_CPU_FREQ is not set
1059 # CONFIG_GAMEPORT is not set
1060 # CONFIG_KVM is not set
1061 # CONFIG_PHONE is not set
1062 CONFIG_AUFS=y
a899ef35 1063 CONFIG_AUFS_FS=y
1064 CONFIG_AUFS_BR_RAMFS=y
351f379b
JR
1065 CONFIG_BLK_DEV_LOOP=y
1066 CONFIG_ISO9660_FS=y
1067 CONFIG_NLS_UTF8=y
1068EOCONFIG
1069
1070 return 0
1071}
a5585a68 1072
351f379b
JR
1073BuildConfig() {
1074 %{?debug:set -x}
1075 set -e
a5585a68 1076
351f379b
JR
1077 Config="kernel-%{target_arch_dir}.config"
1078 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
a5585a68 1079
351f379b
JR
1080 # prepare local and important options
1081 cat <<-EOCONFIG > important.config
1082 LOCALVERSION="-%{localversion}"
fb4e3822 1083
351f379b
JR
1084%if 0%{?debug:1}
1085 CONFIG_DEBUG_SLAB=y
1086 CONFIG_DEBUG_SLAB_LEAK=y
1087 CONFIG_DEBUG_PREEMPT=y
1088 CONFIG_RT_DEADLOCK_DETECT=y
a5585a68 1089%endif
351f379b
JR
1090
1091%if %{without smp}
1092 CONFIG_SMP=n
a5585a68 1093%endif
a5585a68 1094
351f379b
JR
1095# apparmor, will be moved to external file if works
1096%if %{with apparmor}
1097 CONFIG_SECURITY_APPARMOR=y
1098 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
1099 CONFIG_SECURITY_APPARMOR_DISABLE=n
1100%endif
a5585a68 1101
351f379b
JR
1102%if %{without ipv6}
1103 CONFIG_IPV6=n
1104%endif
a5585a68 1105
351f379b
JR
1106%ifarch i686 athlon pentium3 pentium4
1107 %if %{with pae}
1108 CONFIG_HIGHMEM4G=n
1109 CONFIG_HIGHMEM64G=y
1110 CONFIG_X86_PAE=y
1111 %endif
1112%endif
a5585a68 1113
351f379b
JR
1114%if %{without pcmcia}
1115 CONFIG_PCMCIA=n
1116%endif
a5585a68 1117
351f379b
JR
1118%if %{with fbcondecor}
1119 CONFIG_FB_S3=n
1120 CONFIG_FB_VT8623=n
1121 CONFIG_FB_ARK=n
1122 CONFIG_FB_TILEBLITTING=n
1123 CONFIG_FB_CON_DECOR=y
1124%endif
a5585a68 1125
351f379b
JR
1126%if %{with nfsroot}
1127 CONFIG_NFS_FS=y
1128 CONFIG_ROOT_NFS=y
1129%endif
a5585a68 1130
351f379b
JR
1131# Temporary disabled RELOCATABLE. Needed only on x86??
1132%if %{with pax} || %{with grsec_full}
1133 CONFIG_RELOCATABLE=n
1134%endif
1135EOCONFIG
a5585a68 1136
351f379b
JR
1137%if %{with rescuecd}
1138 RescueConfig rescue.config
1139%endif
1140%if %{with pax_full} || %{with pax}
1141 PaXconfig pax.config
1142%endif
a5585a68 1143
351f379b
JR
1144 # prepare kernel-style config file from multiple config files
1145 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1146 important.config \
1147%if %{with rescuecd}
1148 %{SOURCE58} \
1149 %{SOURCE59} \
1150 rescue.config \
1151%endif
1152 \
1153%if %{with pax_full}
1154 %{SOURCE45} \
1155 %{SOURCE49} \
1156 pax.config \
1157%else
1158 %if %{with grsec_full}
1159 %{SOURCE45} \
1160 %{SOURCE50} \
1161 %else
1162 %if %{with grsec_minimal}
1163 %{SOURCE51} \
1164 %endif
1165 %endif
1166 %if %{with pax}
1167 %{SOURCE49} \
1168 pax.config \
1169 %endif
1170%endif
1171 \
1172%if %{with reiser4}
1173 %{SOURCE56} \
1174%endif
1175%if %{with wrr}
1176 %{SOURCE57} \
1177%endif
1178%if %{with imq}
1179 %{SOURCE55} \
1180%endif
1181%if %{with vserver}
1182 %{SOURCE43} \
1183%endif
1184%if %{with tuxonice}
1185%ifarch %{ix86} %{x8664} ia64 ppc ppc64
1186 %{SOURCE42} \
1187%endif
1188%endif
1189%if %{with tomoyo}
1190 config.ccs \
1191%endif
1192 %{SOURCE40} %{?0:netfilter} \
1193 %{SOURCE41} %{?0:patches} \
1194 %{SOURCE20} \
1195 $RPM_SOURCE_DIR/$Config
1196}
a5585a68 1197
351f379b
JR
1198cd %{objdir}
1199install -d arch/%{target_arch_dir}
1200%if %{without myown}
1201BuildConfig > %{defconfig}
1202%else
1203cat $RPM_SOURCE_DIR/kernel-myown.config > %{defconfig}
1204%endif
1205ln -sf %{defconfig} .config
1206cd -
a5585a68 1207
351f379b 1208%{__make} TARGETOBJ=%{targetobj} oldconfig
a5585a68 1209
351f379b 1210%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
a5585a68 1211
351f379b
JR
1212# build kernel
1213%{__make} TARGETOBJ=%{targetobj} all
a5585a68 1214
351f379b
JR
1215%install
1216rm -rf $RPM_BUILD_ROOT
1217%{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install firmware_install \
1218 -C %{objdir} \
1219 %{?with_verbose:V=1} \
1220 DEPMOD=%{DepMod} \
1221 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1222 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1223 KERNELRELEASE=%{kernel_release}
1224
1225install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1226
1227# rpm obeys filelinkto checks for ghosted symlinks, convert to files
1228rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1229touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1230
1231# /boot
1232install -d $RPM_BUILD_ROOT/boot
1233cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1234%ifarch %{ix86} %{x8664}
1235cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1236install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1237%endif
1238%ifarch ppc ppc64
1239install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1240install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
a5585a68 1241%endif
a5585a68 1242%ifarch ia64
351f379b
JR
1243%{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1244cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1245ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1246%endif
1247%ifarch alpha sparc sparc64
1248 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1249 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1250 install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1251%ifarch sparc
1252 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1253 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1254%endif
1255%ifarch sparc64
1256 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1257 install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1258%endif
1259%ifarch arm
1260 install %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1261%endif
a5585a68 1262%endif
a5585a68 1263
351f379b
JR
1264# ghosted initrd
1265touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
a5585a68 1266
351f379b
JR
1267%if "%{_target_base_arch}" != "%{_arch}"
1268touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1269%endif
a5585a68 1270
351f379b
JR
1271# /etc/modrobe.d
1272install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
a5585a68 1273
351f379b
JR
1274# /usr/src/linux
1275install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1276# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1277if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1278 l=l
1279 rm -f $RPM_BUILD_ROOT/COPYING
a5585a68 1280fi
a5585a68 1281
351f379b
JR
1282cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1283cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1284cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1285cp -a %{objdir}/include/linux/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf-dist.h
1286cp -a %{objdir}/include/linux/{utsrelease,version}.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1287cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h
1288cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1289
1290# collect module-build files and directories
1291# Usage: kernel-module-build.pl $rpmdir $fileoutdir
1292fileoutdir=$(pwd)
1293cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1294%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1295cd -
1296
1297%clean
1298rm -rf $RPM_BUILD_ROOT
1299
1300%preun
1301if [ -x /sbin/new-kernel-pkg ]; then
1302 /sbin/new-kernel-pkg --remove %{kernel_release}
a5585a68 1303fi
351f379b
JR
1304
1305%post
1306%ifarch ia64
1307mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1308%{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1309ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1310%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1311%endif
1312mv -f /boot/vmlinuz{,.old} 2> /dev/null
1313%{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1314mv -f /boot/System.map{,.old} 2> /dev/null
1315%{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1316ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1317%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1318ln -sf System.map-%{kernel_release} /boot/System.map
1319%{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1320
1321%depmod %{kernel_release}
1322
1323/sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1324mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1325%{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1326ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1327%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1328
1329if [ -x /sbin/new-kernel-pkg ]; then
1330 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1331elif [ -x /sbin/rc-boot ]; then
1332 /sbin/rc-boot 1>&2 || :
a5585a68 1333fi
a5585a68 1334
351f379b
JR
1335%post vmlinux
1336mv -f /boot/vmlinux{,.old} 2> /dev/null
1337%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1338ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1339%{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1340
1341%post libs
1342%{_sbindir}/mkvmlinuz /boot/zImage-%{kernel_release} %{kernel_release}
a5585a68 1343
351f379b
JR
1344%post drm
1345%depmod %{kernel_release}
a5585a68 1346
351f379b
JR
1347%postun drm
1348%depmod %{kernel_release}
a5585a68 1349
351f379b
JR
1350%post pcmcia
1351%depmod %{kernel_release}
a5585a68 1352
351f379b
JR
1353%postun pcmcia
1354%depmod %{kernel_release}
a5585a68 1355
351f379b
JR
1356%post sound-alsa
1357%depmod %{kernel_release}
a5585a68 1358
351f379b
JR
1359%postun sound-alsa
1360%depmod %{kernel_release}
a5585a68 1361
351f379b
JR
1362%post sound-oss
1363%depmod %{kernel_release}
a5585a68 1364
351f379b
JR
1365%postun sound-oss
1366%depmod %{kernel_release}
a5585a68
AM
1367
1368%post headers
351f379b 1369ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1370
1371%postun headers
351f379b
JR
1372if [ "$1" = "0" ]; then
1373 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1374 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1375 rm -f %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1376 fi
1377 fi
1378fi
1379
351f379b
JR
1380%triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1381ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1382ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1383
1384%triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1385if [ "$1" = 0 ]; then
1386 rm -f /lib/modules/%{kernel_release}/{build,source}
1387fi
1388
a5585a68
AM
1389%files
1390%defattr(644,root,root,755)
a5585a68 1391%ifarch sparc sparc64
351f379b 1392/boot/vmlinux.aout-%{kernel_release}
a5585a68
AM
1393%endif
1394%ifarch ia64
351f379b
JR
1395/boot/efi/vmlinuz-%{kernel_release}
1396%endif
1397/boot/vmlinuz-%{kernel_release}
1398/boot/System.map-%{kernel_release}
1399%ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1400/lib/firmware/%{kernel_release}
1401
1402%dir /lib/modules/%{kernel_release}
1403%dir /lib/modules/%{kernel_release}/kernel
1404%ifnarch sparc
1405/lib/modules/%{kernel_release}/kernel/arch
1406%endif
1407/lib/modules/%{kernel_release}/kernel/crypto
1408/lib/modules/%{kernel_release}/kernel/drivers
1409%if %{have_drm} && %{without myown}
1410%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1411%endif
1412/lib/modules/%{kernel_release}/kernel/fs
1413
1414# this directory will be removed after disabling rcutorture mod. in 2.6.20.
1415/lib/modules/%{kernel_release}/kernel/kernel
1416
1417/lib/modules/%{kernel_release}/kernel/lib
1418/lib/modules/%{kernel_release}/kernel/net
1419%if %{have_sound} && %{without myown}
1420%dir /lib/modules/%{kernel_release}/kernel/sound
1421/lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1422/lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1423%ifnarch sparc
1424%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1425%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1426%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1427%endif
1428%endif
1429%dir /lib/modules/%{kernel_release}/misc
1430%if %{with pcmcia} && %{without myown}
1431%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1432%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1433%exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1434%if %{without rescuecd}
1435%exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1436%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1437%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1438%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1439%exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1440%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1441%endif
1442%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1443%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1444%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1445%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1446%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1447%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1448%exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1449%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1450%endif
1451%ghost /lib/modules/%{kernel_release}/modules.*
1452# symlinks pointing to kernelsrcdir
1453%ghost /lib/modules/%{kernel_release}/build
1454%ghost /lib/modules/%{kernel_release}/source
1455%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1456
1457%files dirs
a5585a68 1458%defattr(644,root,root,755)
351f379b 1459%dir %{_kernelsrcdir}
a5585a68 1460
351f379b
JR
1461%ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1462%files vmlinux
a5585a68 1463%defattr(644,root,root,755)
351f379b 1464/boot/vmlinux-%{kernel_release}
a5585a68
AM
1465%endif
1466
351f379b
JR
1467%if %{have_drm} && %{without myown}
1468%files drm
a5585a68 1469%defattr(644,root,root,755)
351f379b 1470/lib/modules/%{kernel_release}/kernel/drivers/gpu
a5585a68
AM
1471%endif
1472
351f379b
JR
1473%if %{with pcmcia} && %{without myown}
1474%files pcmcia
a5585a68 1475%defattr(644,root,root,755)
351f379b
JR
1476/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1477/lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1478%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1479%if %{without rescuecd}
1480/lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1481/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1482/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1483/lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1484%endif
1485/lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1486/lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1487/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1488/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1489/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1490/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1491/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1492/lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1493/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1494%endif
1495
1496%ifarch ppc-broken
1497%if "%{_arch}" == "ppc"
1498%files libs
a5585a68 1499%defattr(644,root,root,755)
351f379b
JR
1500%dir /boot/libs-%{kernel_release}
1501/boot/libs-%{kernel_release}/common
1502/boot/libs-%{kernel_release}/kernel
1503/boot/libs-%{kernel_release}/lib
1504/boot/libs-%{kernel_release}/of1275
1505/boot/libs-%{kernel_release}/openfirmware
1506/boot/libs-%{kernel_release}/simple
1507%dir /boot/libs-%{kernel_release}/utils
1508%attr(755,root,root) /boot/libs-%{kernel_release}/utils/*
1509/boot/libs-%{kernel_release}/ld.script
a5585a68 1510%endif
a5585a68
AM
1511%endif
1512
351f379b
JR
1513%if %{have_sound} && %{without myown}
1514%files sound-alsa
a5585a68 1515%defattr(644,root,root,755)
351f379b
JR
1516/lib/modules/%{kernel_release}/kernel/sound
1517%exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1518%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1519%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1520%if %{have_oss}
1521%exclude /lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1522%endif
351f379b
JR
1523%ifnarch sparc
1524/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1525/lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1526/lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1527/lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
a5585a68
AM
1528%endif
1529
351f379b
JR
1530%if %{have_oss} && %{without myown}
1531%files sound-oss
a5585a68 1532%defattr(644,root,root,755)
351f379b 1533/lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1534%endif
a5585a68
AM
1535%endif
1536
a5585a68
AM
1537%files headers
1538%defattr(644,root,root,755)
351f379b
JR
1539%{_kernelsrcdir}/include
1540%dir %{_kernelsrcdir}/arch
1541%dir %{_kernelsrcdir}/arch/[!K]*
1542%{_kernelsrcdir}/arch/*/include
1543%dir %{_kernelsrcdir}/security
1544%dir %{_kernelsrcdir}/security/selinux
1545%{_kernelsrcdir}/security/selinux/include
1546%{_kernelsrcdir}/config-dist
1547%{_kernelsrcdir}/Module.symvers-dist
1548
1549%files module-build -f aux_files
a5585a68 1550%defattr(644,root,root,755)
351f379b
JR
1551%ifarch ppc ppc64
1552%{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1553%endif
1554%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1555%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1556%{_kernelsrcdir}/drivers/lguest/lg.h
1557%{_kernelsrcdir}/kernel/bounds.c
1558%dir %{_kernelsrcdir}/scripts
1559%dir %{_kernelsrcdir}/scripts/kconfig
1560%{_kernelsrcdir}/scripts/Kbuild.include
1561%{_kernelsrcdir}/scripts/Makefile*
1562%{_kernelsrcdir}/scripts/basic
1563%{_kernelsrcdir}/scripts/mkmakefile
1564%{_kernelsrcdir}/scripts/mod
1565%{_kernelsrcdir}/scripts/setlocalversion
1566%{_kernelsrcdir}/scripts/*.c
1567%{_kernelsrcdir}/scripts/*.sh
1568%{_kernelsrcdir}/scripts/kconfig/*
1569%{_kernelsrcdir}/scripts/mkcompile_h
1570%dir %{_kernelsrcdir}/scripts/selinux
1571%{_kernelsrcdir}/scripts/selinux/Makefile
1572%dir %{_kernelsrcdir}/scripts/selinux/mdp
1573%{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1574%{_kernelsrcdir}/scripts/selinux/mdp/*.c
a5585a68
AM
1575
1576%files doc
1577%defattr(644,root,root,755)
351f379b 1578%{_kernelsrcdir}/Documentation
a5585a68
AM
1579
1580%if %{with source}
351f379b 1581%files source -f aux_files_exc
a5585a68 1582%defattr(644,root,root,755)
351f379b
JR
1583%{_kernelsrcdir}/arch/*/[!Mik]*
1584%{_kernelsrcdir}/arch/*/kernel/[!M]*
1585%{_kernelsrcdir}/arch/ia64/ia32/[!M]*
1586%{_kernelsrcdir}/arch/ia64/install.sh
1587%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1588%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1589%{_kernelsrcdir}/arch/parisc/install.sh
1590%{_kernelsrcdir}/arch/x86/ia32/[!M]*
1591%{_kernelsrcdir}/arch/ia64/kvm
1592%{_kernelsrcdir}/arch/powerpc/kvm
1593%ifarch ppc ppc64
1594%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1595%endif
1596%{_kernelsrcdir}/arch/s390/kvm
1597%{_kernelsrcdir}/arch/x86/kvm
1598%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1599%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1600%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1601%{_kernelsrcdir}/block
1602%{_kernelsrcdir}/crypto
1603%{_kernelsrcdir}/drivers
1604%{_kernelsrcdir}/firmware
1605%{_kernelsrcdir}/fs
1606%if %{with grsecurity} && %{without rescuecd}
1607%{_kernelsrcdir}/grsecurity
1608%endif
1609%{_kernelsrcdir}/init
1610%{_kernelsrcdir}/ipc
1611%{_kernelsrcdir}/kernel
1612%exclude %{_kernelsrcdir}/kernel/bounds.c
1613%{_kernelsrcdir}/lib
1614%{_kernelsrcdir}/mm
1615%{_kernelsrcdir}/net
1616%{_kernelsrcdir}/virt
1617%{_kernelsrcdir}/samples
1618%{_kernelsrcdir}/scripts/*
1619%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1620%exclude %{_kernelsrcdir}/scripts/Makefile*
1621%exclude %{_kernelsrcdir}/scripts/basic
1622%exclude %{_kernelsrcdir}/scripts/kconfig
1623%exclude %{_kernelsrcdir}/scripts/mkmakefile
1624%exclude %{_kernelsrcdir}/scripts/mod
1625%exclude %{_kernelsrcdir}/scripts/setlocalversion
1626%exclude %{_kernelsrcdir}/scripts/*.c
1627%exclude %{_kernelsrcdir}/scripts/*.sh
1628%{_kernelsrcdir}/sound
1629%{_kernelsrcdir}/security
1630%exclude %{_kernelsrcdir}/security/selinux/include
1631%{_kernelsrcdir}/usr
1632%{_kernelsrcdir}/COPYING
1633%{_kernelsrcdir}/CREDITS
1634%{_kernelsrcdir}/MAINTAINERS
1635%{_kernelsrcdir}/README
1636%{_kernelsrcdir}/REPORTING-BUGS
a5585a68 1637%endif
This page took 0.355803 seconds and 4 git commands to generate.