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