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