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