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