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