]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- update initrd and boot loaders in posttrans so modules like nouveau are
[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}
4dabe329 118%define rel 0.2
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
4dabe329 381%{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
351f379b 382Conflicts: reiserfsprogs < 3.6.3
4dabe329 383Conflicts: rpm < 4.4.2-0.2
351f379b
JR
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)
ded910ba 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
a5585a68
AM
556%package sound-alsa
557Summary: ALSA kernel modules
351f379b
JR
558Summary(de.UTF-8): ALSA Kernel Module
559Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 560Group: Base/Kernel
351f379b
JR
561Requires(postun): %{name} = %{epoch}:%{version}-%{release}
562Requires: %{name} = %{epoch}:%{version}-%{release}
563Obsoletes: kernel-smp-sound-alsa
07ff8614 564AutoReqProv: no
a5585a68
AM
565
566%description sound-alsa
567ALSA (Advanced Linux Sound Architecture) sound drivers.
568
351f379b
JR
569%description sound-alsa -l de.UTF-8
570ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
571
3a467bc1
JR
572%description sound-alsa -l pl.UTF-8
573Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68
AM
574
575%package sound-oss
576Summary: OSS kernel modules
351f379b
JR
577Summary(de.UTF-8): OSS Kernel Module
578Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 579Group: Base/Kernel
351f379b
JR
580Requires(postun): %{name} = %{epoch}:%{version}-%{release}
581Requires: %{name} = %{epoch}:%{version}-%{release}
582Obsoletes: kernel-smp-sound-oss
07ff8614 583AutoReqProv: no
a5585a68
AM
584
585%description sound-oss
586OSS (Open Sound System) drivers.
587
351f379b
JR
588%description sound-oss -l de.UTF-8
589OSS (Open Sound System) Treiber.
590
3a467bc1
JR
591%description sound-oss -l pl.UTF-8
592Sterowniki dźwięku OSS (Open Sound System).
a5585a68 593
a5585a68
AM
594%package headers
595Summary: Header files for the Linux kernel
351f379b
JR
596Summary(de.UTF-8): Header Dateien für den Linux-Kernel
597Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
598Group: Development/Building
599Provides: %{name}-headers(netfilter) = %{netfilter_snap}
07ff8614 600AutoReqProv: no
a5585a68
AM
601
602%description headers
603These are the C header files for the Linux kernel, which define
351f379b
JR
604structures and constants that are needed when rebuilding the kernel or
605building kernel modules.
606
607%description headers -l de.UTF-8
608Dies sind die C Header Dateien für den Linux-Kernel, die definierte
609Strukturen und Konstante beinhalten, die beim rekompilieren des
610Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 611
3a467bc1
JR
612%description headers -l pl.UTF-8
613Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
614oraz budowania modułów jądra.
a5585a68
AM
615
616%package module-build
617Summary: Development files for building kernel modules
351f379b
JR
618Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
619Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
620Group: Development/Building
a5585a68 621Requires: %{name}-headers = %{epoch}:%{version}-%{release}
dab0227f 622Conflicts: rpmbuild(macros) < 1.547
07ff8614 623AutoReqProv: no
a5585a68
AM
624
625%description module-build
626Development files from kernel source tree needed to build Linux kernel
627modules from external packages.
628
351f379b
JR
629%description module-build -l de.UTF-8
630Development Dateien des Linux-Kernels die beim kompilieren externer
631Kernel Module gebraucht werden.
632
3a467bc1
JR
633%description module-build -l pl.UTF-8
634Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
635Linuksa z zewnętrznych pakietów.
a5585a68
AM
636
637%package source
638Summary: Kernel source tree
351f379b
JR
639Summary(de.UTF-8): Der Kernel Quelltext
640Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
641Group: Development/Building
a5585a68 642Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 643AutoReqProv: no
a5585a68
AM
644
645%description source
351f379b
JR
646This is the source code for the Linux kernel. You can build a custom
647kernel that is better tuned to your particular hardware.
a5585a68 648
3a467bc1
JR
649%description source -l de.UTF-8
650Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 651Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 652C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 653im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 654benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
655Hardware ausgerichtet ist.
656
3a467bc1 657%description source -l fr.UTF-8
a5585a68 658Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
659linux. Ces sources sont nécessaires pour compiler la plupart des
660programmes C, car il dépend de constantes définies dans le code
661source. Les sources peuvent être aussi utilisée pour compiler un noyau
662personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
663particuliers.
664
3a467bc1
JR
665%description source -l pl.UTF-8
666Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
667
668%package doc
669Summary: Kernel documentation
351f379b
JR
670Summary(de.UTF-8): Kernel Dokumentation
671Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
672Group: Documentation
07ff8614 673AutoReqProv: no
a5585a68
AM
674
675%description doc
676This is the documentation for the Linux kernel, as found in
677/usr/src/linux/Documentation directory.
678
351f379b
JR
679%description doc -l de.UTF-8
680Dies ist die Kernel Dokumentation wie sie im 'Documentation'
681Verzeichniss vorgefunden werden kann.
682
3a467bc1
JR
683%description doc -l pl.UTF-8
684Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
685/usr/src/linux/Documentation.
686
687%prep
351f379b
JR
688%setup -qc
689ln -s %{SOURCE7} kernel-module-build.pl
690ln -s %{SOURCE10} Makefile
691cd linux-%{basever}
a5585a68 692
351f379b 693# hack against warning in pax/grsec
351f379b 694sed -i 's/-Werror//' arch/alpha/kernel/Makefile
a5585a68 695
351f379b
JR
696%if "%{postver}" != "%{nil}"
697%{__bzip2} -dc %{SOURCE1} | patch -p1 -s
698%endif
a5585a68 699
351f379b
JR
700# tuxonice:
701%if %{with tuxonice}
351f379b
JR
702%patch69 -p1
703%patch70 -p1
351f379b 704%endif
bf6838be 705
17da405a 706# tahoe9xx: 2.6.29 - need update
351f379b 707#%patch2 -p1
a5585a68 708
351f379b
JR
709%if %{with fbcondecor}
710%patch3 -p1
a5585a68 711%endif
351f379b 712%patch4 -p1
a5585a68 713
351f379b
JR
714## netfilter
715#
a5585a68 716
351f379b
JR
717# kernel-pom-ng-IPV4OPTSSTRIP.patch
718%patch10 -p1
a5585a68 719
351f379b
JR
720# kernel-pom-ng-ipv4options.patch
721%patch11 -p1
a5585a68 722
351f379b
JR
723# kernel-pom-ng-ROUTE.patch
724%patch14 -p1
a5585a68 725
351f379b
JR
726# kernel-pom-ng-mms-conntrack-nat.patch
727%patch16 -p1
a5585a68 728
351f379b
JR
729# kernel-pom-ng-rsh.patch
730%patch22 -p1
a5585a68 731
351f379b
JR
732# kernel-pom-ng-rpc.patch
733%patch23 -p1
a5585a68 734
351f379b
JR
735# kernel-nf_rtsp.patch
736%patch36 -p1
a5585a68 737
351f379b
JR
738# kernel-owner-xid.patch
739%if %{with vserver}
740%patch37 -p1
a5585a68 741%endif
a5585a68 742
351f379b
JR
743# kernel-ipt_account.patch
744%patch38 -p1
a5585a68 745
351f379b
JR
746# kernel-ipt_ACCOUNT.patch
747%patch39 -p1
748
749# kernel-layer7.patch
750%patch40 -p1
751
752# ipvs-nfct
753%patch41 -p1
754
755##
756# end of netfilter
757
758# zph
759%patch49 -p1
760
761%if %{with imq}
762%patch50 -p1
a5585a68 763%endif
351f379b
JR
764
765# reiser4
766%if %{with reiser4}
767%patch51 -p1
a5585a68 768%endif
351f379b 769
351f379b 770# esfq
068b6c82
AM
771%if %{with esfq}
772%patch53 -p1
773%endif
351f379b
JR
774
775%if %{with wrr}
776%patch52 -p1
a5585a68 777%endif
351f379b
JR
778
779# toshiba_acpi
780%patch54 -p1
781
782%patch55 -p1
783%patch56 -p1
784
351f379b
JR
785# kernel-rndis_host-wm5.patch
786%patch59 -p1
787
788# hostap enhancements from/for aircrack-ng
789%patch85 -p1
790
791# LSI MPT Fusion driver update (by LSI via SUSE folks)
9474138d
AM
792# FIXME!
793#%patch90 -p1
351f379b
JR
794
795# vserver
796%if %{with vserver}
797%patch100 -p1
798%patch101 -p1
a5585a68 799%endif
351f379b 800
351f379b
JR
801# forcedeth
802%patch130 -p1
a5585a68 803
62fff140 804# unionfs (problems with aufs2, needed for aufs1 patch)
aabc2ad2 805%if %{without rescuecd}
351f379b 806%patch140 -p1
aabc2ad2 807%endif
a5585a68 808
a899ef35 809%if %{with rescuecd}
17da405a 810# aufs2
a899ef35 811%patch148 -p1
812%else
62fff140 813# aufs1
814#patch145 -p1
815#patch146 -p1
a899ef35 816%endif
a5585a68 817
351f379b 818%patch2500 -p1
a5585a68 819
351f379b
JR
820%if %{with rescuecd}
821%patch7000 -p1
e981df17 822%endif
a5585a68 823
351f379b
JR
824# grsecurity & pax stuff
825#
351f379b 826
17da405a 827# remember that we have the same config file for grsec_minimal and
828# grsec_full, but the patches are different.
829
830%if %{with grsecurity}
831%if %{with grsec_minimal}
832%patch1000 -p1
833%else
834# grsec_full and/or pax
351f379b
JR
835%patch9999 -p1
836%{?with_vserver:%patch10000 -p1}
837%{?with_vserver:%patch10001 -p1}
838%{?with_vserver:%patch10002 -p1}
351f379b 839%endif
e981df17 840%endif
351f379b
JR
841#
842# end of grsecurity & pax stuff
843
df4db69a
AM
844# apparmor
845%if %{with apparmor}
846%patch5000 -p1
847%endif
848
7e46296a
AM
849# FIXME
850#%patch150 -p1
a11f3f79 851
25333f9b 852%patch160 -p1
f357b9a6 853%patch161 -p1
25333f9b 854
351f379b
JR
855%ifarch ppc ppc64
856#patch200 -p1
857%endif
a5585a68 858
351f379b
JR
859# routes
860%patch300 -p1
a5585a68 861
351f379b
JR
862# Small fixes:
863%patch2000 -p1
864%patch2001 -p1
865#%patch2003 -p1
a5585a68 866
351f379b
JR
867# Fix EXTRAVERSION in main Makefile
868sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
a5585a68 869
351f379b
JR
870# cleanup backups after patching
871find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
a5585a68 872
351f379b
JR
873%build
874install -d %{objdir}
875cat > %{targetobj}.mk <<'EOF'
876# generated by %{name}.spec
877KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{basever}
878KERNELOUTPUT := %{objdir}
879
880SRCARCH := %{target_arch_dir}
881ARCH := %{_target_base_arch}
882Q := %{!?with_verbose:@}
883MAKE_OPTS := %{MakeOpts}
884DEFCONFIG := %{defconfig}
885EOF
a5585a68 886
351f379b
JR
887PaXconfig() {
888 set -x
889 cat <<-EOCONFIG > $1
890 %ifarch %{ix86}
891 CONFIG_PAX_SEGMEXEC=y
892 # performance impact on CPUs without NX bit
893 CONFIG_PAX_PAGEEXEC=n
894 # Testing KERNEXEC
895
896 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
897 CONFIG_PCI_BIOS=n
898 CONFIG_EFI=n
899 %endif
a5585a68 900
351f379b
JR
901 %ifarch ppc64
902 CONFIG_PAX_NOELFRELOCS=n
903 %endif
904 %ifarch ppc
905 CONFIG_PAX_EMUTRAMP=y
906 CONFIG_PAX_EMUSIGRT=y
907 CONFIG_PAX_EMUPLT=y
908 %endif
a5585a68 909
351f379b
JR
910 %ifarch sparc sparc64 alpha
911 CONFIG_PAX_EMUPLT=y
912 %endif
a5585a68 913
351f379b
JR
914 # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
915 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
916 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
e69c45e8 917 # PAX_HOOK_ACL_FLAGS.
351f379b
JR
918
919 %if %{with grsec_full}
920 # Hardening grsec options if with pax
921 CONFIG_GRKERNSEC_PROC_MEMMAP=y
922 # almost rational (see HIDESYM help)
923 CONFIG_GRKERNSEC_HIDESYM=y
924
925 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
926 %else
351f379b
JR
927 CONFIG_PAX_HAVE_ACL_FLAGS=n
928 CONFIG_PAX_HOOK_ACL_FLAGS=y
929 %endif
930EOCONFIG
a5585a68 931
351f379b
JR
932 return 0
933}
a5585a68 934
351f379b
JR
935RescueConfig() {
936 set -x
937 cat <<-EOCONFIG > $1
938 # CONFIG_SOUND is not set
939 # CONFIG_AUDIT is not set
940 # CONFIG_TR is not set
941 # CONFIG_BT is not set
942 # CONFIG_VIDEO_DEV is not set
943 # CONFIG_DVB_CORE is not set
944 # CONFIG_HAMRADIO is not set
945 # CONFIG_ARCNET is not set
946 # CONFIG_FB is not set
947 # CONFIG_DRM is not set
948 # CONFIG_WATCHDOG is not set
949 # CONFIG_INPUT_JOYSTICK is not set
950 # CONFIG_DEBUG_KERNEL is not set
951 # CONFIG_ISDN is not set
952 # CONFIG_AGP is not set
953 # CONFIG_SECURITY is not set
954 # CONFIG_PARIDE is not set
955 # CONFIG_CPU_FREQ is not set
956 # CONFIG_GAMEPORT is not set
957 # CONFIG_KVM is not set
958 # CONFIG_PHONE is not set
dd55897d 959 # CONFIG_STRICT_DEVMEM is not set
6bab3a31 960 # CONFIG_IMA is not set
351f379b 961 CONFIG_AUFS=y
a899ef35 962 CONFIG_AUFS_FS=y
963 CONFIG_AUFS_BR_RAMFS=y
62fff140 964 CONFIG_AUFS_RDU=y
351f379b
JR
965 CONFIG_BLK_DEV_LOOP=y
966 CONFIG_ISO9660_FS=y
967 CONFIG_NLS_UTF8=y
968EOCONFIG
969
970 return 0
971}
a5585a68 972
351f379b
JR
973BuildConfig() {
974 %{?debug:set -x}
975 set -e
a5585a68 976
351f379b
JR
977 Config="kernel-%{target_arch_dir}.config"
978 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
a5585a68 979
351f379b
JR
980 # prepare local and important options
981 cat <<-EOCONFIG > important.config
982 LOCALVERSION="-%{localversion}"
fb4e3822 983
351f379b
JR
984%if 0%{?debug:1}
985 CONFIG_DEBUG_SLAB=y
986 CONFIG_DEBUG_SLAB_LEAK=y
987 CONFIG_DEBUG_PREEMPT=y
988 CONFIG_RT_DEADLOCK_DETECT=y
a5585a68 989%endif
351f379b 990
351f379b
JR
991# apparmor, will be moved to external file if works
992%if %{with apparmor}
993 CONFIG_SECURITY_APPARMOR=y
994 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
995 CONFIG_SECURITY_APPARMOR_DISABLE=n
4f0a2212 996 CONFIG_SECURITY_APPARMOR_NETWORK=y
351f379b 997%endif
a5585a68 998
351f379b
JR
999%if %{without ipv6}
1000 CONFIG_IPV6=n
1001%endif
a5585a68 1002
351f379b
JR
1003%ifarch i686 athlon pentium3 pentium4
1004 %if %{with pae}
1005 CONFIG_HIGHMEM4G=n
1006 CONFIG_HIGHMEM64G=y
1007 CONFIG_X86_PAE=y
7c99a84b 1008 CONFIG_NUMA=n
351f379b
JR
1009 %endif
1010%endif
a5585a68 1011
351f379b
JR
1012%if %{without pcmcia}
1013 CONFIG_PCMCIA=n
1014%endif
a5585a68 1015
351f379b
JR
1016%if %{with fbcondecor}
1017 CONFIG_FB_S3=n
1018 CONFIG_FB_VT8623=n
1019 CONFIG_FB_ARK=n
1020 CONFIG_FB_TILEBLITTING=n
1021 CONFIG_FB_CON_DECOR=y
1022%endif
a5585a68 1023
351f379b
JR
1024%if %{with nfsroot}
1025 CONFIG_NFS_FS=y
1026 CONFIG_ROOT_NFS=y
1027%endif
a5585a68 1028
351f379b
JR
1029# Temporary disabled RELOCATABLE. Needed only on x86??
1030%if %{with pax} || %{with grsec_full}
1031 CONFIG_RELOCATABLE=n
1032%endif
1033EOCONFIG
a5585a68 1034
351f379b
JR
1035%if %{with rescuecd}
1036 RescueConfig rescue.config
1037%endif
17da405a 1038%if %{with pax}
351f379b
JR
1039 PaXconfig pax.config
1040%endif
a5585a68 1041
351f379b
JR
1042 # prepare kernel-style config file from multiple config files
1043 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
101ae904 1044%if %{with myown}
1045 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
1046%endif
351f379b
JR
1047 important.config \
1048%if %{with rescuecd}
1049 %{SOURCE58} \
1050 %{SOURCE59} \
1051 rescue.config \
1052%endif
1053 \
17da405a 1054%if %{with pax}
351f379b
JR
1055 %{SOURCE45} \
1056 %{SOURCE49} \
1057 pax.config \
1058%else
1059 %if %{with grsec_full}
1060 %{SOURCE45} \
1061 %{SOURCE50} \
1062 %else
1063 %if %{with grsec_minimal}
1064 %{SOURCE51} \
1065 %endif
1066 %endif
351f379b
JR
1067%endif
1068 \
1069%if %{with reiser4}
1070 %{SOURCE56} \
1071%endif
1072%if %{with wrr}
1073 %{SOURCE57} \
1074%endif
1075%if %{with imq}
1076 %{SOURCE55} \
1077%endif
1078%if %{with vserver}
1079 %{SOURCE43} \
1080%endif
1081%if %{with tuxonice}
1082%ifarch %{ix86} %{x8664} ia64 ppc ppc64
1083 %{SOURCE42} \
1084%endif
351f379b
JR
1085%endif
1086 %{SOURCE40} %{?0:netfilter} \
1087 %{SOURCE41} %{?0:patches} \
1088 %{SOURCE20} \
1089 $RPM_SOURCE_DIR/$Config
1090}
a5585a68 1091
351f379b
JR
1092cd %{objdir}
1093install -d arch/%{target_arch_dir}
351f379b 1094BuildConfig > %{defconfig}
351f379b
JR
1095ln -sf %{defconfig} .config
1096cd -
a5585a68 1097
7856c5e8
AM
1098%{__make} \
1099 TARGETOBJ=%{targetobj} \
1100 %{?with_verbose:V=1} \
1101 oldconfig
a5585a68 1102
351f379b 1103%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
a5585a68 1104
351f379b 1105# build kernel
7856c5e8
AM
1106%{__make} \
1107 TARGETOBJ=%{targetobj} \
1108 %{?with_verbose:V=1} \
1109 all
a5585a68 1110
351f379b
JR
1111%install
1112rm -rf $RPM_BUILD_ROOT
1113%{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install firmware_install \
1114 -C %{objdir} \
1115 %{?with_verbose:V=1} \
1116 DEPMOD=%{DepMod} \
1117 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1118 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1119 KERNELRELEASE=%{kernel_release}
1120
1121install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1122
101ae904 1123# create directories which may be missing, to simplyfy %files
64d14572 1124install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
101ae904 1125
351f379b
JR
1126# rpm obeys filelinkto checks for ghosted symlinks, convert to files
1127rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1128touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1129
6d54bd67
ER
1130# no point embed content for %ghost files. empty them
1131for a in \
1132 dep{,.bin} \
1133 alias{,.bin} \
1134 symbols{,.bin} \
1135 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1136; do
09e63f4a 1137 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
6d54bd67
ER
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
4dabe329
ER
1243%posttrans
1244# generate initrd after all dependant modules are installed
351f379b
JR
1245/sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1246mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1247%{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1248ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1249%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1250
4dabe329 1251# update boot loaders when old package files are gone from filesystem
c5de1ad5 1252if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
4dabe329
ER
1253 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1254 /sbin/update-grub >/dev/null
c5de1ad5
ER
1255 fi
1256fi
351f379b
JR
1257if [ -x /sbin/new-kernel-pkg ]; then
1258 /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
1259fi
1260if [ -x /sbin/rc-boot ]; then
351f379b 1261 /sbin/rc-boot 1>&2 || :
a5585a68 1262fi
a5585a68 1263
351f379b
JR
1264%post vmlinux
1265mv -f /boot/vmlinux{,.old} 2> /dev/null
1266%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1267ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1268%{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1269
351f379b
JR
1270%post drm
1271%depmod %{kernel_release}
a5585a68 1272
351f379b
JR
1273%postun drm
1274%depmod %{kernel_release}
a5585a68 1275
351f379b
JR
1276%post pcmcia
1277%depmod %{kernel_release}
a5585a68 1278
351f379b
JR
1279%postun pcmcia
1280%depmod %{kernel_release}
a5585a68 1281
351f379b
JR
1282%post sound-alsa
1283%depmod %{kernel_release}
a5585a68 1284
351f379b
JR
1285%postun sound-alsa
1286%depmod %{kernel_release}
a5585a68 1287
351f379b
JR
1288%post sound-oss
1289%depmod %{kernel_release}
a5585a68 1290
351f379b
JR
1291%postun sound-oss
1292%depmod %{kernel_release}
a5585a68
AM
1293
1294%post headers
351f379b 1295ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1296
1297%postun headers
351f379b
JR
1298if [ "$1" = "0" ]; then
1299 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1300 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1301 rm -f %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1302 fi
1303 fi
1304fi
1305
351f379b
JR
1306%triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1307ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1308ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1309
1310%triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1311if [ "$1" = 0 ]; then
1312 rm -f /lib/modules/%{kernel_release}/{build,source}
1313fi
1314
a5585a68
AM
1315%files
1316%defattr(644,root,root,755)
a5585a68 1317%ifarch sparc sparc64
351f379b 1318/boot/vmlinux.aout-%{kernel_release}
a5585a68
AM
1319%endif
1320%ifarch ia64
351f379b
JR
1321/boot/efi/vmlinuz-%{kernel_release}
1322%endif
1323/boot/vmlinuz-%{kernel_release}
1324/boot/System.map-%{kernel_release}
1325%ghost %{initrd_dir}/initrd-%{kernel_release}.gz
ae1c66e5 1326/lib/firmware/%{kernel_release}
351f379b
JR
1327
1328%dir /lib/modules/%{kernel_release}
1329%dir /lib/modules/%{kernel_release}/kernel
351f379b 1330/lib/modules/%{kernel_release}/kernel/arch
351f379b
JR
1331/lib/modules/%{kernel_release}/kernel/crypto
1332/lib/modules/%{kernel_release}/kernel/drivers
101ae904 1333%if %{have_drm}
351f379b
JR
1334%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1335%endif
1336/lib/modules/%{kernel_release}/kernel/fs
351f379b 1337/lib/modules/%{kernel_release}/kernel/kernel
351f379b
JR
1338/lib/modules/%{kernel_release}/kernel/lib
1339/lib/modules/%{kernel_release}/kernel/net
fecce547 1340/lib/modules/%{kernel_release}/kernel/mm
101ae904 1341%if %{have_sound}
351f379b
JR
1342%dir /lib/modules/%{kernel_release}/kernel/sound
1343/lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1344/lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1345%ifnarch sparc
1346%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1347%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1348%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1349%endif
1350%endif
1351%dir /lib/modules/%{kernel_release}/misc
101ae904 1352%if %{have_pcmcia}
351f379b
JR
1353%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1354%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1355%exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1356%if %{without rescuecd}
1357%exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1358%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1359%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1360%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1361%exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1362%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1363%endif
1364%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1365%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1366%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1367%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1368%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1369%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1370%exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1371%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1372%endif
101ae904 1373%if %{with myown}
1374/lib/modules/%{kernel_release}/kernel/sound
1375%endif
6d54bd67
ER
1376
1377%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1378
1379# provided by build
1380/lib/modules/%{kernel_release}/modules.order
5ebe7534 1381/lib/modules/%{kernel_release}/modules.builtin
6d54bd67
ER
1382
1383# rest modules.* are ghost (regenerated by post depmod -a invocation)
1384%ghost /lib/modules/%{kernel_release}/modules.alias
1385%ghost /lib/modules/%{kernel_release}/modules.alias.bin
1386%ghost /lib/modules/%{kernel_release}/modules.ccwmap
1387%ghost /lib/modules/%{kernel_release}/modules.dep
1388%ghost /lib/modules/%{kernel_release}/modules.dep.bin
1389%ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1390%ghost /lib/modules/%{kernel_release}/modules.inputmap
1391%ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1392%ghost /lib/modules/%{kernel_release}/modules.ofmap
1393%ghost /lib/modules/%{kernel_release}/modules.pcimap
1394%ghost /lib/modules/%{kernel_release}/modules.seriomap
1395%ghost /lib/modules/%{kernel_release}/modules.symbols
1396%ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1397%ghost /lib/modules/%{kernel_release}/modules.usbmap
1398
351f379b
JR
1399# symlinks pointing to kernelsrcdir
1400%ghost /lib/modules/%{kernel_release}/build
1401%ghost /lib/modules/%{kernel_release}/source
351f379b 1402
351f379b
JR
1403%ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1404%files vmlinux
a5585a68 1405%defattr(644,root,root,755)
351f379b 1406/boot/vmlinux-%{kernel_release}
a5585a68
AM
1407%endif
1408
101ae904 1409%if %{have_drm}
351f379b 1410%files drm
a5585a68 1411%defattr(644,root,root,755)
351f379b 1412/lib/modules/%{kernel_release}/kernel/drivers/gpu
a5585a68
AM
1413%endif
1414
101ae904 1415%if %{have_pcmcia}
351f379b 1416%files pcmcia
a5585a68 1417%defattr(644,root,root,755)
351f379b
JR
1418/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1419/lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1420%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1421%if %{without rescuecd}
1422/lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1423/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1424/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1425/lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1426%endif
1427/lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1428/lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1429/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1430/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1431/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1432/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1433/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1434/lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1435/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1436%endif
1437
101ae904 1438%if %{have_sound}
351f379b 1439%files sound-alsa
a5585a68 1440%defattr(644,root,root,755)
351f379b
JR
1441/lib/modules/%{kernel_release}/kernel/sound
1442%exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1443%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1444%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1445%if %{have_oss}
1446%exclude /lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1447%endif
351f379b
JR
1448%ifnarch sparc
1449/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1450/lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1451/lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1452/lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
a5585a68
AM
1453%endif
1454
101ae904 1455%if %{have_oss}
351f379b 1456%files sound-oss
a5585a68 1457%defattr(644,root,root,755)
351f379b 1458/lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1459%endif
a5585a68
AM
1460%endif
1461
fecce547 1462%files headers -f files.headers_exclude_kbuild
a5585a68 1463%defattr(644,root,root,755)
30f08736 1464%dir %{_kernelsrcdir}
351f379b
JR
1465%{_kernelsrcdir}/include
1466%dir %{_kernelsrcdir}/arch
1467%dir %{_kernelsrcdir}/arch/[!K]*
1468%{_kernelsrcdir}/arch/*/include
1469%dir %{_kernelsrcdir}/security
1470%dir %{_kernelsrcdir}/security/selinux
1471%{_kernelsrcdir}/security/selinux/include
1472%{_kernelsrcdir}/config-dist
1473%{_kernelsrcdir}/Module.symvers-dist
1474
fecce547 1475%files module-build -f files.mb_include_modulebuild_and_dirs
a5585a68 1476%defattr(644,root,root,755)
351f379b
JR
1477%ifarch ppc ppc64
1478%{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1479%endif
fecce547 1480%exclude %dir %{_kernelsrcdir}/arch/m68knommu
1481%exclude %dir %{_kernelsrcdir}/arch/um
351f379b
JR
1482%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1483%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1484%{_kernelsrcdir}/drivers/lguest/lg.h
1485%{_kernelsrcdir}/kernel/bounds.c
1486%dir %{_kernelsrcdir}/scripts
351f379b
JR
1487%{_kernelsrcdir}/scripts/Kbuild.include
1488%{_kernelsrcdir}/scripts/Makefile*
1489%{_kernelsrcdir}/scripts/basic
960d2e94 1490%{_kernelsrcdir}/scripts/kconfig
1491%{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1492%{_kernelsrcdir}/scripts/mkmakefile
1493%{_kernelsrcdir}/scripts/mod
960d2e94 1494%{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1495%{_kernelsrcdir}/scripts/setlocalversion
1496%{_kernelsrcdir}/scripts/*.c
1497%{_kernelsrcdir}/scripts/*.sh
351f379b
JR
1498%dir %{_kernelsrcdir}/scripts/selinux
1499%{_kernelsrcdir}/scripts/selinux/Makefile
1500%dir %{_kernelsrcdir}/scripts/selinux/mdp
1501%{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1502%{_kernelsrcdir}/scripts/selinux/mdp/*.c
fecce547 1503%exclude %dir %{_kernelsrcdir}/security
1504%exclude %dir %{_kernelsrcdir}/security/selinux
a5585a68 1505
1848fd38 1506%if %{with doc}
a5585a68
AM
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
2ddc4ac9 1515%{_docdir}/%{name}-%{version}/kvm
d3a69071
ER
1516%lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1517%lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1518%lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1848fd38 1519%endif
a5585a68
AM
1520
1521%if %{with source}
fecce547 1522%files source -f files.source_exclude_modulebuild_and_dirs
a5585a68 1523%defattr(644,root,root,755)
351f379b
JR
1524%{_kernelsrcdir}/arch/*/[!Mik]*
1525%{_kernelsrcdir}/arch/*/kernel/[!M]*
1526%{_kernelsrcdir}/arch/ia64/ia32/[!M]*
1527%{_kernelsrcdir}/arch/ia64/install.sh
1528%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1529%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
fecce547 1530%{_kernelsrcdir}/arch/m68k/install.sh
351f379b
JR
1531%{_kernelsrcdir}/arch/parisc/install.sh
1532%{_kernelsrcdir}/arch/x86/ia32/[!M]*
1533%{_kernelsrcdir}/arch/ia64/kvm
1534%{_kernelsrcdir}/arch/powerpc/kvm
1535%ifarch ppc ppc64
1536%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1537%endif
1538%{_kernelsrcdir}/arch/s390/kvm
1539%{_kernelsrcdir}/arch/x86/kvm
1540%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1541%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1542%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1543%{_kernelsrcdir}/block
1544%{_kernelsrcdir}/crypto
1545%{_kernelsrcdir}/drivers
1546%{_kernelsrcdir}/firmware
1547%{_kernelsrcdir}/fs
1548%if %{with grsecurity} && %{without rescuecd}
1549%{_kernelsrcdir}/grsecurity
1550%endif
1551%{_kernelsrcdir}/init
1552%{_kernelsrcdir}/ipc
1553%{_kernelsrcdir}/kernel
1554%exclude %{_kernelsrcdir}/kernel/bounds.c
1555%{_kernelsrcdir}/lib
1556%{_kernelsrcdir}/mm
1557%{_kernelsrcdir}/net
1558%{_kernelsrcdir}/virt
1559%{_kernelsrcdir}/samples
1560%{_kernelsrcdir}/scripts/*
1561%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1562%exclude %{_kernelsrcdir}/scripts/Makefile*
1563%exclude %{_kernelsrcdir}/scripts/basic
1564%exclude %{_kernelsrcdir}/scripts/kconfig
960d2e94 1565%exclude %{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1566%exclude %{_kernelsrcdir}/scripts/mkmakefile
1567%exclude %{_kernelsrcdir}/scripts/mod
960d2e94 1568%exclude %{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1569%exclude %{_kernelsrcdir}/scripts/setlocalversion
1570%exclude %{_kernelsrcdir}/scripts/*.c
1571%exclude %{_kernelsrcdir}/scripts/*.sh
960d2e94 1572%exclude %dir %{_kernelsrcdir}/scripts/selinux
1573%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1574%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1575%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1576%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
351f379b
JR
1577%{_kernelsrcdir}/sound
1578%{_kernelsrcdir}/security
1579%exclude %{_kernelsrcdir}/security/selinux/include
fecce547 1580%{_kernelsrcdir}/tools
351f379b
JR
1581%{_kernelsrcdir}/usr
1582%{_kernelsrcdir}/COPYING
1583%{_kernelsrcdir}/CREDITS
1584%{_kernelsrcdir}/MAINTAINERS
1585%{_kernelsrcdir}/README
1586%{_kernelsrcdir}/REPORTING-BUGS
a5585a68 1587%endif
This page took 0.528196 seconds and 4 git commands to generate.