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