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