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