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