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