]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- fix oopses with b44 with 4GB of mem
[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
351f379b 12#
fc5a68a2
AM
13# HOWTO update configuration files:
14# - run build
15# - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
16# - sort configuration files using:
ee5dc1b8 17# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
fc5a68a2 18# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
a5585a68
AM
19#
20# Conditional build:
a5585a68 21%bcond_without source # don't build kernel-source package
1848fd38 22%bcond_without doc # don't build kernel-doc package
351f379b
JR
23%bcond_without pcmcia # don't build pcmcia
24
a5585a68 25%bcond_with verbose # verbose build (V=1)
03de6725 26%bcond_with reiser4 # support for reiser4 fs (experimental)
351f379b
JR
27
28%bcond_without grsecurity # don't build grsecurity nor pax at all
d615e060 29%bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
351f379b
JR
30
31%bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
32%bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
33%bcond_with nfsroot # build with root on NFS support
34
7f07242b 35%bcond_without imq # imq support
1b75c2b4
JR
36%bcond_without wrr # wrr support
37%bcond_without esfq # esfq support
351f379b
JR
38%bcond_without ipv6 # ipv6 support
39
40%bcond_without vserver # support for VServer (enabled by default)
41%bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
351f379b
JR
42
43%bcond_with rescuecd # build kernel for our rescue
44
351f379b 45%bcond_with myown # build with your own config (kernel-myown.config)
a5585a68
AM
46
47%{?debug:%define with_verbose 1}
48
351f379b 49%if %{without grsecurity}
b488384f 50%unglobal with_pax
a5585a68 51%endif
351f379b 52
17da405a 53%if %{with pax}
351f379b
JR
54%define with_grsecurity 1
55%define with_pax 1
56%endif
57
351f379b
JR
58%define have_drm 1
59%define have_oss 1
60%define have_sound 1
101ae904 61%define have_pcmcia 1
351f379b
JR
62
63%if %{with rescuecd}
b488384f
AM
64%unglobal with_tuxonice
65%unglobal with_grsecurity
b488384f
AM
66%unglobal with_pax
67%unglobal with_vserver
351f379b
JR
68%define have_drm 0
69%define have_sound 0
70%endif
71
101ae904 72%if %{with myown}
73%define have_drm 0
74%define have_oss 0
75%define have_sound 0
76%define have_pcmcia 0
351f379b
JR
77%endif
78
79%ifarch sparc sparc64
b488384f 80%unglobal with_pcmcia
351f379b
JR
81%define have_drm 0
82%define have_oss 0
83%endif
84
101ae904 85%if %{without pcmcia}
86%define have_pcmcia 0
87%endif
88
8edadd42
AM
89%define basever 2.6.37
90%define postver %{nil}
3ac9b7cc 91%define rel 5
a5585a68
AM
92
93%define _enable_debug_packages 0
a5585a68 94
28eb7fa5 95%define tuxonice_version 3.2
351f379b
JR
96%define netfilter_snap 20070806
97
101ae904 98%if %{with myown}
99%if "%{_alt_kernel}" == ""
100%define alt_kernel myown
351f379b 101%endif
101ae904 102%else
103%if %{without rescuecd}
15a064bf 104%define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
351f379b
JR
105%if "%{__alt_kernel}" != ""
106%define alt_kernel %{__alt_kernel}
107%endif
101ae904 108%else
109%define alt_kernel rescuecd
110%endif
111%endif
351f379b
JR
112
113# kernel release (used in filesystem and eventually in uname -r)
114# modules will be looked from /lib/modules/%{kernel_release}
115# localversion is just that without version for "> localversion"
116%define localversion %{rel}
117%define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
a5585a68
AM
118
119Summary: The Linux kernel (the core of the Linux operating system)
351f379b
JR
120Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
121Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
122Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
123Summary(pl.UTF-8): Jądro Linuksa
124Name: kernel%{_alt_kernel}
125Version: %{basever}%{postver}
126Release: %{rel}
a5585a68 127Epoch: 3
c491b43b 128License: GPL v2
a5585a68 129Group: Base/Kernel
351f379b 130Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
8edadd42 131# Source0-md5: c8ee37b4fdccdb651e0603d35350b434
351f379b
JR
132%if "%{postver}" != "%{nil}"
133Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
acffec89 134# Source1-md5: 4b01c5f9657a9587b262df5f8d784116
351f379b
JR
135%endif
136
137Source3: kernel-autoconf.h
138Source4: kernel-config.h
351f379b
JR
139Source6: kernel-config.awk
140Source7: kernel-module-build.pl
141Source8: kernel-track-config-change.awk
142# not used by kernel.spec, but it's good to have it in SOURCES
143Source9: kernel-config-sort.pl
144Source10: kernel.make
145
146Source20: kernel-multiarch.config
147Source21: kernel-x86.config
148Source22: kernel-sparc.config
5a99ae3d 149Source23: kernel-alpha.config
150Source24: kernel-powerpc.config
151Source25: kernel-ia64.config
351f379b
JR
152
153Source40: kernel-netfilter.config
154Source41: kernel-patches.config
155Source42: kernel-tuxonice.config
156Source43: kernel-vserver.config
157Source45: kernel-grsec.config
158
159Source49: kernel-pax.config
160Source50: kernel-no-pax.config
351f379b
JR
161Source55: kernel-imq.config
162Source56: kernel-reiser4.config
163Source57: kernel-wrr.config
164
165Source58: kernel-inittmpfs.config
166Source59: kernel-bzip2-lzma.config
167
351f379b
JR
168# http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
169Patch3: kernel-fbcondecor.patch
60bb736d 170Patch4: kernel-fbcon-margins.patch
351f379b
JR
171
172# netfilter related stuff mostly based on patch-o-matic-ng
17da405a 173# snapshot 20070806 with some fixes. Some modules
e69c45e8 174# were ported to nf_conntrack.
351f379b
JR
175
176Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
177Patch11: kernel-pom-ng-ipv4options.patch
178
351f379b
JR
179Patch16: kernel-pom-ng-mms-conntrack-nat.patch
180Patch22: kernel-pom-ng-rsh.patch
181Patch23: kernel-pom-ng-rpc.patch
182
183# based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
184Patch36: kernel-nf_rtsp.patch
185
186# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
187Patch37: kernel-owner-xid.patch
188
351f379b
JR
189# based on kernel-2.6.25-layer7-2.20.patch from
190# http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
191Patch40: kernel-layer7.patch
192
351f379b
JR
193### End netfilter
194
195# http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
196Patch49: kernel-zph.patch
197
f6396b7e 198# based on http://www.linuximq.net/patchs/linux-2.6.35-imq-multiqueue-test1.diff
351f379b
JR
199Patch50: kernel-imq.patch
200
76514441 201# http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
351f379b
JR
202Patch51: kernel-reiser4.patch
203
204# http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
205Patch52: kernel-wrr.patch
206
207# http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
60bb736d 208Patch53: kernel-esfq.patch
351f379b
JR
209
210# http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
60bb736d 211Patch54: kernel-toshiba_acpi.patch
351f379b
JR
212
213# by Baggins request:
214# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
60bb736d
JR
215Patch55: kernel-atm-vbr.patch
216Patch56: kernel-atmdd.patch
351f379b 217
40bf088a
AM
218# https://trac.pentoo.ch/pentoo/export/1600/kernel/trunk/2.6/2.6.34/4305_sqlzma.patch
219Patch57: kernel-squashfs-lzma.patch
220
351f379b
JR
221# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
222Patch59: kernel-rndis_host-wm5.patch
223
224# Project suspend2 renamed to tuxonice
5a9fc8e8 225# http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
60bb736d
JR
226Patch69: kernel-tuxonice.patch
227Patch70: kernel-tuxonice-headers.patch
351f379b
JR
228
229# adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
230# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
60bb736d 231Patch85: kernel-hostap.patch
351f379b 232
1163e6ab 233# http://vserver.13thfloor.at/Experimental/patch-2.6.37-vs2.3.0.37-rc3.diff
60bb736d 234Patch100: kernel-vserver-2.3.patch
351f379b
JR
235Patch101: kernel-vserver-fixes.patch
236
237# Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
238# Fix verified for that kernel version.
60bb736d 239Patch130: kernel-forcedeth-WON.patch
351f379b 240
76b36ddb 241# add tty ioctl to figure physical device of the console. used by showconsole.spec (blogd)
f687bd1f
AM
242# raw from http://download.opensuse.org/update/11.2/rpm/src/kernel-source-2.6.31.12-0.2.1.src.rpm
243# from patches.fixes.tar.bz2
244# from patches.fixes/tiocgdev
76b36ddb
ER
245Patch131: kernel-TIOCGDEV.patch
246
0c5527e5 247# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.7_for_2.6.36.diff.gz
351f379b 248Patch140: kernel-unionfs.patch
351f379b 249
4a4d8108 250# http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
b752ccd1
AM
251# Patch creation:
252# git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
953406b4 253# cd aufs2-standalone
4f0767ce 254# git checkout -b aufs2.1-35 origin/aufs2.1-35
b752ccd1
AM
255# cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
256# mkdir linux
257# cp -a Documentation fs include linux
258# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
0c5527e5
AM
259#
260# NOTE: temporaily from http://livenet.selfip.com/ftp/debian/aufs2.1-36/ until upstream catches up with 2.6.36
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.
5a9fc8e8 275# http://www.ssi.bg/~ja/routes-2.6.37-16.diff
351f379b
JR
276Patch300: kernel-routes.patch
277
351f379b 278Patch2000: kernel-small_fixes.patch
60bb736d 279Patch2001: kernel-pwc-uncompress.patch
351f379b
JR
280Patch2003: kernel-regressions.patch
281
282# kill some thousands of warnings
283# (only warnings, so just remove parts of this patch if conflics)
60bb736d 284Patch2500: kernel-warnings.patch
351f379b 285
fc63ffa9
AM
286# 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
287# 0002-AppArmor-compatibility-patch-for-v5-interface.patch
288# from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
351f379b 289Patch5000: kernel-apparmor.patch
351f379b
JR
290
291# for rescuecd
48ead238 292# based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
351f379b
JR
293Patch7000: kernel-inittmpfs.patch
294
1163e6ab 295# based on http://www.grsecurity.net/~spender/grsecurity-2.2.1-2.6.37-201101272240.patch
4a6985f1
AM
296# NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
297# (since upstream deletes older patches)
60bb736d
JR
298Patch9999: kernel-grsec_full.patch
299Patch10000: kernel-grsec-caps.patch
300Patch10001: kernel-grsec-common.patch
351f379b 301Patch10002: kernel-grsec_fixes.patch
bf6838be 302
73cc1c57 303# Do not remove this line, please. It is easier for me to uncomment two lines, then patch
304# kernel.spec every time.
305#Patch50000: kernel-usb_reset.patch
306
a5585a68 307URL: http://www.kernel.org/
351f379b 308BuildRequires: binutils >= 3:2.18
a5585a68
AM
309%ifarch sparc sparc64
310BuildRequires: elftoaout
311%endif
351f379b
JR
312%ifarch ppc
313BuildRequires: uboot-mkimage
314%endif
351f379b
JR
315BuildRequires: /sbin/depmod
316BuildRequires: gcc >= 5:3.2
cfce203c 317BuildRequires: xz >= 1:4.999.7
e69c45e8 318AutoReqProv: no
351f379b 319# for hostname command
c8ff6387 320BuildRequires: module-init-tools >= 3.5
351f379b 321BuildRequires: net-tools
a5585a68 322BuildRequires: perl-base
b488384f 323BuildRequires: rpm-build >= 4.5-24
351f379b
JR
324BuildRequires: rpmbuild(macros) >= 1.217
325Requires(post): coreutils
326Requires(post): geninitrd >= 10000-3
327Requires(post): module-init-tools >= 0.9.9
328Requires: /sbin/depmod
329Requires: coreutils
330Requires: geninitrd >= 10000-3
331Requires: module-init-tools >= 0.9.9
b75546f3 332Suggests: keyutils
351f379b
JR
333Provides: %{name}(netfilter) = %{netfilter_snap}
334Provides: %{name}(vermagic) = %{kernel_release}
335Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
26b1ceeb 336Obsoletes: kernel-firmware
351f379b
JR
337Obsoletes: kernel-misc-acer_acpi
338Obsoletes: kernel-misc-fuse
339Obsoletes: kernel-misc-uvc
a5585a68 340Obsoletes: kernel-modules
351f379b
JR
341Obsoletes: kernel-net-ar81
342Obsoletes: kernel-net-hostap
343Obsoletes: kernel-net-ieee80211
344Obsoletes: kernel-net-ipp2p
345Obsoletes: kernel-net-rt61
346Obsoletes: kernel-smp
347Conflicts: e2fsprogs < 1.29
348Conflicts: isdn4k-utils < 3.1pre1
349Conflicts: jfsutils < 1.1.3
cf8de22f 350Conflicts: lvm2 < 2.02.40
351f379b
JR
351Conflicts: module-init-tools < 0.9.10
352Conflicts: nfs-utils < 1.0.5
353Conflicts: oprofile < 0.9
354Conflicts: ppp < 1:2.4.0
355Conflicts: procps < 3.2.0
356Conflicts: quota-tools < 3.09
4dabe329 357%{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
351f379b 358Conflicts: reiserfsprogs < 3.6.3
4dabe329 359Conflicts: rpm < 4.4.2-0.2
351f379b
JR
360Conflicts: udev < 1:081
361Conflicts: util-linux < 2.10o
d3c4e01e 362Conflicts: util-vserver < 0.30.216
351f379b
JR
363Conflicts: xfsprogs < 2.6.0
364%if %{with pae}
365ExcludeArch: i386 i486 i586
366%else
367ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
368%endif
a5585a68
AM
369ExclusiveOS: Linux
370BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
371
351f379b
JR
372%ifarch %{ix86} %{x8664}
373%define target_arch_dir x86
374%endif
375%ifarch ppc ppc64
376%define target_arch_dir powerpc
377%endif
5a99ae3d 378%ifarch sparc sparc64
379%define target_arch_dir sparc
380%endif
381%ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
351f379b
JR
382%define target_arch_dir %{_target_base_arch}
383%endif
384
385%define defconfig arch/%{target_arch_dir}/defconfig
386
387# No ELF objects there to strip (skips processing 27k files)
ded910ba 388%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
351f379b
JR
389%define _noautochrpath .*%{_kernelsrcdir}/.*
390
a5585a68
AM
391%ifarch ia64
392%define initrd_dir /boot/efi
393%else
394%define initrd_dir /boot
395%endif
396
351f379b
JR
397%define topdir %{_builddir}/%{name}-%{version}
398%define srcdir %{topdir}/linux-%{basever}
399%define objdir %{topdir}/%{targetobj}
400%define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
401
402%define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
403
404%if "%{_target_base_arch}" != "%{_arch}"
405 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
406 %define DepMod /bin/true
407
408 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
409 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
410 %define DepMod /sbin/depmod
411 %endif
412
413 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
414 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
415 %define DepMod /sbin/depmod
416 %endif
417
418 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
419 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
420 %define DepMod /sbin/depmod
421 %endif
422
5a99ae3d 423 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
351f379b
JR
424 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
425 %endif
426%else
427 %ifarch ppc ppc64
428 %define CrossOpts ARCH=powerpc CC="%{__cc}"
429 %else
430 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
431 %endif
432 %define DepMod /sbin/depmod
433%endif
434%define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
435
436%define __features Netfilter module dated: %{netfilter_snap}\
15a064bf 437%{?with_grsecurity:Grsecurity support - enabled}\
351f379b
JR
438%{?with_pax:PaX support - enabled}\
439%{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
440%{?with_nfsroot:Root on NFS - enabled}\
351f379b
JR
441
442%define Features %(echo "%{__features}" | sed '/^$/d')
443
a5585a68
AM
444%description
445This package contains the Linux kernel that is used to boot and run
446your system. It contains few device drivers for specific hardware.
447Most hardware is instead supported by modules loaded after booting.
448
351f379b
JR
449%{Features}
450
3a467bc1
JR
451%description -l de.UTF-8
452Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
453Linux-Betriebssystems. Der Kernel ist für grundliegende
a5585a68 454Systemfunktionen verantwortlich: Speicherreservierung,
3a467bc1 455Prozeß-Management, Geräte Ein- und Ausgaben, usw.
a5585a68 456
351f379b
JR
457%{Features}
458
3a467bc1 459%description -l fr.UTF-8
a5585a68 460Le package kernel contient le kernel linux (vmlinuz), la partie
3a467bc1
JR
461centrale d'un système d'exploitation Linux. Le noyau traite les
462fonctions basiques d'un système d'exploitation: allocation mémoire,
463allocation de process, entrée/sortie de peripheriques, etc.
a5585a68 464
351f379b
JR
465%{Features}
466
3a467bc1
JR
467%description -l pl.UTF-8
468Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
469Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
470się w komputerze, takiego jak sterowniki dysków itp.
a5585a68 471
351f379b
JR
472%{Features}
473
474%package vmlinux
475Summary: vmlinux - uncompressed kernel image
476Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
477Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
478Group: Base/Kernel
479Obsoletes: kernel-smp-vmlinux
480
481%description vmlinux
482vmlinux - uncompressed kernel image.
483
484%description vmlinux -l de.UTF-8
485vmlinux - dekompressiertes Kernel Bild.
486
487%description vmlinux -l pl.UTF-8
488vmlinux - rozpakowany obraz jądra.
489
a5585a68
AM
490%package drm
491Summary: DRM kernel modules
351f379b
JR
492Summary(de.UTF-8): DRM Kernel Treiber
493Summary(pl.UTF-8): Sterowniki DRM
a5585a68 494Group: Base/Kernel
351f379b
JR
495Requires(postun): %{name} = %{epoch}:%{version}-%{release}
496Requires: %{name} = %{epoch}:%{version}-%{release}
497Obsoletes: kernel-smp-drm
07ff8614 498AutoReqProv: no
a5585a68
AM
499
500%description drm
351f379b
JR
501DRM kernel modules.
502
503%description drm -l de.UTF-8
504DRM Kernel Treiber.
a5585a68 505
3a467bc1 506%description drm -l pl.UTF-8
351f379b 507Sterowniki DRM.
a5585a68
AM
508
509%package pcmcia
510Summary: PCMCIA modules
351f379b
JR
511Summary(de.UTF-8): PCMCIA Module
512Summary(pl.UTF-8): Moduły PCMCIA
a5585a68 513Group: Base/Kernel
351f379b
JR
514Requires(postun): %{name} = %{epoch}:%{version}-%{release}
515Requires: %{name} = %{epoch}:%{version}-%{release}
516Obsoletes: kernel-smp-pcmcia
517Conflicts: pcmcia-cs < 3.1.21
518Conflicts: pcmciautils < 004
07ff8614 519AutoReqProv: no
a5585a68
AM
520
521%description pcmcia
351f379b
JR
522PCMCIA modules.
523
524%description pcmcia -l de.UTF-8
525PCMCIA Module.
a5585a68 526
3a467bc1 527%description pcmcia -l pl.UTF-8
351f379b
JR
528Moduły PCMCIA.
529
a5585a68
AM
530%package sound-alsa
531Summary: ALSA kernel modules
351f379b
JR
532Summary(de.UTF-8): ALSA Kernel Module
533Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 534Group: Base/Kernel
351f379b
JR
535Requires(postun): %{name} = %{epoch}:%{version}-%{release}
536Requires: %{name} = %{epoch}:%{version}-%{release}
537Obsoletes: kernel-smp-sound-alsa
07ff8614 538AutoReqProv: no
a5585a68
AM
539
540%description sound-alsa
541ALSA (Advanced Linux Sound Architecture) sound drivers.
542
351f379b
JR
543%description sound-alsa -l de.UTF-8
544ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
545
3a467bc1
JR
546%description sound-alsa -l pl.UTF-8
547Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68
AM
548
549%package sound-oss
550Summary: OSS kernel modules
351f379b
JR
551Summary(de.UTF-8): OSS Kernel Module
552Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 553Group: Base/Kernel
351f379b
JR
554Requires(postun): %{name} = %{epoch}:%{version}-%{release}
555Requires: %{name} = %{epoch}:%{version}-%{release}
556Obsoletes: kernel-smp-sound-oss
07ff8614 557AutoReqProv: no
a5585a68
AM
558
559%description sound-oss
560OSS (Open Sound System) drivers.
561
351f379b
JR
562%description sound-oss -l de.UTF-8
563OSS (Open Sound System) Treiber.
564
3a467bc1
JR
565%description sound-oss -l pl.UTF-8
566Sterowniki dźwięku OSS (Open Sound System).
a5585a68 567
a5585a68
AM
568%package headers
569Summary: Header files for the Linux kernel
351f379b
JR
570Summary(de.UTF-8): Header Dateien für den Linux-Kernel
571Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
572Group: Development/Building
573Provides: %{name}-headers(netfilter) = %{netfilter_snap}
07ff8614 574AutoReqProv: no
a5585a68
AM
575
576%description headers
577These are the C header files for the Linux kernel, which define
351f379b
JR
578structures and constants that are needed when rebuilding the kernel or
579building kernel modules.
580
581%description headers -l de.UTF-8
582Dies sind die C Header Dateien für den Linux-Kernel, die definierte
583Strukturen und Konstante beinhalten, die beim rekompilieren des
584Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 585
3a467bc1
JR
586%description headers -l pl.UTF-8
587Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
588oraz budowania modułów jądra.
a5585a68
AM
589
590%package module-build
591Summary: Development files for building kernel modules
351f379b
JR
592Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
593Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
594Group: Development/Building
a5585a68 595Requires: %{name}-headers = %{epoch}:%{version}-%{release}
fd19fa89 596Conflicts: rpmbuild(macros) < 1.550
07ff8614 597AutoReqProv: no
a5585a68
AM
598
599%description module-build
600Development files from kernel source tree needed to build Linux kernel
601modules from external packages.
602
351f379b
JR
603%description module-build -l de.UTF-8
604Development Dateien des Linux-Kernels die beim kompilieren externer
605Kernel Module gebraucht werden.
606
3a467bc1
JR
607%description module-build -l pl.UTF-8
608Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
609Linuksa z zewnętrznych pakietów.
a5585a68
AM
610
611%package source
612Summary: Kernel source tree
351f379b
JR
613Summary(de.UTF-8): Der Kernel Quelltext
614Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
615Group: Development/Building
a5585a68 616Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 617AutoReqProv: no
a5585a68
AM
618
619%description source
351f379b
JR
620This is the source code for the Linux kernel. You can build a custom
621kernel that is better tuned to your particular hardware.
a5585a68 622
3a467bc1
JR
623%description source -l de.UTF-8
624Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 625Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 626C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 627im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 628benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
629Hardware ausgerichtet ist.
630
3a467bc1 631%description source -l fr.UTF-8
a5585a68 632Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
633linux. Ces sources sont nécessaires pour compiler la plupart des
634programmes C, car il dépend de constantes définies dans le code
635source. Les sources peuvent être aussi utilisée pour compiler un noyau
636personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
637particuliers.
638
3a467bc1
JR
639%description source -l pl.UTF-8
640Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
641
642%package doc
643Summary: Kernel documentation
351f379b
JR
644Summary(de.UTF-8): Kernel Dokumentation
645Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
646Group: Documentation
07ff8614 647AutoReqProv: no
a5585a68
AM
648
649%description doc
650This is the documentation for the Linux kernel, as found in
651/usr/src/linux/Documentation directory.
652
351f379b
JR
653%description doc -l de.UTF-8
654Dies ist die Kernel Dokumentation wie sie im 'Documentation'
655Verzeichniss vorgefunden werden kann.
656
3a467bc1
JR
657%description doc -l pl.UTF-8
658Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
659/usr/src/linux/Documentation.
660
661%prep
351f379b
JR
662%setup -qc
663ln -s %{SOURCE7} kernel-module-build.pl
664ln -s %{SOURCE10} Makefile
665cd linux-%{basever}
a5585a68 666
351f379b 667# hack against warning in pax/grsec
351f379b 668sed -i 's/-Werror//' arch/alpha/kernel/Makefile
a5585a68 669
351f379b
JR
670%if "%{postver}" != "%{nil}"
671%{__bzip2} -dc %{SOURCE1} | patch -p1 -s
672%endif
a5585a68 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
a5585a68 684
351f379b
JR
685## netfilter
686#
a5585a68 687
351f379b
JR
688# kernel-pom-ng-IPV4OPTSSTRIP.patch
689%patch10 -p1
a5585a68 690
351f379b
JR
691# kernel-pom-ng-ipv4options.patch
692%patch11 -p1
a5585a68 693
351f379b
JR
694# kernel-pom-ng-mms-conntrack-nat.patch
695%patch16 -p1
a5585a68 696
351f379b
JR
697# kernel-pom-ng-rsh.patch
698%patch22 -p1
a5585a68 699
351f379b
JR
700# kernel-pom-ng-rpc.patch
701%patch23 -p1
a5585a68 702
351f379b
JR
703# kernel-nf_rtsp.patch
704%patch36 -p1
a5585a68 705
351f379b
JR
706# kernel-owner-xid.patch
707%if %{with vserver}
708%patch37 -p1
a5585a68 709%endif
a5585a68 710
351f379b
JR
711# kernel-layer7.patch
712%patch40 -p1
713
351f379b
JR
714##
715# end of netfilter
716
717# zph
718%patch49 -p1
719
720%if %{with imq}
721%patch50 -p1
a5585a68 722%endif
351f379b
JR
723
724# reiser4
725%if %{with reiser4}
726%patch51 -p1
a5585a68 727%endif
351f379b 728
351f379b 729# esfq
068b6c82
AM
730%if %{with esfq}
731%patch53 -p1
732%endif
351f379b
JR
733
734%if %{with wrr}
735%patch52 -p1
a5585a68 736%endif
351f379b
JR
737
738# toshiba_acpi
739%patch54 -p1
740
741%patch55 -p1
742%patch56 -p1
743
40bf088a
AM
744# squashfs lzma support
745%patch57 -p1
746
351f379b
JR
747# kernel-rndis_host-wm5.patch
748%patch59 -p1
749
750# hostap enhancements from/for aircrack-ng
751%patch85 -p1
752
351f379b
JR
753# vserver
754%if %{with vserver}
755%patch100 -p1
756%patch101 -p1
a5585a68 757%endif
351f379b 758
351f379b
JR
759# forcedeth
760%patch130 -p1
a5585a68 761
76b36ddb
ER
762%patch131 -p1
763
17da405a 764# aufs2
4f0767ce
JR
765%if %{with reiser4}
766%patch148 -p1
767%endif
20493b41
JR
768%patch145 -p1
769%patch146 -p1
770
771# unionfs
772%patch140 -p1
a5585a68 773
351f379b 774%patch2500 -p1
a5585a68 775
351f379b
JR
776%if %{with rescuecd}
777%patch7000 -p1
e981df17 778%endif
a5585a68 779
351f379b
JR
780# grsecurity & pax stuff
781#
351f379b 782
17da405a 783%if %{with grsecurity}
351f379b 784%patch9999 -p1
20493b41
JR
785# aufs2 needs to modify those pointers
786%patch147 -p1
351f379b
JR
787%{?with_vserver:%patch10000 -p1}
788%{?with_vserver:%patch10001 -p1}
789%{?with_vserver:%patch10002 -p1}
351f379b 790%endif
351f379b
JR
791#
792# end of grsecurity & pax stuff
793
df4db69a 794# apparmor
df4db69a 795%patch5000 -p1
df4db69a 796
54fd642e 797%patch250 -p1
798
351f379b
JR
799# routes
800%patch300 -p1
a5585a68 801
351f379b
JR
802# Small fixes:
803%patch2000 -p1
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
820KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
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
JR
983 important.config \
984%if %{with rescuecd}
985 %{SOURCE58} \
986 %{SOURCE59} \
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
JR
1017%endif
1018 %{SOURCE40} %{?0:netfilter} \
1019 %{SOURCE41} %{?0:patches} \
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*
1302%exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
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
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*
1366/lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
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.43034 seconds and 4 git commands to generate.