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