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