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