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