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