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