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