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