]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- killed grsec_minimal, and all that split, I and no one else don't care for it anymore
[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
AM
11# - update aufs2 patch when final version for 2.6.36 exists
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
17da405a 31%bcond_with pax # build pax and full grsecurity (ie. grsec_full && 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
85eb3c9d 230# http://tuxonice.net/files/tuxonice-3.2-rc2-for-2.6.35.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
351f379b
JR
271Patch150: kernel-ppc-crtsavres.patch
272
60bb736d 273Patch200: kernel-ppc-ICE-hacks.patch
351f379b 274
54fd642e 275# Show normal colors in menuconfig with ncurses ABI 6
276Patch250: kernel-fix_256colors_menuconfig.patch
277
351f379b
JR
278# The following patch extend the routing functionality in Linux
279# to support static routes (defined by user), new way to use the
280# alternative routes, the reverse path protection (rp_filter),
281# the NAT processing to use correctly the routing when multiple
282# gateways are used.
76514441 283# http://www.ssi.bg/~ja/routes-2.6.35-16.diff
351f379b
JR
284Patch300: kernel-routes.patch
285
351f379b 286Patch2000: kernel-small_fixes.patch
60bb736d 287Patch2001: kernel-pwc-uncompress.patch
351f379b
JR
288Patch2003: kernel-regressions.patch
289
290# kill some thousands of warnings
291# (only warnings, so just remove parts of this patch if conflics)
60bb736d 292Patch2500: kernel-warnings.patch
351f379b 293
fc63ffa9
AM
294# 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
295# 0002-AppArmor-compatibility-patch-for-v5-interface.patch
296# from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
351f379b 297Patch5000: kernel-apparmor.patch
351f379b
JR
298
299# for rescuecd
300# based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
301Patch7000: kernel-inittmpfs.patch
302
5f0db327 303# based on http://www.grsecurity.net/~spender/grsecurity-2.2.0-2.6.35.7-201010191911.patch
4a6985f1
AM
304# NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
305# (since upstream deletes older patches)
60bb736d
JR
306Patch9999: kernel-grsec_full.patch
307Patch10000: kernel-grsec-caps.patch
308Patch10001: kernel-grsec-common.patch
351f379b 309Patch10002: kernel-grsec_fixes.patch
bf6838be 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
336Provides: %{name}(netfilter) = %{netfilter_snap}
337Provides: %{name}(vermagic) = %{kernel_release}
338Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
26b1ceeb 339Obsoletes: kernel-firmware
351f379b
JR
340Obsoletes: kernel-misc-acer_acpi
341Obsoletes: kernel-misc-fuse
342Obsoletes: kernel-misc-uvc
a5585a68 343Obsoletes: kernel-modules
351f379b
JR
344Obsoletes: kernel-net-ar81
345Obsoletes: kernel-net-hostap
346Obsoletes: kernel-net-ieee80211
347Obsoletes: kernel-net-ipp2p
348Obsoletes: kernel-net-rt61
349Obsoletes: kernel-smp
350Conflicts: e2fsprogs < 1.29
351Conflicts: isdn4k-utils < 3.1pre1
352Conflicts: jfsutils < 1.1.3
cf8de22f 353Conflicts: lvm2 < 2.02.40
351f379b
JR
354Conflicts: module-init-tools < 0.9.10
355Conflicts: nfs-utils < 1.0.5
356Conflicts: oprofile < 0.9
357Conflicts: ppp < 1:2.4.0
358Conflicts: procps < 3.2.0
359Conflicts: quota-tools < 3.09
4dabe329 360%{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
351f379b 361Conflicts: reiserfsprogs < 3.6.3
4dabe329 362Conflicts: rpm < 4.4.2-0.2
351f379b
JR
363Conflicts: udev < 1:081
364Conflicts: util-linux < 2.10o
d3c4e01e 365Conflicts: util-vserver < 0.30.216
351f379b
JR
366Conflicts: xfsprogs < 2.6.0
367%if %{with pae}
368ExcludeArch: i386 i486 i586
369%else
370ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
371%endif
a5585a68
AM
372ExclusiveOS: Linux
373BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
374
351f379b
JR
375%ifarch %{ix86} %{x8664}
376%define target_arch_dir x86
377%endif
378%ifarch ppc ppc64
379%define target_arch_dir powerpc
380%endif
5a99ae3d 381%ifarch sparc sparc64
382%define target_arch_dir sparc
383%endif
384%ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
351f379b
JR
385%define target_arch_dir %{_target_base_arch}
386%endif
387
388%define defconfig arch/%{target_arch_dir}/defconfig
389
390# No ELF objects there to strip (skips processing 27k files)
ded910ba 391%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
351f379b
JR
392%define _noautochrpath .*%{_kernelsrcdir}/.*
393
a5585a68
AM
394%ifarch ia64
395%define initrd_dir /boot/efi
396%else
397%define initrd_dir /boot
398%endif
399
351f379b
JR
400%define topdir %{_builddir}/%{name}-%{version}
401%define srcdir %{topdir}/linux-%{basever}
402%define objdir %{topdir}/%{targetobj}
403%define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
404
405%define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
406
407%if "%{_target_base_arch}" != "%{_arch}"
408 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
409 %define DepMod /bin/true
410
411 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
412 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
413 %define DepMod /sbin/depmod
414 %endif
415
416 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
417 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
418 %define DepMod /sbin/depmod
419 %endif
420
421 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
422 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
423 %define DepMod /sbin/depmod
424 %endif
425
5a99ae3d 426 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
351f379b
JR
427 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
428 %endif
429%else
430 %ifarch ppc ppc64
431 %define CrossOpts ARCH=powerpc CC="%{__cc}"
432 %else
433 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
434 %endif
435 %define DepMod /sbin/depmod
436%endif
437%define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
438
439%define __features Netfilter module dated: %{netfilter_snap}\
15a064bf 440%{?with_grsecurity:Grsecurity support - enabled}\
351f379b
JR
441%{?with_pax:PaX support - enabled}\
442%{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
443%{?with_nfsroot:Root on NFS - enabled}\
351f379b
JR
444
445%define Features %(echo "%{__features}" | sed '/^$/d')
446
a5585a68
AM
447%description
448This package contains the Linux kernel that is used to boot and run
449your system. It contains few device drivers for specific hardware.
450Most hardware is instead supported by modules loaded after booting.
451
351f379b
JR
452%{Features}
453
3a467bc1
JR
454%description -l de.UTF-8
455Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
456Linux-Betriebssystems. Der Kernel ist für grundliegende
a5585a68 457Systemfunktionen verantwortlich: Speicherreservierung,
3a467bc1 458Prozeß-Management, Geräte Ein- und Ausgaben, usw.
a5585a68 459
351f379b
JR
460%{Features}
461
3a467bc1 462%description -l fr.UTF-8
a5585a68 463Le package kernel contient le kernel linux (vmlinuz), la partie
3a467bc1
JR
464centrale d'un système d'exploitation Linux. Le noyau traite les
465fonctions basiques d'un système d'exploitation: allocation mémoire,
466allocation de process, entrée/sortie de peripheriques, etc.
a5585a68 467
351f379b
JR
468%{Features}
469
3a467bc1
JR
470%description -l pl.UTF-8
471Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
472Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
473się w komputerze, takiego jak sterowniki dysków itp.
a5585a68 474
351f379b
JR
475%{Features}
476
477%package vmlinux
478Summary: vmlinux - uncompressed kernel image
479Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
480Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
481Group: Base/Kernel
482Obsoletes: kernel-smp-vmlinux
483
484%description vmlinux
485vmlinux - uncompressed kernel image.
486
487%description vmlinux -l de.UTF-8
488vmlinux - dekompressiertes Kernel Bild.
489
490%description vmlinux -l pl.UTF-8
491vmlinux - rozpakowany obraz jądra.
492
a5585a68
AM
493%package drm
494Summary: DRM kernel modules
351f379b
JR
495Summary(de.UTF-8): DRM Kernel Treiber
496Summary(pl.UTF-8): Sterowniki DRM
a5585a68 497Group: Base/Kernel
351f379b
JR
498Requires(postun): %{name} = %{epoch}:%{version}-%{release}
499Requires: %{name} = %{epoch}:%{version}-%{release}
500Obsoletes: kernel-smp-drm
07ff8614 501AutoReqProv: no
a5585a68
AM
502
503%description drm
351f379b
JR
504DRM kernel modules.
505
506%description drm -l de.UTF-8
507DRM Kernel Treiber.
a5585a68 508
3a467bc1 509%description drm -l pl.UTF-8
351f379b 510Sterowniki DRM.
a5585a68
AM
511
512%package pcmcia
513Summary: PCMCIA modules
351f379b
JR
514Summary(de.UTF-8): PCMCIA Module
515Summary(pl.UTF-8): Moduły PCMCIA
a5585a68 516Group: Base/Kernel
351f379b
JR
517Requires(postun): %{name} = %{epoch}:%{version}-%{release}
518Requires: %{name} = %{epoch}:%{version}-%{release}
519Obsoletes: kernel-smp-pcmcia
520Conflicts: pcmcia-cs < 3.1.21
521Conflicts: pcmciautils < 004
07ff8614 522AutoReqProv: no
a5585a68
AM
523
524%description pcmcia
351f379b
JR
525PCMCIA modules.
526
527%description pcmcia -l de.UTF-8
528PCMCIA Module.
a5585a68 529
3a467bc1 530%description pcmcia -l pl.UTF-8
351f379b
JR
531Moduły PCMCIA.
532
a5585a68
AM
533%package sound-alsa
534Summary: ALSA kernel modules
351f379b
JR
535Summary(de.UTF-8): ALSA Kernel Module
536Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 537Group: Base/Kernel
351f379b
JR
538Requires(postun): %{name} = %{epoch}:%{version}-%{release}
539Requires: %{name} = %{epoch}:%{version}-%{release}
540Obsoletes: kernel-smp-sound-alsa
07ff8614 541AutoReqProv: no
a5585a68
AM
542
543%description sound-alsa
544ALSA (Advanced Linux Sound Architecture) sound drivers.
545
351f379b
JR
546%description sound-alsa -l de.UTF-8
547ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
548
3a467bc1
JR
549%description sound-alsa -l pl.UTF-8
550Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68
AM
551
552%package sound-oss
553Summary: OSS kernel modules
351f379b
JR
554Summary(de.UTF-8): OSS Kernel Module
555Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 556Group: Base/Kernel
351f379b
JR
557Requires(postun): %{name} = %{epoch}:%{version}-%{release}
558Requires: %{name} = %{epoch}:%{version}-%{release}
559Obsoletes: kernel-smp-sound-oss
07ff8614 560AutoReqProv: no
a5585a68
AM
561
562%description sound-oss
563OSS (Open Sound System) drivers.
564
351f379b
JR
565%description sound-oss -l de.UTF-8
566OSS (Open Sound System) Treiber.
567
3a467bc1
JR
568%description sound-oss -l pl.UTF-8
569Sterowniki dźwięku OSS (Open Sound System).
a5585a68 570
a5585a68
AM
571%package headers
572Summary: Header files for the Linux kernel
351f379b
JR
573Summary(de.UTF-8): Header Dateien für den Linux-Kernel
574Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
575Group: Development/Building
576Provides: %{name}-headers(netfilter) = %{netfilter_snap}
07ff8614 577AutoReqProv: no
a5585a68
AM
578
579%description headers
580These are the C header files for the Linux kernel, which define
351f379b
JR
581structures and constants that are needed when rebuilding the kernel or
582building kernel modules.
583
584%description headers -l de.UTF-8
585Dies sind die C Header Dateien für den Linux-Kernel, die definierte
586Strukturen und Konstante beinhalten, die beim rekompilieren des
587Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 588
3a467bc1
JR
589%description headers -l pl.UTF-8
590Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
591oraz budowania modułów jądra.
a5585a68
AM
592
593%package module-build
594Summary: Development files for building kernel modules
351f379b
JR
595Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
596Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
597Group: Development/Building
a5585a68 598Requires: %{name}-headers = %{epoch}:%{version}-%{release}
fd19fa89 599Conflicts: rpmbuild(macros) < 1.550
07ff8614 600AutoReqProv: no
a5585a68
AM
601
602%description module-build
603Development files from kernel source tree needed to build Linux kernel
604modules from external packages.
605
351f379b
JR
606%description module-build -l de.UTF-8
607Development Dateien des Linux-Kernels die beim kompilieren externer
608Kernel Module gebraucht werden.
609
3a467bc1
JR
610%description module-build -l pl.UTF-8
611Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
612Linuksa z zewnętrznych pakietów.
a5585a68
AM
613
614%package source
615Summary: Kernel source tree
351f379b
JR
616Summary(de.UTF-8): Der Kernel Quelltext
617Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
618Group: Development/Building
a5585a68 619Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 620AutoReqProv: no
a5585a68
AM
621
622%description source
351f379b
JR
623This is the source code for the Linux kernel. You can build a custom
624kernel that is better tuned to your particular hardware.
a5585a68 625
3a467bc1
JR
626%description source -l de.UTF-8
627Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 628Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 629C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 630im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 631benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
632Hardware ausgerichtet ist.
633
3a467bc1 634%description source -l fr.UTF-8
a5585a68 635Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
636linux. Ces sources sont nécessaires pour compiler la plupart des
637programmes C, car il dépend de constantes définies dans le code
638source. Les sources peuvent être aussi utilisée pour compiler un noyau
639personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
640particuliers.
641
3a467bc1
JR
642%description source -l pl.UTF-8
643Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
644
645%package doc
646Summary: Kernel documentation
351f379b
JR
647Summary(de.UTF-8): Kernel Dokumentation
648Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
649Group: Documentation
07ff8614 650AutoReqProv: no
a5585a68
AM
651
652%description doc
653This is the documentation for the Linux kernel, as found in
654/usr/src/linux/Documentation directory.
655
351f379b
JR
656%description doc -l de.UTF-8
657Dies ist die Kernel Dokumentation wie sie im 'Documentation'
658Verzeichniss vorgefunden werden kann.
659
3a467bc1
JR
660%description doc -l pl.UTF-8
661Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
662/usr/src/linux/Documentation.
663
664%prep
351f379b
JR
665%setup -qc
666ln -s %{SOURCE7} kernel-module-build.pl
667ln -s %{SOURCE10} Makefile
668cd linux-%{basever}
a5585a68 669
351f379b 670# hack against warning in pax/grsec
351f379b 671sed -i 's/-Werror//' arch/alpha/kernel/Makefile
a5585a68 672
351f379b
JR
673%if "%{postver}" != "%{nil}"
674%{__bzip2} -dc %{SOURCE1} | patch -p1 -s
675%endif
a5585a68 676
351f379b
JR
677# tuxonice:
678%if %{with tuxonice}
351f379b
JR
679%patch69 -p1
680%patch70 -p1
351f379b 681%endif
bf6838be 682
351f379b
JR
683%if %{with fbcondecor}
684%patch3 -p1
a5585a68 685%endif
351f379b 686%patch4 -p1
a5585a68 687
351f379b
JR
688## netfilter
689#
a5585a68 690
351f379b
JR
691# kernel-pom-ng-IPV4OPTSSTRIP.patch
692%patch10 -p1
a5585a68 693
351f379b
JR
694# kernel-pom-ng-ipv4options.patch
695%patch11 -p1
a5585a68 696
351f379b
JR
697# kernel-pom-ng-mms-conntrack-nat.patch
698%patch16 -p1
a5585a68 699
351f379b
JR
700# kernel-pom-ng-rsh.patch
701%patch22 -p1
a5585a68 702
351f379b
JR
703# kernel-pom-ng-rpc.patch
704%patch23 -p1
a5585a68 705
351f379b
JR
706# kernel-nf_rtsp.patch
707%patch36 -p1
a5585a68 708
351f379b
JR
709# kernel-owner-xid.patch
710%if %{with vserver}
711%patch37 -p1
a5585a68 712%endif
a5585a68 713
351f379b
JR
714# kernel-layer7.patch
715%patch40 -p1
716
717# ipvs-nfct
78978408 718%patch41 -p1
351f379b
JR
719
720##
721# end of netfilter
722
723# zph
724%patch49 -p1
725
726%if %{with imq}
727%patch50 -p1
a5585a68 728%endif
351f379b
JR
729
730# reiser4
731%if %{with reiser4}
732%patch51 -p1
a5585a68 733%endif
351f379b 734
351f379b 735# esfq
068b6c82
AM
736%if %{with esfq}
737%patch53 -p1
738%endif
351f379b
JR
739
740%if %{with wrr}
741%patch52 -p1
a5585a68 742%endif
351f379b
JR
743
744# toshiba_acpi
745%patch54 -p1
746
747%patch55 -p1
748%patch56 -p1
749
40bf088a
AM
750# squashfs lzma support
751%patch57 -p1
752
351f379b
JR
753# kernel-rndis_host-wm5.patch
754%patch59 -p1
755
756# hostap enhancements from/for aircrack-ng
757%patch85 -p1
758
351f379b
JR
759# vserver
760%if %{with vserver}
761%patch100 -p1
762%patch101 -p1
a5585a68 763%endif
351f379b 764
351f379b
JR
765# forcedeth
766%patch130 -p1
a5585a68 767
76b36ddb
ER
768%patch131 -p1
769
17da405a 770# aufs2
4f0767ce
JR
771%if %{with reiser4}
772%patch148 -p1
773%endif
20493b41
JR
774%patch145 -p1
775%patch146 -p1
776
777# unionfs
778%patch140 -p1
a5585a68 779
351f379b 780%patch2500 -p1
a5585a68 781
351f379b
JR
782%if %{with rescuecd}
783%patch7000 -p1
e981df17 784%endif
a5585a68 785
351f379b
JR
786# grsecurity & pax stuff
787#
351f379b 788
17da405a 789%if %{with grsecurity}
351f379b 790%patch9999 -p1
20493b41
JR
791# aufs2 needs to modify those pointers
792%patch147 -p1
351f379b
JR
793%{?with_vserver:%patch10000 -p1}
794%{?with_vserver:%patch10001 -p1}
795%{?with_vserver:%patch10002 -p1}
351f379b 796%endif
e981df17 797%endif
351f379b
JR
798#
799# end of grsecurity & pax stuff
800
df4db69a 801# apparmor
df4db69a 802%patch5000 -p1
df4db69a 803
7e46296a
AM
804# FIXME
805#%patch150 -p1
a11f3f79 806
351f379b
JR
807%ifarch ppc ppc64
808#patch200 -p1
809%endif
a5585a68 810
54fd642e 811%patch250 -p1
812
351f379b
JR
813# routes
814%patch300 -p1
a5585a68 815
351f379b
JR
816# Small fixes:
817%patch2000 -p1
818%patch2001 -p1
819#%patch2003 -p1
a5585a68 820
351f379b
JR
821# Fix EXTRAVERSION in main Makefile
822sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
a5585a68 823
351f379b
JR
824# cleanup backups after patching
825find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
a5585a68 826
351f379b
JR
827%build
828install -d %{objdir}
829cat > %{targetobj}.mk <<'EOF'
830# generated by %{name}.spec
831KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
832KERNELOUTPUT := %{objdir}
833
834SRCARCH := %{target_arch_dir}
835ARCH := %{_target_base_arch}
836Q := %{!?with_verbose:@}
837MAKE_OPTS := %{MakeOpts}
838DEFCONFIG := %{defconfig}
839EOF
a5585a68 840
351f379b
JR
841PaXconfig() {
842 set -x
843 cat <<-EOCONFIG > $1
844 %ifarch %{ix86}
845 CONFIG_PAX_SEGMEXEC=y
846 # performance impact on CPUs without NX bit
847 CONFIG_PAX_PAGEEXEC=n
848 # Testing KERNEXEC
849
850 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
851 CONFIG_PCI_BIOS=n
852 CONFIG_EFI=n
853 %endif
a5585a68 854
351f379b
JR
855 %ifarch ppc64
856 CONFIG_PAX_NOELFRELOCS=n
857 %endif
858 %ifarch ppc
859 CONFIG_PAX_EMUTRAMP=y
860 CONFIG_PAX_EMUSIGRT=y
861 CONFIG_PAX_EMUPLT=y
862 %endif
a5585a68 863
351f379b
JR
864 %ifarch sparc sparc64 alpha
865 CONFIG_PAX_EMUPLT=y
866 %endif
a5585a68 867
351f379b
JR
868 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
869 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
870 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
e69c45e8 871 # PAX_HOOK_ACL_FLAGS.
351f379b 872
15a064bf 873 %if %{with grsecurity}
351f379b
JR
874 # Hardening grsec options if with pax
875 CONFIG_GRKERNSEC_PROC_MEMMAP=y
876 # almost rational (see HIDESYM help)
877 CONFIG_GRKERNSEC_HIDESYM=y
878
879 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
880 %else
351f379b
JR
881 CONFIG_PAX_HAVE_ACL_FLAGS=n
882 CONFIG_PAX_HOOK_ACL_FLAGS=y
883 %endif
884EOCONFIG
a5585a68 885
351f379b
JR
886 return 0
887}
a5585a68 888
351f379b
JR
889RescueConfig() {
890 set -x
891 cat <<-EOCONFIG > $1
892 # CONFIG_SOUND is not set
893 # CONFIG_AUDIT is not set
894 # CONFIG_TR is not set
895 # CONFIG_BT is not set
896 # CONFIG_VIDEO_DEV is not set
897 # CONFIG_DVB_CORE is not set
898 # CONFIG_HAMRADIO is not set
899 # CONFIG_ARCNET is not set
900 # CONFIG_FB is not set
901 # CONFIG_DRM is not set
902 # CONFIG_WATCHDOG is not set
903 # CONFIG_INPUT_JOYSTICK is not set
904 # CONFIG_DEBUG_KERNEL is not set
905 # CONFIG_ISDN is not set
906 # CONFIG_AGP is not set
907 # CONFIG_SECURITY is not set
908 # CONFIG_PARIDE is not set
909 # CONFIG_CPU_FREQ is not set
910 # CONFIG_GAMEPORT is not set
911 # CONFIG_KVM is not set
912 # CONFIG_PHONE is not set
dd55897d 913 # CONFIG_STRICT_DEVMEM is not set
6bab3a31 914 # CONFIG_IMA is not set
351f379b 915 CONFIG_AUFS=y
a899ef35 916 CONFIG_AUFS_FS=y
917 CONFIG_AUFS_BR_RAMFS=y
62fff140 918 CONFIG_AUFS_RDU=y
351f379b
JR
919 CONFIG_BLK_DEV_LOOP=y
920 CONFIG_ISO9660_FS=y
921 CONFIG_NLS_UTF8=y
922EOCONFIG
923
924 return 0
925}
a5585a68 926
351f379b
JR
927BuildConfig() {
928 %{?debug:set -x}
929 set -e
a5585a68 930
351f379b
JR
931 Config="kernel-%{target_arch_dir}.config"
932 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
a5585a68 933
351f379b
JR
934 # prepare local and important options
935 cat <<-EOCONFIG > important.config
936 LOCALVERSION="-%{localversion}"
fb4e3822 937
351f379b
JR
938%if 0%{?debug:1}
939 CONFIG_DEBUG_SLAB=y
940 CONFIG_DEBUG_SLAB_LEAK=y
941 CONFIG_DEBUG_PREEMPT=y
942 CONFIG_RT_DEADLOCK_DETECT=y
a5585a68 943%endif
351f379b 944
351f379b
JR
945%if %{without ipv6}
946 CONFIG_IPV6=n
947%endif
a5585a68 948
351f379b
JR
949%ifarch i686 athlon pentium3 pentium4
950 %if %{with pae}
951 CONFIG_HIGHMEM4G=n
952 CONFIG_HIGHMEM64G=y
953 CONFIG_X86_PAE=y
7c99a84b 954 CONFIG_NUMA=n
351f379b
JR
955 %endif
956%endif
a5585a68 957
351f379b
JR
958%if %{without pcmcia}
959 CONFIG_PCMCIA=n
960%endif
a5585a68 961
351f379b
JR
962%if %{with fbcondecor}
963 CONFIG_FB_S3=n
964 CONFIG_FB_VT8623=n
965 CONFIG_FB_ARK=n
966 CONFIG_FB_TILEBLITTING=n
967 CONFIG_FB_CON_DECOR=y
968%endif
a5585a68 969
351f379b
JR
970%if %{with nfsroot}
971 CONFIG_NFS_FS=y
972 CONFIG_ROOT_NFS=y
973%endif
a5585a68 974
351f379b 975# Temporary disabled RELOCATABLE. Needed only on x86??
15a064bf 976%if %{with pax} || %{with grsecurity}
351f379b
JR
977 CONFIG_RELOCATABLE=n
978%endif
979EOCONFIG
a5585a68 980
351f379b
JR
981%if %{with rescuecd}
982 RescueConfig rescue.config
983%endif
17da405a 984%if %{with pax}
351f379b
JR
985 PaXconfig pax.config
986%endif
a5585a68 987
351f379b
JR
988 # prepare kernel-style config file from multiple config files
989 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
101ae904 990%if %{with myown}
991 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
992%endif
351f379b
JR
993 important.config \
994%if %{with rescuecd}
995 %{SOURCE58} \
996 %{SOURCE59} \
997 rescue.config \
998%endif
999 \
17da405a 1000%if %{with pax}
351f379b
JR
1001 %{SOURCE45} \
1002 %{SOURCE49} \
1003 pax.config \
1004%else
15a064bf 1005 %if %{with grsecurity}
351f379b
JR
1006 %{SOURCE45} \
1007 %{SOURCE50} \
351f379b 1008 %endif
351f379b
JR
1009%endif
1010 \
1011%if %{with reiser4}
1012 %{SOURCE56} \
1013%endif
1014%if %{with wrr}
1015 %{SOURCE57} \
1016%endif
1017%if %{with imq}
1018 %{SOURCE55} \
1019%endif
1020%if %{with vserver}
1021 %{SOURCE43} \
1022%endif
1023%if %{with tuxonice}
1024%ifarch %{ix86} %{x8664} ia64 ppc ppc64
1025 %{SOURCE42} \
1026%endif
351f379b
JR
1027%endif
1028 %{SOURCE40} %{?0:netfilter} \
1029 %{SOURCE41} %{?0:patches} \
1030 %{SOURCE20} \
1031 $RPM_SOURCE_DIR/$Config
1032}
a5585a68 1033
351f379b
JR
1034cd %{objdir}
1035install -d arch/%{target_arch_dir}
351f379b 1036BuildConfig > %{defconfig}
351f379b
JR
1037ln -sf %{defconfig} .config
1038cd -
a5585a68 1039
7856c5e8
AM
1040%{__make} \
1041 TARGETOBJ=%{targetobj} \
1042 %{?with_verbose:V=1} \
1043 oldconfig
a5585a68 1044
351f379b 1045%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
a5585a68 1046
351f379b 1047# build kernel
7856c5e8
AM
1048%{__make} \
1049 TARGETOBJ=%{targetobj} \
1050 %{?with_verbose:V=1} \
1051 all
a5585a68 1052
351f379b
JR
1053%install
1054rm -rf $RPM_BUILD_ROOT
4505b6c5 1055%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
351f379b
JR
1056 -C %{objdir} \
1057 %{?with_verbose:V=1} \
1058 DEPMOD=%{DepMod} \
1059 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1060 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1061 KERNELRELEASE=%{kernel_release}
1062
1063install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1064
101ae904 1065# create directories which may be missing, to simplyfy %files
64d14572 1066install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
101ae904 1067
351f379b
JR
1068# rpm obeys filelinkto checks for ghosted symlinks, convert to files
1069rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1070touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1071
6d54bd67
ER
1072# no point embed content for %ghost files. empty them
1073for a in \
1074 dep{,.bin} \
1075 alias{,.bin} \
1076 symbols{,.bin} \
1077 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1078; do
09e63f4a 1079 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
6d54bd67
ER
1080 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1081done
1082
351f379b
JR
1083# /boot
1084install -d $RPM_BUILD_ROOT/boot
1085cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1086%ifarch %{ix86} %{x8664}
1db9a2c1
ER
1087 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1088 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
351f379b
JR
1089%endif
1090%ifarch ppc ppc64
1db9a2c1
ER
1091 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1092 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
a5585a68 1093%endif
a5585a68 1094%ifarch ia64
1db9a2c1
ER
1095 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1096 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1097 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
351f379b
JR
1098%endif
1099%ifarch alpha sparc sparc64
1100 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1101 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1db9a2c1
ER
1102 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1103 %ifarch sparc
1104 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1105 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1106 %endif
1107 %ifarch sparc64
1108 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1109 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1110 %endif
351f379b
JR
1111%endif
1112%ifarch arm
1db9a2c1 1113 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
a5585a68 1114%endif
a5585a68 1115
351f379b
JR
1116# ghosted initrd
1117touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
a5585a68 1118
351f379b
JR
1119%if "%{_target_base_arch}" != "%{_arch}"
1120touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1121%endif
a5585a68 1122
351f379b
JR
1123# /etc/modrobe.d
1124install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
a5585a68 1125
351f379b 1126# /usr/src/linux
11b2646e 1127install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
351f379b
JR
1128# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1129if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1130 l=l
1131 rm -f $RPM_BUILD_ROOT/COPYING
a5585a68 1132fi
a5585a68 1133
351f379b
JR
1134cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1135cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1136cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
11b2646e
AM
1137cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1138cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1139cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1140cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
351f379b
JR
1141cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1142
1143# collect module-build files and directories
1144# Usage: kernel-module-build.pl $rpmdir $fileoutdir
1145fileoutdir=$(pwd)
1146cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1147%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1148cd -
1149
30f08736
ER
1150# move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1151install -d $RPM_BUILD_ROOT%{_docdir}
1152mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1153
d3a69071
ER
1154rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1155rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1156rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1157rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1158
351f379b
JR
1159%clean
1160rm -rf $RPM_BUILD_ROOT
1161
1162%preun
1163if [ -x /sbin/new-kernel-pkg ]; then
1164 /sbin/new-kernel-pkg --remove %{kernel_release}
a5585a68 1165fi
351f379b
JR
1166
1167%post
1168%ifarch ia64
1169mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1170%{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1171ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1172%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1173%endif
1174mv -f /boot/vmlinuz{,.old} 2> /dev/null
1175%{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1176mv -f /boot/System.map{,.old} 2> /dev/null
1177%{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1178ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1179%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1180ln -sf System.map-%{kernel_release} /boot/System.map
1181%{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1182
1183%depmod %{kernel_release}
1184
4dabe329
ER
1185%posttrans
1186# generate initrd after all dependant modules are installed
351f379b
JR
1187/sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1188mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1189%{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1190ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1191%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1192
4dabe329 1193# update boot loaders when old package files are gone from filesystem
c5de1ad5 1194if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
4dabe329
ER
1195 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1196 /sbin/update-grub >/dev/null
c5de1ad5
ER
1197 fi
1198fi
351f379b
JR
1199if [ -x /sbin/new-kernel-pkg ]; then
1200 /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
1201fi
1202if [ -x /sbin/rc-boot ]; then
351f379b 1203 /sbin/rc-boot 1>&2 || :
a5585a68 1204fi
a5585a68 1205
351f379b
JR
1206%post vmlinux
1207mv -f /boot/vmlinux{,.old} 2> /dev/null
1208%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1209ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1210%{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1211
351f379b
JR
1212%post drm
1213%depmod %{kernel_release}
a5585a68 1214
351f379b
JR
1215%postun drm
1216%depmod %{kernel_release}
a5585a68 1217
351f379b
JR
1218%post pcmcia
1219%depmod %{kernel_release}
a5585a68 1220
351f379b
JR
1221%postun pcmcia
1222%depmod %{kernel_release}
a5585a68 1223
351f379b
JR
1224%post sound-alsa
1225%depmod %{kernel_release}
a5585a68 1226
351f379b
JR
1227%postun sound-alsa
1228%depmod %{kernel_release}
a5585a68 1229
351f379b
JR
1230%post sound-oss
1231%depmod %{kernel_release}
a5585a68 1232
351f379b
JR
1233%postun sound-oss
1234%depmod %{kernel_release}
a5585a68
AM
1235
1236%post headers
351f379b 1237ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1238
1239%postun headers
351f379b
JR
1240if [ "$1" = "0" ]; then
1241 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1242 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1243 rm -f %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1244 fi
1245 fi
1246fi
1247
351f379b
JR
1248%triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1249ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1250ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1251
1252%triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1253if [ "$1" = 0 ]; then
1254 rm -f /lib/modules/%{kernel_release}/{build,source}
1255fi
1256
a5585a68
AM
1257%files
1258%defattr(644,root,root,755)
a5585a68 1259%ifarch sparc sparc64
351f379b 1260/boot/vmlinux.aout-%{kernel_release}
a5585a68
AM
1261%endif
1262%ifarch ia64
351f379b
JR
1263/boot/efi/vmlinuz-%{kernel_release}
1264%endif
1265/boot/vmlinuz-%{kernel_release}
1266/boot/System.map-%{kernel_release}
1267%ghost %{initrd_dir}/initrd-%{kernel_release}.gz
ae1c66e5 1268/lib/firmware/%{kernel_release}
351f379b
JR
1269
1270%dir /lib/modules/%{kernel_release}
1271%dir /lib/modules/%{kernel_release}/kernel
351f379b 1272/lib/modules/%{kernel_release}/kernel/arch
351f379b
JR
1273/lib/modules/%{kernel_release}/kernel/crypto
1274/lib/modules/%{kernel_release}/kernel/drivers
101ae904 1275%if %{have_drm}
351f379b
JR
1276%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1277%endif
1278/lib/modules/%{kernel_release}/kernel/fs
351f379b 1279/lib/modules/%{kernel_release}/kernel/kernel
351f379b
JR
1280/lib/modules/%{kernel_release}/kernel/lib
1281/lib/modules/%{kernel_release}/kernel/net
fecce547 1282/lib/modules/%{kernel_release}/kernel/mm
101ae904 1283%if %{have_sound}
351f379b
JR
1284%dir /lib/modules/%{kernel_release}/kernel/sound
1285/lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1286/lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1287%ifnarch sparc
1288%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1289%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1290%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1291%endif
1292%endif
1293%dir /lib/modules/%{kernel_release}/misc
101ae904 1294%if %{have_pcmcia}
351f379b
JR
1295%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1296%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1297%exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1298%if %{without rescuecd}
1299%exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1300%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1301%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1302%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1303%exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1304%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1305%endif
1306%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1307%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1308%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1309%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1310%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1311%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1312%exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1313%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1314%endif
101ae904 1315%if %{with myown}
1316/lib/modules/%{kernel_release}/kernel/sound
1317%endif
6d54bd67
ER
1318
1319%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1320
1321# provided by build
1322/lib/modules/%{kernel_release}/modules.order
5ebe7534 1323/lib/modules/%{kernel_release}/modules.builtin
6d54bd67
ER
1324
1325# rest modules.* are ghost (regenerated by post depmod -a invocation)
1326%ghost /lib/modules/%{kernel_release}/modules.alias
1327%ghost /lib/modules/%{kernel_release}/modules.alias.bin
1328%ghost /lib/modules/%{kernel_release}/modules.ccwmap
1329%ghost /lib/modules/%{kernel_release}/modules.dep
1330%ghost /lib/modules/%{kernel_release}/modules.dep.bin
1331%ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1332%ghost /lib/modules/%{kernel_release}/modules.inputmap
1333%ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1334%ghost /lib/modules/%{kernel_release}/modules.ofmap
1335%ghost /lib/modules/%{kernel_release}/modules.pcimap
1336%ghost /lib/modules/%{kernel_release}/modules.seriomap
1337%ghost /lib/modules/%{kernel_release}/modules.symbols
1338%ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1339%ghost /lib/modules/%{kernel_release}/modules.usbmap
1340
351f379b
JR
1341# symlinks pointing to kernelsrcdir
1342%ghost /lib/modules/%{kernel_release}/build
1343%ghost /lib/modules/%{kernel_release}/source
351f379b 1344
351f379b
JR
1345%ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1346%files vmlinux
a5585a68 1347%defattr(644,root,root,755)
351f379b 1348/boot/vmlinux-%{kernel_release}
a5585a68
AM
1349%endif
1350
101ae904 1351%if %{have_drm}
351f379b 1352%files drm
a5585a68 1353%defattr(644,root,root,755)
351f379b 1354/lib/modules/%{kernel_release}/kernel/drivers/gpu
a5585a68
AM
1355%endif
1356
101ae904 1357%if %{have_pcmcia}
351f379b 1358%files pcmcia
a5585a68 1359%defattr(644,root,root,755)
351f379b
JR
1360/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1361/lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1362%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1363%if %{without rescuecd}
1364/lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1365/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1366/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1367/lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1368%endif
1369/lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1370/lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1371/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1372/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1373/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1374/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1375/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1376/lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1377/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1378%endif
1379
101ae904 1380%if %{have_sound}
351f379b 1381%files sound-alsa
a5585a68 1382%defattr(644,root,root,755)
351f379b
JR
1383/lib/modules/%{kernel_release}/kernel/sound
1384%exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1385%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1386%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1387%if %{have_oss}
1388%exclude /lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1389%endif
351f379b
JR
1390%ifnarch sparc
1391/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1392/lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1393/lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1394/lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
a5585a68
AM
1395%endif
1396
101ae904 1397%if %{have_oss}
351f379b 1398%files sound-oss
a5585a68 1399%defattr(644,root,root,755)
351f379b 1400/lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1401%endif
a5585a68
AM
1402%endif
1403
fecce547 1404%files headers -f files.headers_exclude_kbuild
a5585a68 1405%defattr(644,root,root,755)
30f08736 1406%dir %{_kernelsrcdir}
351f379b
JR
1407%{_kernelsrcdir}/include
1408%dir %{_kernelsrcdir}/arch
1409%dir %{_kernelsrcdir}/arch/[!K]*
1410%{_kernelsrcdir}/arch/*/include
1411%dir %{_kernelsrcdir}/security
1412%dir %{_kernelsrcdir}/security/selinux
1413%{_kernelsrcdir}/security/selinux/include
1414%{_kernelsrcdir}/config-dist
1415%{_kernelsrcdir}/Module.symvers-dist
1416
fecce547 1417%files module-build -f files.mb_include_modulebuild_and_dirs
a5585a68 1418%defattr(644,root,root,755)
351f379b
JR
1419%ifarch ppc ppc64
1420%{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1421%endif
fecce547 1422%exclude %dir %{_kernelsrcdir}/arch/m68knommu
1423%exclude %dir %{_kernelsrcdir}/arch/um
351f379b
JR
1424%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1425%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1426%{_kernelsrcdir}/drivers/lguest/lg.h
1427%{_kernelsrcdir}/kernel/bounds.c
1428%dir %{_kernelsrcdir}/scripts
351f379b
JR
1429%{_kernelsrcdir}/scripts/Kbuild.include
1430%{_kernelsrcdir}/scripts/Makefile*
1431%{_kernelsrcdir}/scripts/basic
960d2e94 1432%{_kernelsrcdir}/scripts/kconfig
1433%{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1434%{_kernelsrcdir}/scripts/mkmakefile
1435%{_kernelsrcdir}/scripts/mod
960d2e94 1436%{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1437%{_kernelsrcdir}/scripts/setlocalversion
1438%{_kernelsrcdir}/scripts/*.c
1439%{_kernelsrcdir}/scripts/*.sh
351f379b
JR
1440%dir %{_kernelsrcdir}/scripts/selinux
1441%{_kernelsrcdir}/scripts/selinux/Makefile
9d6d5869
AM
1442%dir %{_kernelsrcdir}/scripts/selinux/genheaders
1443%{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1444%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
c78e408d
PZ
1445%dir %{_kernelsrcdir}/scripts/selinux/mdp
1446%{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1447%{_kernelsrcdir}/scripts/selinux/mdp/*.c
fecce547 1448%exclude %dir %{_kernelsrcdir}/security
1449%exclude %dir %{_kernelsrcdir}/security/selinux
a5585a68 1450
1848fd38 1451%if %{with doc}
a5585a68
AM
1452%files doc
1453%defattr(644,root,root,755)
d3a69071
ER
1454%dir %{_docdir}/%{name}-%{version}
1455
1456%{_docdir}/%{name}-%{version}/[!jkz]*
1457%{_docdir}/%{name}-%{version}/[jkz]*.txt
1458%{_docdir}/%{name}-%{version}/kbuild
1459%{_docdir}/%{name}-%{version}/kdump
2ddc4ac9 1460%{_docdir}/%{name}-%{version}/kvm
d3a69071
ER
1461%lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1462%lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1463%lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1848fd38 1464%endif
a5585a68
AM
1465
1466%if %{with source}
fecce547 1467%files source -f files.source_exclude_modulebuild_and_dirs
a5585a68 1468%defattr(644,root,root,755)
351f379b
JR
1469%{_kernelsrcdir}/arch/*/[!Mik]*
1470%{_kernelsrcdir}/arch/*/kernel/[!M]*
351f379b
JR
1471%{_kernelsrcdir}/arch/ia64/install.sh
1472%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1473%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
fecce547 1474%{_kernelsrcdir}/arch/m68k/install.sh
351f379b
JR
1475%{_kernelsrcdir}/arch/parisc/install.sh
1476%{_kernelsrcdir}/arch/x86/ia32/[!M]*
1477%{_kernelsrcdir}/arch/ia64/kvm
1478%{_kernelsrcdir}/arch/powerpc/kvm
1479%ifarch ppc ppc64
1480%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1481%endif
1482%{_kernelsrcdir}/arch/s390/kvm
1483%{_kernelsrcdir}/arch/x86/kvm
1484%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1485%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1486%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1487%{_kernelsrcdir}/block
1488%{_kernelsrcdir}/crypto
1489%{_kernelsrcdir}/drivers
1490%{_kernelsrcdir}/firmware
1491%{_kernelsrcdir}/fs
1492%if %{with grsecurity} && %{without rescuecd}
1493%{_kernelsrcdir}/grsecurity
1494%endif
1495%{_kernelsrcdir}/init
1496%{_kernelsrcdir}/ipc
1497%{_kernelsrcdir}/kernel
1498%exclude %{_kernelsrcdir}/kernel/bounds.c
1499%{_kernelsrcdir}/lib
1500%{_kernelsrcdir}/mm
1501%{_kernelsrcdir}/net
1502%{_kernelsrcdir}/virt
1503%{_kernelsrcdir}/samples
1504%{_kernelsrcdir}/scripts/*
1505%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1506%exclude %{_kernelsrcdir}/scripts/Makefile*
1507%exclude %{_kernelsrcdir}/scripts/basic
1508%exclude %{_kernelsrcdir}/scripts/kconfig
960d2e94 1509%exclude %{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1510%exclude %{_kernelsrcdir}/scripts/mkmakefile
1511%exclude %{_kernelsrcdir}/scripts/mod
960d2e94 1512%exclude %{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1513%exclude %{_kernelsrcdir}/scripts/setlocalversion
1514%exclude %{_kernelsrcdir}/scripts/*.c
1515%exclude %{_kernelsrcdir}/scripts/*.sh
960d2e94 1516%exclude %dir %{_kernelsrcdir}/scripts/selinux
1517%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
c78e408d
PZ
1518%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1519%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1520%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
960d2e94 1521%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1522%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1523%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
351f379b
JR
1524%{_kernelsrcdir}/sound
1525%{_kernelsrcdir}/security
1526%exclude %{_kernelsrcdir}/security/selinux/include
fecce547 1527%{_kernelsrcdir}/tools
351f379b
JR
1528%{_kernelsrcdir}/usr
1529%{_kernelsrcdir}/COPYING
1530%{_kernelsrcdir}/CREDITS
1531%{_kernelsrcdir}/MAINTAINERS
1532%{_kernelsrcdir}/README
1533%{_kernelsrcdir}/REPORTING-BUGS
a5585a68 1534%endif
This page took 0.336769 seconds and 4 git commands to generate.