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