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