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