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