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