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