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