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