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