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