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