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