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