]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- up md5 so it can chance to be fetched from gitweb cache
[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
4a32f3c8 92%define rel 1
42d62c0a 93%define basever 3.5
4a32f3c8 94%define postver .7
993e46a3 95%define ubver .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}
1401be4b 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}
993e46a3 129Version: %{basever}%{postver}%{ubver}
351f379b 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
42d62c0a 135# Source0-md5: 24153eaaa81dedc9481ada8cd9c3b83d
4d8c31dd 136%if "%{postver}" != ".0"
993e46a3 137Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{basever}%{postver}.bz2
4a32f3c8 138# Patch0-md5: f908f8c222cf4a1988b8bf180df46bb2
351f379b 139%endif
993e46a3
AM
140%if "%{ubver}" != ""
141Patch1: http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=commitdiff_plain;hp=v%{basever}%{postver};h=v%{basever}%{postver}%{ubver};/v%{basever}%{postver}%{ubver}.patch
363b124a 142# Patch1-md5: 9a16e9711c056a78f22001a2ce7f8ae4
993e46a3 143%endif
351f379b
JR
144
145Source3: kernel-autoconf.h
146Source4: kernel-config.h
351f379b
JR
147Source6: kernel-config.awk
148Source7: kernel-module-build.pl
149Source8: kernel-track-config-change.awk
150# not used by kernel.spec, but it's good to have it in SOURCES
151Source9: kernel-config-sort.pl
152Source10: kernel.make
153
154Source20: kernel-multiarch.config
155Source21: kernel-x86.config
156Source22: kernel-sparc.config
5a99ae3d 157Source23: kernel-alpha.config
158Source24: kernel-powerpc.config
159Source25: kernel-ia64.config
351f379b 160
351f379b 161Source41: kernel-patches.config
351f379b
JR
162Source43: kernel-vserver.config
163Source45: kernel-grsec.config
164
165Source49: kernel-pax.config
166Source50: kernel-no-pax.config
351f379b
JR
167Source55: kernel-imq.config
168Source56: kernel-reiser4.config
351f379b
JR
169
170Source58: kernel-inittmpfs.config
351f379b 171
351f379b
JR
172# http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
173Patch3: kernel-fbcondecor.patch
60bb736d 174Patch4: kernel-fbcon-margins.patch
1414594b 175Patch5: linux-wistron-amilo8210.patch
351f379b
JR
176
177# netfilter related stuff mostly based on patch-o-matic-ng
17da405a 178# snapshot 20070806 with some fixes. Some modules
e69c45e8 179# were ported to nf_conntrack.
351f379b
JR
180
181Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
351f379b 182
351f379b
JR
183Patch16: kernel-pom-ng-mms-conntrack-nat.patch
184Patch22: kernel-pom-ng-rsh.patch
185Patch23: kernel-pom-ng-rpc.patch
186
351f379b
JR
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
351f379b 205# http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
60bb736d 206Patch53: kernel-esfq.patch
351f379b 207
351f379b
JR
208# by Baggins request:
209# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
60bb736d
JR
210Patch55: kernel-atm-vbr.patch
211Patch56: kernel-atmdd.patch
351f379b 212
351f379b
JR
213# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
214Patch59: kernel-rndis_host-wm5.patch
215
351f379b
JR
216# adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
217# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
60bb736d 218Patch85: kernel-hostap.patch
351f379b 219
a5ed4567 220# http://vserver.13thfloor.at/Experimental/patch-3.5.4-vs2.3.4.3.diff
01d3b055 221Patch100: kernel-vserver-2.3.patch
351f379b
JR
222Patch101: kernel-vserver-fixes.patch
223
92d182d2 224# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.11_for_3.3.0-rc3.diff.gz
351f379b 225Patch140: kernel-unionfs.patch
351f379b 226
53392da6 227# git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
b752ccd1 228# Patch creation:
53392da6
AM
229# git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
230# cd aufs3-standalone
2dfbb274 231# git checkout -b aufs3.5 origin/aufs3.5
53392da6 232# cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
b752ccd1
AM
233# mkdir linux
234# cp -a Documentation fs include linux
d14e0f73 235# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
7ce627cf 236# drop hunk at the end of patch (hunk is patching include/linux/Kbuild with single line change)
0c5527e5 237#
53392da6 238Patch145: kernel-aufs3.patch
20493b41 239Patch146: kernel-aufs2-unionfs.patch
52daa4ad 240Patch147: kernel-aufs2-no-const-grsec.patch
4f0767ce 241Patch148: kernel-aufs2-reiser4.patch
a899ef35 242
54fd642e 243# Show normal colors in menuconfig with ncurses ABI 6
244Patch250: kernel-fix_256colors_menuconfig.patch
245
31f62932
AM
246# https://patchwork.kernel.org/patch/236261/
247Patch400: kernel-virtio-gl-accel.patch
248
08aa9d92 249Patch2000: kernel-small_fixes.patch
60bb736d 250Patch2001: kernel-pwc-uncompress.patch
351f379b
JR
251Patch2003: kernel-regressions.patch
252
5b68dcbd
AM
253# update aacraid from 3.6 kernel (series 7 support)
254Patch3000: kernel-aacraid.patch
255
2dfbb274 256# http://git.kernel.org/?p=linux/kernel/git/jj/linux-apparmor.git;a=shortlog;h=refs/heads/v3.5-aa2.8
351f379b 257Patch5000: kernel-apparmor.patch
351f379b
JR
258
259# for rescuecd
48ead238 260# based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
351f379b
JR
261Patch7000: kernel-inittmpfs.patch
262
72d8db2c 263# based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.1.1-201111181902.patch
4a6985f1
AM
264# NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
265# (since upstream deletes older patches)
f719d6cb
AM
266# NOTE: mirror of old grsecurity patches:
267# https://github.com/slashbeast/grsecurity-scrape/tree/master/test
60bb736d
JR
268Patch9999: kernel-grsec_full.patch
269Patch10000: kernel-grsec-caps.patch
270Patch10001: kernel-grsec-common.patch
351f379b 271Patch10002: kernel-grsec_fixes.patch
bf6838be 272
73cc1c57 273# Do not remove this line, please. It is easier for me to uncomment two lines, then patch
274# kernel.spec every time.
275#Patch50000: kernel-usb_reset.patch
276
a5585a68 277URL: http://www.kernel.org/
351f379b 278BuildRequires: binutils >= 3:2.18
a5585a68
AM
279%ifarch sparc sparc64
280BuildRequires: elftoaout
281%endif
351f379b
JR
282%ifarch ppc
283BuildRequires: uboot-mkimage
284%endif
351f379b
JR
285BuildRequires: /sbin/depmod
286BuildRequires: gcc >= 5:3.2
cfce203c 287BuildRequires: xz >= 1:4.999.7
e69c45e8 288AutoReqProv: no
d80d232c 289BuildRequires: hostname
8fe4cdc5 290BuildRequires: virtual(module-tools)
a5585a68 291BuildRequires: perl-base
b488384f 292BuildRequires: rpm-build >= 4.5-24
7b6fa769 293BuildRequires: rpmbuild(macros) >= 1.652
351f379b
JR
294Requires(post): coreutils
295Requires(post): geninitrd >= 10000-3
8fe4cdc5 296Requires(post): virtual(module-tools)
351f379b
JR
297Requires: /sbin/depmod
298Requires: coreutils
299Requires: geninitrd >= 10000-3
8fe4cdc5 300Requires: virtual(module-tools)
bacfcd36
AM
301%if %{with pae}
302%ifarch i686 athlon pentium3 pentium4
303Requires: cpuinfo(pae)
304%endif
305%endif
54f0effc 306Suggests: dracut
b75546f3 307Suggests: keyutils
af560d0f 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
af560d0f 331Conflicts: linux-firmware < 20120720
cf8de22f 332Conflicts: lvm2 < 2.02.40
8fe4cdc5 333Conflicts: module-init-tools < 3.16
351f379b
JR
334Conflicts: nfs-utils < 1.0.5
335Conflicts: oprofile < 0.9
336Conflicts: ppp < 1:2.4.0
337Conflicts: procps < 3.2.0
338Conflicts: quota-tools < 3.09
4dabe329 339%{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
351f379b 340Conflicts: reiserfsprogs < 3.6.3
4dabe329 341Conflicts: rpm < 4.4.2-0.2
351f379b
JR
342Conflicts: udev < 1:081
343Conflicts: util-linux < 2.10o
d3c4e01e 344Conflicts: util-vserver < 0.30.216
351f379b 345Conflicts: xfsprogs < 2.6.0
351f379b 346ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
a5585a68
AM
347ExclusiveOS: Linux
348BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
349
351f379b
JR
350%ifarch %{ix86} %{x8664}
351%define target_arch_dir x86
352%endif
353%ifarch ppc ppc64
354%define target_arch_dir powerpc
355%endif
5a99ae3d 356%ifarch sparc sparc64
357%define target_arch_dir sparc
358%endif
359%ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
351f379b
JR
360%define target_arch_dir %{_target_base_arch}
361%endif
362
363%define defconfig arch/%{target_arch_dir}/defconfig
364
365# No ELF objects there to strip (skips processing 27k files)
ded910ba 366%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
351f379b 367%define _noautochrpath .*%{_kernelsrcdir}/.*
b36a2f6d 368%define _enable_debug_packages 0
351f379b 369
a5585a68
AM
370%ifarch ia64
371%define initrd_dir /boot/efi
372%else
373%define initrd_dir /boot
374%endif
375
351f379b 376%define topdir %{_builddir}/%{name}-%{version}
67d87e28 377%define srcdir %{topdir}/linux-%{basever}
351f379b
JR
378%define objdir %{topdir}/%{targetobj}
379%define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
380
1fb73fcf 381%define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
351f379b 382
7b6fa769 383%if "%{_target_base_arch}" != "%{_host_base_arch}"
351f379b
JR
384 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
385 %define DepMod /bin/true
386
7b6fa769 387 %if "%{_host_base_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
351f379b
JR
388 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
389 %define DepMod /sbin/depmod
390 %endif
391
7b6fa769 392 %if "%{_host_base_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
351f379b
JR
393 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
394 %define DepMod /sbin/depmod
395 %endif
396
7b6fa769 397 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
351f379b
JR
398 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
399 %define DepMod /sbin/depmod
400 %endif
401
5a99ae3d 402 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
351f379b
JR
403 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
404 %endif
405%else
406 %ifarch ppc ppc64
407 %define CrossOpts ARCH=powerpc CC="%{__cc}"
408 %else
409 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
410 %endif
411 %define DepMod /sbin/depmod
412%endif
413%define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
414
52e5f3df 415%define __features \
15a064bf 416%{?with_grsecurity:Grsecurity support - enabled}\
351f379b
JR
417%{?with_pax:PaX support - enabled}\
418%{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
419%{?with_nfsroot:Root on NFS - enabled}\
351f379b
JR
420
421%define Features %(echo "%{__features}" | sed '/^$/d')
422
a5585a68
AM
423%description
424This package contains the Linux kernel that is used to boot and run
425your system. It contains few device drivers for specific hardware.
426Most hardware is instead supported by modules loaded after booting.
427
351f379b
JR
428%{Features}
429
3a467bc1
JR
430%description -l de.UTF-8
431Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
432Linux-Betriebssystems. Der Kernel ist für grundliegende
a5585a68 433Systemfunktionen verantwortlich: Speicherreservierung,
3a467bc1 434Prozeß-Management, Geräte Ein- und Ausgaben, usw.
a5585a68 435
351f379b
JR
436%{Features}
437
3a467bc1 438%description -l fr.UTF-8
a5585a68 439Le package kernel contient le kernel linux (vmlinuz), la partie
3a467bc1
JR
440centrale d'un système d'exploitation Linux. Le noyau traite les
441fonctions basiques d'un système d'exploitation: allocation mémoire,
442allocation de process, entrée/sortie de peripheriques, etc.
a5585a68 443
351f379b
JR
444%{Features}
445
3a467bc1
JR
446%description -l pl.UTF-8
447Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
448Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
449się w komputerze, takiego jak sterowniki dysków itp.
a5585a68 450
351f379b
JR
451%{Features}
452
453%package vmlinux
454Summary: vmlinux - uncompressed kernel image
455Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
456Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
457Group: Base/Kernel
458Obsoletes: kernel-smp-vmlinux
459
460%description vmlinux
461vmlinux - uncompressed kernel image.
462
463%description vmlinux -l de.UTF-8
464vmlinux - dekompressiertes Kernel Bild.
465
466%description vmlinux -l pl.UTF-8
467vmlinux - rozpakowany obraz jądra.
468
a5585a68
AM
469%package drm
470Summary: DRM kernel modules
351f379b
JR
471Summary(de.UTF-8): DRM Kernel Treiber
472Summary(pl.UTF-8): Sterowniki DRM
a5585a68 473Group: Base/Kernel
351f379b
JR
474Requires(postun): %{name} = %{epoch}:%{version}-%{release}
475Requires: %{name} = %{epoch}:%{version}-%{release}
476Obsoletes: kernel-smp-drm
07ff8614 477AutoReqProv: no
a5585a68
AM
478
479%description drm
351f379b
JR
480DRM kernel modules.
481
482%description drm -l de.UTF-8
483DRM Kernel Treiber.
a5585a68 484
3a467bc1 485%description drm -l pl.UTF-8
351f379b 486Sterowniki DRM.
a5585a68
AM
487
488%package pcmcia
489Summary: PCMCIA modules
351f379b
JR
490Summary(de.UTF-8): PCMCIA Module
491Summary(pl.UTF-8): Moduły PCMCIA
a5585a68 492Group: Base/Kernel
351f379b
JR
493Requires(postun): %{name} = %{epoch}:%{version}-%{release}
494Requires: %{name} = %{epoch}:%{version}-%{release}
495Obsoletes: kernel-smp-pcmcia
496Conflicts: pcmcia-cs < 3.1.21
497Conflicts: pcmciautils < 004
07ff8614 498AutoReqProv: no
a5585a68
AM
499
500%description pcmcia
351f379b
JR
501PCMCIA modules.
502
503%description pcmcia -l de.UTF-8
504PCMCIA Module.
a5585a68 505
3a467bc1 506%description pcmcia -l pl.UTF-8
351f379b
JR
507Moduły PCMCIA.
508
a5585a68
AM
509%package sound-alsa
510Summary: ALSA kernel modules
351f379b
JR
511Summary(de.UTF-8): ALSA Kernel Module
512Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 513Group: Base/Kernel
351f379b
JR
514Requires(postun): %{name} = %{epoch}:%{version}-%{release}
515Requires: %{name} = %{epoch}:%{version}-%{release}
516Obsoletes: kernel-smp-sound-alsa
07ff8614 517AutoReqProv: no
a5585a68
AM
518
519%description sound-alsa
520ALSA (Advanced Linux Sound Architecture) sound drivers.
521
351f379b
JR
522%description sound-alsa -l de.UTF-8
523ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
524
3a467bc1
JR
525%description sound-alsa -l pl.UTF-8
526Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68
AM
527
528%package sound-oss
529Summary: OSS kernel modules
351f379b
JR
530Summary(de.UTF-8): OSS Kernel Module
531Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 532Group: Base/Kernel
351f379b
JR
533Requires(postun): %{name} = %{epoch}:%{version}-%{release}
534Requires: %{name} = %{epoch}:%{version}-%{release}
535Obsoletes: kernel-smp-sound-oss
07ff8614 536AutoReqProv: no
a5585a68
AM
537
538%description sound-oss
539OSS (Open Sound System) drivers.
540
351f379b
JR
541%description sound-oss -l de.UTF-8
542OSS (Open Sound System) Treiber.
543
3a467bc1
JR
544%description sound-oss -l pl.UTF-8
545Sterowniki dźwięku OSS (Open Sound System).
a5585a68 546
a5585a68
AM
547%package headers
548Summary: Header files for the Linux kernel
351f379b
JR
549Summary(de.UTF-8): Header Dateien für den Linux-Kernel
550Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
551Group: Development/Building
52e5f3df 552Provides: %{name}-headers(netfilter) = 20070806
07ff8614 553AutoReqProv: no
a5585a68
AM
554
555%description headers
556These are the C header files for the Linux kernel, which define
351f379b
JR
557structures and constants that are needed when rebuilding the kernel or
558building kernel modules.
559
560%description headers -l de.UTF-8
561Dies sind die C Header Dateien für den Linux-Kernel, die definierte
562Strukturen und Konstante beinhalten, die beim rekompilieren des
563Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 564
3a467bc1
JR
565%description headers -l pl.UTF-8
566Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
567oraz budowania modułów jądra.
a5585a68
AM
568
569%package module-build
570Summary: Development files for building kernel modules
351f379b
JR
571Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
572Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
573Group: Development/Building
a5585a68 574Requires: %{name}-headers = %{epoch}:%{version}-%{release}
7b6fa769 575Conflicts: rpmbuild(macros) < 1.652
07ff8614 576AutoReqProv: no
a5585a68
AM
577
578%description module-build
579Development files from kernel source tree needed to build Linux kernel
580modules from external packages.
581
351f379b
JR
582%description module-build -l de.UTF-8
583Development Dateien des Linux-Kernels die beim kompilieren externer
584Kernel Module gebraucht werden.
585
3a467bc1
JR
586%description module-build -l pl.UTF-8
587Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
588Linuksa z zewnętrznych pakietów.
a5585a68
AM
589
590%package source
591Summary: Kernel source tree
351f379b
JR
592Summary(de.UTF-8): Der Kernel Quelltext
593Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
594Group: Development/Building
a5585a68 595Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 596AutoReqProv: no
a5585a68
AM
597
598%description source
351f379b
JR
599This is the source code for the Linux kernel. You can build a custom
600kernel that is better tuned to your particular hardware.
a5585a68 601
3a467bc1
JR
602%description source -l de.UTF-8
603Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 604Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 605C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 606im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 607benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
608Hardware ausgerichtet ist.
609
3a467bc1 610%description source -l fr.UTF-8
a5585a68 611Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
612linux. Ces sources sont nécessaires pour compiler la plupart des
613programmes C, car il dépend de constantes définies dans le code
614source. Les sources peuvent être aussi utilisée pour compiler un noyau
615personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
616particuliers.
617
3a467bc1
JR
618%description source -l pl.UTF-8
619Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
620
621%package doc
622Summary: Kernel documentation
351f379b
JR
623Summary(de.UTF-8): Kernel Dokumentation
624Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
625Group: Documentation
07ff8614 626AutoReqProv: no
a5585a68
AM
627
628%description doc
629This is the documentation for the Linux kernel, as found in
630/usr/src/linux/Documentation directory.
631
351f379b
JR
632%description doc -l de.UTF-8
633Dies ist die Kernel Dokumentation wie sie im 'Documentation'
634Verzeichniss vorgefunden werden kann.
635
3a467bc1
JR
636%description doc -l pl.UTF-8
637Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
638/usr/src/linux/Documentation.
639
640%prep
351f379b
JR
641%setup -qc
642ln -s %{SOURCE7} kernel-module-build.pl
643ln -s %{SOURCE10} Makefile
67d87e28 644cd linux-%{basever}
a5585a68 645
351f379b 646# hack against warning in pax/grsec
351f379b 647sed -i 's/-Werror//' arch/alpha/kernel/Makefile
a5585a68 648
c6897157 649
1c5b0f0a 650%if "%{postver}" != ".0"
c6897157 651%patch0 -p1
351f379b 652%endif
993e46a3
AM
653%if "%{ubver}" != ""
654%patch1 -p1
655%endif
a5585a68 656
7141a3b6 657%if %{without vanilla}
658
351f379b
JR
659%if %{with fbcondecor}
660%patch3 -p1
a5585a68 661%endif
351f379b 662%patch4 -p1
1414594b 663%patch5 -p1
a5585a68 664
351f379b
JR
665## netfilter
666#
a5585a68 667
351f379b
JR
668# kernel-pom-ng-IPV4OPTSSTRIP.patch
669%patch10 -p1
a5585a68 670
351f379b
JR
671# kernel-pom-ng-mms-conntrack-nat.patch
672%patch16 -p1
a5585a68 673
351f379b
JR
674# kernel-pom-ng-rsh.patch
675%patch22 -p1
a5585a68 676
351f379b
JR
677# kernel-pom-ng-rpc.patch
678%patch23 -p1
a5585a68 679
351f379b
JR
680# kernel-owner-xid.patch
681%if %{with vserver}
682%patch37 -p1
a5585a68 683%endif
a5585a68 684
351f379b
JR
685# kernel-layer7.patch
686%patch40 -p1
687
351f379b
JR
688##
689# end of netfilter
690
691# zph
692%patch49 -p1
693
694%if %{with imq}
695%patch50 -p1
a5585a68 696%endif
351f379b
JR
697
698# reiser4
699%if %{with reiser4}
700%patch51 -p1
a5585a68 701%endif
351f379b 702
351f379b 703# esfq
068b6c82
AM
704%if %{with esfq}
705%patch53 -p1
706%endif
351f379b 707
351f379b
JR
708%patch55 -p1
709%patch56 -p1
710
351f379b
JR
711# kernel-rndis_host-wm5.patch
712%patch59 -p1
713
714# hostap enhancements from/for aircrack-ng
715%patch85 -p1
716
351f379b
JR
717# vserver
718%if %{with vserver}
719%patch100 -p1
720%patch101 -p1
a5585a68 721%endif
351f379b 722
7ce627cf 723# aufs3
4f0767ce
JR
724%if %{with reiser4}
725%patch148 -p1
726%endif
20493b41
JR
727%patch145 -p1
728%patch146 -p1
729
730# unionfs
731%patch140 -p1
a5585a68 732
351f379b
JR
733%if %{with rescuecd}
734%patch7000 -p1
e981df17 735%endif
a5585a68 736
351f379b
JR
737# grsecurity & pax stuff
738#
17da405a 739%if %{with grsecurity}
b39782e3 740exit 0
b2fd5bd8 741%patch9999 -p1
52daa4ad 742# aufs needs this
285f3774 743%patch147 -p1
b2fd5bd8
JR
744%{?with_vserver:%patch10000 -p1}
745%{?with_vserver:%patch10001 -p1}
746%{?with_vserver:%patch10002 -p1}
351f379b 747%endif
351f379b
JR
748#
749# end of grsecurity & pax stuff
750
5b68dcbd
AM
751# aacraid
752%patch3000 -p1
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!
5d3a3ea2 770#%%patch50000 -p1
73cc1c57 771
351f379b 772# Fix EXTRAVERSION in main Makefile
7a8dfe5c 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
351f379b
JR
939 # prepare kernel-style config file from multiple config files
940 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
101ae904 941%if %{with myown}
942 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
943%endif
351f379b 944 important.config \
7141a3b6 945%if %{without vanilla}
351f379b
JR
946%if %{with rescuecd}
947 %{SOURCE58} \
351f379b
JR
948 rescue.config \
949%endif
950 \
17da405a 951%if %{with pax}
351f379b
JR
952 %{SOURCE45} \
953 %{SOURCE49} \
954 pax.config \
955%else
15a064bf 956 %if %{with grsecurity}
351f379b
JR
957 %{SOURCE45} \
958 %{SOURCE50} \
351f379b 959 %endif
351f379b
JR
960%endif
961 \
962%if %{with reiser4}
963 %{SOURCE56} \
964%endif
351f379b
JR
965%if %{with imq}
966 %{SOURCE55} \
967%endif
968%if %{with vserver}
969 %{SOURCE43} \
351f379b 970%endif
351f379b 971 %{SOURCE41} %{?0:patches} \
7141a3b6 972%endif
351f379b
JR
973 %{SOURCE20} \
974 $RPM_SOURCE_DIR/$Config
975}
a5585a68 976
351f379b
JR
977cd %{objdir}
978install -d arch/%{target_arch_dir}
351f379b 979BuildConfig > %{defconfig}
351f379b
JR
980ln -sf %{defconfig} .config
981cd -
a5585a68 982
7856c5e8
AM
983%{__make} \
984 TARGETOBJ=%{targetobj} \
985 %{?with_verbose:V=1} \
986 oldconfig
a5585a68 987
351f379b 988%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
a5585a68 989
351f379b 990# build kernel
7856c5e8
AM
991%{__make} \
992 TARGETOBJ=%{targetobj} \
993 %{?with_verbose:V=1} \
994 all
a5585a68 995
351f379b
JR
996%install
997rm -rf $RPM_BUILD_ROOT
4505b6c5 998%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
351f379b
JR
999 -C %{objdir} \
1000 %{?with_verbose:V=1} \
1001 DEPMOD=%{DepMod} \
1002 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1003 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1004 KERNELRELEASE=%{kernel_release}
1005
1006install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1007
101ae904 1008# create directories which may be missing, to simplyfy %files
64d14572 1009install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
101ae904 1010
351f379b
JR
1011# rpm obeys filelinkto checks for ghosted symlinks, convert to files
1012rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1013touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1014
6d54bd67
ER
1015# no point embed content for %ghost files. empty them
1016for a in \
1017 dep{,.bin} \
1018 alias{,.bin} \
8ee3ac38
AM
1019 devname \
1020 softdep \
6d54bd67
ER
1021 symbols{,.bin} \
1022 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1023; do
09e63f4a 1024 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
6d54bd67
ER
1025 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1026done
1027
351f379b
JR
1028# /boot
1029install -d $RPM_BUILD_ROOT/boot
1030cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1031%ifarch %{ix86} %{x8664}
1db9a2c1
ER
1032 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1033 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
351f379b
JR
1034%endif
1035%ifarch ppc ppc64
1db9a2c1
ER
1036 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1037 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
a5585a68 1038%endif
a5585a68 1039%ifarch ia64
1db9a2c1
ER
1040 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1041 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1042 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
351f379b
JR
1043%endif
1044%ifarch alpha sparc sparc64
1045 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1046 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1db9a2c1
ER
1047 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1048 %ifarch sparc
1049 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1050 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1051 %endif
1052 %ifarch sparc64
1053 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1054 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1055 %endif
351f379b
JR
1056%endif
1057%ifarch arm
1db9a2c1 1058 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
a5585a68 1059%endif
a5585a68 1060
351f379b
JR
1061# ghosted initrd
1062touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1a30aaa8 1063touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
a5585a68 1064
7b6fa769 1065%if "%{_target_base_arch}" != "%{_host_base_arch}"
351f379b
JR
1066touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1067%endif
a5585a68 1068
351f379b
JR
1069# /etc/modrobe.d
1070install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
a5585a68 1071
351f379b 1072# /usr/src/linux
82833fcc
AM
1073install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1074
351f379b
JR
1075# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1076if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1077 l=l
1078 rm -f $RPM_BUILD_ROOT/COPYING
a5585a68 1079fi
a5585a68 1080
351f379b 1081cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
29564a2e
JR
1082cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
1083cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
1084cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
c122bff4
AM
1085# copy arch/x86/include/generated
1086for dir in $(cd %{objdir} && find arch -name generated -type d); do
1087 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
1088 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
1089done
351f379b 1090
4217a9ad
JR
1091# disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
1092%{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
1093
351f379b
JR
1094# collect module-build files and directories
1095# Usage: kernel-module-build.pl $rpmdir $fileoutdir
1096fileoutdir=$(pwd)
1097cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1098%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1099cd -
1100
29564a2e
JR
1101for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
1102 ff=${f##%{objdir}/}
1103 if [ -x "$f" ]; then
1104 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1105 else
1106 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1107 fi
1108 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
1109 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
1110done
1111
30f08736
ER
1112# move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1113install -d $RPM_BUILD_ROOT%{_docdir}
1114mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1115
d3a69071
ER
1116rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1117rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1118rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1119rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1120
351f379b
JR
1121%clean
1122rm -rf $RPM_BUILD_ROOT
1123
1124%preun
1125if [ -x /sbin/new-kernel-pkg ]; then
1126 /sbin/new-kernel-pkg --remove %{kernel_release}
a5585a68 1127fi
351f379b
JR
1128
1129%post
1130%ifarch ia64
1131mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1fb73fcf 1132%{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
351f379b 1133ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1fb73fcf 1134%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
351f379b
JR
1135%endif
1136mv -f /boot/vmlinuz{,.old} 2> /dev/null
1fb73fcf 1137%{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
351f379b 1138mv -f /boot/System.map{,.old} 2> /dev/null
1fb73fcf 1139%{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
351f379b 1140ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1fb73fcf 1141%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
351f379b 1142ln -sf System.map-%{kernel_release} /boot/System.map
1fb73fcf 1143%{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
351f379b
JR
1144
1145%depmod %{kernel_release}
1146
4dabe329
ER
1147%posttrans
1148# generate initrd after all dependant modules are installed
85518b78 1149/sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
351f379b 1150mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1fb73fcf 1151%{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
351f379b 1152ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1fb73fcf 1153%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
351f379b 1154
54f0effc
JR
1155# if dracut is present then generate full-featured initramfs
1156if [ -x /sbin/dracut ]; then
c9fe0f6a 1157 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
54f0effc
JR
1158fi
1159
4dabe329 1160# update boot loaders when old package files are gone from filesystem
c5de1ad5 1161if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
4dabe329
ER
1162 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1163 /sbin/update-grub >/dev/null
c5de1ad5
ER
1164 fi
1165fi
351f379b
JR
1166if [ -x /sbin/new-kernel-pkg ]; then
1167 /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
1168fi
1169if [ -x /sbin/rc-boot ]; then
351f379b 1170 /sbin/rc-boot 1>&2 || :
a5585a68 1171fi
a5585a68 1172
351f379b
JR
1173%post vmlinux
1174mv -f /boot/vmlinux{,.old} 2> /dev/null
1175%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1176ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1177%{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1178
351f379b
JR
1179%post drm
1180%depmod %{kernel_release}
a5585a68 1181
351f379b
JR
1182%postun drm
1183%depmod %{kernel_release}
a5585a68 1184
351f379b
JR
1185%post pcmcia
1186%depmod %{kernel_release}
a5585a68 1187
351f379b
JR
1188%postun pcmcia
1189%depmod %{kernel_release}
a5585a68 1190
351f379b
JR
1191%post sound-alsa
1192%depmod %{kernel_release}
a5585a68 1193
351f379b
JR
1194%postun sound-alsa
1195%depmod %{kernel_release}
a5585a68 1196
351f379b
JR
1197%post sound-oss
1198%depmod %{kernel_release}
a5585a68 1199
351f379b
JR
1200%postun sound-oss
1201%depmod %{kernel_release}
a5585a68
AM
1202
1203%post headers
1fb73fcf 1204ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1205
1206%postun headers
351f379b 1207if [ "$1" = "0" ]; then
1fb73fcf
ER
1208 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1209 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1210 rm -f %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1211 fi
1212 fi
1213fi
1214
351f379b
JR
1215%triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1216ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1217ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1218
1219%triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1220if [ "$1" = 0 ]; then
1221 rm -f /lib/modules/%{kernel_release}/{build,source}
1222fi
1223
a5585a68
AM
1224%files
1225%defattr(644,root,root,755)
a5585a68 1226%ifarch sparc sparc64
351f379b 1227/boot/vmlinux.aout-%{kernel_release}
a5585a68
AM
1228%endif
1229%ifarch ia64
351f379b
JR
1230/boot/efi/vmlinuz-%{kernel_release}
1231%endif
1232/boot/vmlinuz-%{kernel_release}
1233/boot/System.map-%{kernel_release}
1234%ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1a30aaa8 1235%ghost %{initrd_dir}/initramfs-%{kernel_release}.img
ae1c66e5 1236/lib/firmware/%{kernel_release}
351f379b
JR
1237
1238%dir /lib/modules/%{kernel_release}
1239%dir /lib/modules/%{kernel_release}/kernel
351f379b 1240/lib/modules/%{kernel_release}/kernel/arch
351f379b
JR
1241/lib/modules/%{kernel_release}/kernel/crypto
1242/lib/modules/%{kernel_release}/kernel/drivers
101ae904 1243%if %{have_drm}
351f379b
JR
1244%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1245%endif
1246/lib/modules/%{kernel_release}/kernel/fs
351f379b 1247/lib/modules/%{kernel_release}/kernel/kernel
351f379b
JR
1248/lib/modules/%{kernel_release}/kernel/lib
1249/lib/modules/%{kernel_release}/kernel/net
fecce547 1250/lib/modules/%{kernel_release}/kernel/mm
101ae904 1251%if %{have_sound}
351f379b
JR
1252%dir /lib/modules/%{kernel_release}/kernel/sound
1253/lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1254/lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1255%ifnarch sparc
1256%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1257%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1258%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1259%endif
1260%endif
1261%dir /lib/modules/%{kernel_release}/misc
101ae904 1262%if %{have_pcmcia}
351f379b
JR
1263%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1264%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1265%exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1266%if %{without rescuecd}
1267%exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1268%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1269%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1270%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
92d182d2 1271%exclude /lib/modules/%{kernel_release}/kernel/drivers/staging/telephony/ixj_pcmcia.ko*
351f379b
JR
1272%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1273%endif
1274%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1275%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1276%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1277%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1278%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1279%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
7eafdf33 1280%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
351f379b
JR
1281%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1282%endif
101ae904 1283%if %{with myown}
1284/lib/modules/%{kernel_release}/kernel/sound
1285%endif
30812fb8 1286/lib/modules/%{kernel_release}/kernel/security
6d54bd67
ER
1287
1288%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1289
1290# provided by build
1291/lib/modules/%{kernel_release}/modules.order
8ee3ac38 1292/lib/modules/%{kernel_release}/modules.builtin*
6d54bd67
ER
1293
1294# rest modules.* are ghost (regenerated by post depmod -a invocation)
1295%ghost /lib/modules/%{kernel_release}/modules.alias
1296%ghost /lib/modules/%{kernel_release}/modules.alias.bin
1297%ghost /lib/modules/%{kernel_release}/modules.ccwmap
1298%ghost /lib/modules/%{kernel_release}/modules.dep
1299%ghost /lib/modules/%{kernel_release}/modules.dep.bin
8ee3ac38 1300%ghost /lib/modules/%{kernel_release}/modules.devname
6d54bd67
ER
1301%ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1302%ghost /lib/modules/%{kernel_release}/modules.inputmap
1303%ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1304%ghost /lib/modules/%{kernel_release}/modules.ofmap
1305%ghost /lib/modules/%{kernel_release}/modules.pcimap
1306%ghost /lib/modules/%{kernel_release}/modules.seriomap
8ee3ac38 1307%ghost /lib/modules/%{kernel_release}/modules.softdep
6d54bd67
ER
1308%ghost /lib/modules/%{kernel_release}/modules.symbols
1309%ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1310%ghost /lib/modules/%{kernel_release}/modules.usbmap
1311
351f379b
JR
1312# symlinks pointing to kernelsrcdir
1313%ghost /lib/modules/%{kernel_release}/build
1314%ghost /lib/modules/%{kernel_release}/source
351f379b 1315
351f379b
JR
1316%ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1317%files vmlinux
a5585a68 1318%defattr(644,root,root,755)
351f379b 1319/boot/vmlinux-%{kernel_release}
a5585a68
AM
1320%endif
1321
101ae904 1322%if %{have_drm}
351f379b 1323%files drm
a5585a68 1324%defattr(644,root,root,755)
351f379b 1325/lib/modules/%{kernel_release}/kernel/drivers/gpu
a5585a68
AM
1326%endif
1327
101ae904 1328%if %{have_pcmcia}
351f379b 1329%files pcmcia
a5585a68 1330%defattr(644,root,root,755)
351f379b
JR
1331/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1332/lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1333%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1334%if %{without rescuecd}
1335/lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1336/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1337/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
92d182d2 1338/lib/modules/%{kernel_release}/kernel/drivers/staging/telephony/ixj_pcmcia.ko*
351f379b
JR
1339%endif
1340/lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1341/lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1342/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1343/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1344/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1345/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1346/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
7eafdf33 1347/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
351f379b
JR
1348/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1349%endif
1350
101ae904 1351%if %{have_sound}
351f379b 1352%files sound-alsa
a5585a68 1353%defattr(644,root,root,755)
351f379b
JR
1354/lib/modules/%{kernel_release}/kernel/sound
1355%exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1356%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1357%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1358%if %{have_oss}
1359%exclude /lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1360%endif
351f379b
JR
1361%ifnarch sparc
1362/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1363/lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1364/lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1365/lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
a5585a68
AM
1366%endif
1367
101ae904 1368%if %{have_oss}
351f379b 1369%files sound-oss
a5585a68 1370%defattr(644,root,root,755)
351f379b 1371/lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1372%endif
a5585a68
AM
1373%endif
1374
fecce547 1375%files headers -f files.headers_exclude_kbuild
a5585a68 1376%defattr(644,root,root,755)
30f08736 1377%dir %{_kernelsrcdir}
351f379b
JR
1378%{_kernelsrcdir}/include
1379%dir %{_kernelsrcdir}/arch
1380%dir %{_kernelsrcdir}/arch/[!K]*
1381%{_kernelsrcdir}/arch/*/include
1382%dir %{_kernelsrcdir}/security
1383%dir %{_kernelsrcdir}/security/selinux
1384%{_kernelsrcdir}/security/selinux/include
29564a2e
JR
1385%{_kernelsrcdir}/.config
1386%{_kernelsrcdir}/Module.symvers
351f379b 1387
fecce547 1388%files module-build -f files.mb_include_modulebuild_and_dirs
a5585a68 1389%defattr(644,root,root,755)
351f379b
JR
1390%ifarch ppc ppc64
1391%{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1392%endif
fecce547 1393%exclude %dir %{_kernelsrcdir}/arch/um
351f379b
JR
1394%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1395%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1396%{_kernelsrcdir}/drivers/lguest/lg.h
2470a9dc 1397%{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
351f379b 1398%{_kernelsrcdir}/kernel/bounds.c
4217a9ad
JR
1399%{_kernelsrcdir}/scripts/basic/*.c
1400%attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1401%{_kernelsrcdir}/scripts/kconfig/*.in
1402%{_kernelsrcdir}/scripts/kconfig/*_shipped
1403%{_kernelsrcdir}/scripts/kconfig/*.pl
1404%{_kernelsrcdir}/scripts/kconfig/*.glade
1405%{_kernelsrcdir}/scripts/kconfig/*.gperf
1406%{_kernelsrcdir}/scripts/kconfig/*.cc
1407%{_kernelsrcdir}/scripts/kconfig/*.y
1408%{_kernelsrcdir}/scripts/kconfig/*.l
1409%{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1410%{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1411%{_kernelsrcdir}/scripts/kconfig/l*.h
1412%{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
1413%{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
1414%{_kernelsrcdir}/scripts/kconfig/lxdialog
1415%{_kernelsrcdir}/scripts/mod/*.c
1416%{_kernelsrcdir}/scripts/mod/[^e]*.h
29564a2e 1417%attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
351f379b 1418%{_kernelsrcdir}/scripts/mkmakefile
960d2e94 1419%{_kernelsrcdir}/scripts/module-common.lds
29564a2e 1420%attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
351f379b 1421%{_kernelsrcdir}/scripts/*.c
29564a2e 1422%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
9d6d5869 1423%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
c78e408d 1424%{_kernelsrcdir}/scripts/selinux/mdp/*.c
fecce547 1425%exclude %dir %{_kernelsrcdir}/security
1426%exclude %dir %{_kernelsrcdir}/security/selinux
a696e454 1427%if %{with grsecurity}
94a92871 1428%{_kernelsrcdir}/tools/gcc/*.c
a696e454 1429%endif
a5585a68 1430
1848fd38 1431%if %{with doc}
a5585a68
AM
1432%files doc
1433%defattr(644,root,root,755)
d3a69071
ER
1434%dir %{_docdir}/%{name}-%{version}
1435
1436%{_docdir}/%{name}-%{version}/[!jkz]*
1437%{_docdir}/%{name}-%{version}/[jkz]*.txt
1438%{_docdir}/%{name}-%{version}/kbuild
1439%{_docdir}/%{name}-%{version}/kdump
1440%lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1441%lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1442%lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1848fd38 1443%endif
a5585a68
AM
1444
1445%if %{with source}
fecce547 1446%files source -f files.source_exclude_modulebuild_and_dirs
a5585a68 1447%defattr(644,root,root,755)
351f379b
JR
1448%{_kernelsrcdir}/arch/*/[!Mik]*
1449%{_kernelsrcdir}/arch/*/kernel/[!M]*
351f379b
JR
1450%{_kernelsrcdir}/arch/ia64/install.sh
1451%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1452%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
fecce547 1453%{_kernelsrcdir}/arch/m68k/install.sh
351f379b
JR
1454%{_kernelsrcdir}/arch/parisc/install.sh
1455%{_kernelsrcdir}/arch/x86/ia32/[!M]*
1456%{_kernelsrcdir}/arch/ia64/kvm
1457%{_kernelsrcdir}/arch/powerpc/kvm
1458%ifarch ppc ppc64
1459%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1460%endif
1461%{_kernelsrcdir}/arch/s390/kvm
1462%{_kernelsrcdir}/arch/x86/kvm
1463%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1464%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1465%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
2470a9dc 1466%exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
351f379b
JR
1467%{_kernelsrcdir}/block
1468%{_kernelsrcdir}/crypto
1469%{_kernelsrcdir}/drivers
1470%{_kernelsrcdir}/firmware
1471%{_kernelsrcdir}/fs
1472%if %{with grsecurity} && %{without rescuecd}
1473%{_kernelsrcdir}/grsecurity
1474%endif
1475%{_kernelsrcdir}/init
1476%{_kernelsrcdir}/ipc
1477%{_kernelsrcdir}/kernel
1478%exclude %{_kernelsrcdir}/kernel/bounds.c
1479%{_kernelsrcdir}/lib
1480%{_kernelsrcdir}/mm
1481%{_kernelsrcdir}/net
1482%{_kernelsrcdir}/virt
1483%{_kernelsrcdir}/samples
1484%{_kernelsrcdir}/scripts/*
1485%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1486%exclude %{_kernelsrcdir}/scripts/Makefile*
1487%exclude %{_kernelsrcdir}/scripts/basic
1488%exclude %{_kernelsrcdir}/scripts/kconfig
960d2e94 1489%exclude %{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1490%exclude %{_kernelsrcdir}/scripts/mkmakefile
1491%exclude %{_kernelsrcdir}/scripts/mod
960d2e94 1492%exclude %{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1493%exclude %{_kernelsrcdir}/scripts/setlocalversion
1494%exclude %{_kernelsrcdir}/scripts/*.c
1495%exclude %{_kernelsrcdir}/scripts/*.sh
960d2e94 1496%exclude %dir %{_kernelsrcdir}/scripts/selinux
1497%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
c78e408d
PZ
1498%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1499%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1500%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
960d2e94 1501%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1502%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1503%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
351f379b
JR
1504%{_kernelsrcdir}/sound
1505%{_kernelsrcdir}/security
1506%exclude %{_kernelsrcdir}/security/selinux/include
94a92871 1507%{_kernelsrcdir}/tools/*
a696e454 1508%if %{with grsecurity}
94a92871 1509%exclude %{_kernelsrcdir}/tools/gcc/*.c
a696e454 1510%endif
351f379b
JR
1511%{_kernelsrcdir}/usr
1512%{_kernelsrcdir}/COPYING
1513%{_kernelsrcdir}/CREDITS
1514%{_kernelsrcdir}/MAINTAINERS
1515%{_kernelsrcdir}/README
1516%{_kernelsrcdir}/REPORTING-BUGS
a5585a68 1517%endif
This page took 0.399144 seconds and 4 git commands to generate.