]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- up to 4.8.3; fixes CVE-2016-5195
[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 20%bcond_without pcmcia # don't build pcmcia
6133b03b 21%bcond_without firmware # don't build firmware into main package
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
54c6f06a 32%bcond_with vserver # support for VServer
351f379b 33
7141a3b6 34%bcond_with vanilla # don't include any patches
351f379b 35%bcond_with rescuecd # build kernel for our rescue
351f379b 36%bcond_with myown # build with your own config (kernel-myown.config)
a5585a68
AM
37
38%{?debug:%define with_verbose 1}
39
351f379b 40%define have_drm 1
55e054be 41%define have_ide 1
351f379b
JR
42%define have_oss 1
43%define have_sound 1
101ae904 44%define have_pcmcia 1
351f379b
JR
45
46%if %{with rescuecd}
b488384f 47%unglobal with_vserver
351f379b
JR
48%define have_drm 0
49%define have_sound 0
50%endif
51
101ae904 52%if %{with myown}
53%define have_drm 0
55e054be 54%define have_ide 0
101ae904 55%define have_oss 0
56%define have_sound 0
57%define have_pcmcia 0
351f379b
JR
58%endif
59
60%ifarch sparc sparc64
b488384f 61%unglobal with_pcmcia
351f379b
JR
62%define have_drm 0
63%define have_oss 0
64%endif
65
101ae904 66%if %{without pcmcia}
67%define have_pcmcia 0
68%endif
69
b5a567d4 70%define rel 1
746b5ec8 71%define basever 4.8
ff54a883 72%define postver .3
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
351f379b
JR
99
100# kernel release (used in filesystem and eventually in uname -r)
101# modules will be looked from /lib/modules/%{kernel_release}
102# localversion is just that without version for "> localversion"
103%define localversion %{rel}
1401be4b 104%define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
a5585a68
AM
105
106Summary: The Linux kernel (the core of the Linux operating system)
351f379b
JR
107Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
108Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
109Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
110Summary(pl.UTF-8): Jądro Linuksa
e865f3ec 111Name: kernel%{versuffix}%{_alt_kernel}
351f379b
JR
112Version: %{basever}%{postver}
113Release: %{rel}
a5585a68 114Epoch: 3
c491b43b 115License: GPL v2
a5585a68 116Group: Base/Kernel
fa7ff97e 117Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
746b5ec8 118# Source0-md5: c1af0afbd3df35c1ccdc7a5118cd2d07
4d8c31dd 119%if "%{postver}" != ".0"
fa7ff97e 120Patch0: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
ff54a883 121# Patch0-md5: 9e430392b1cc430522fa7b27fc4301fc
351f379b 122%endif
5aeaa3c2 123Source1: kernel.sysconfig
351f379b
JR
124
125Source3: kernel-autoconf.h
126Source4: kernel-config.h
351f379b
JR
127Source6: kernel-config.awk
128Source7: kernel-module-build.pl
129Source8: kernel-track-config-change.awk
130# not used by kernel.spec, but it's good to have it in SOURCES
131Source9: kernel-config-sort.pl
132Source10: kernel.make
133
134Source20: kernel-multiarch.config
135Source21: kernel-x86.config
136Source22: kernel-sparc.config
5a99ae3d 137Source23: kernel-alpha.config
138Source24: kernel-powerpc.config
139Source25: kernel-ia64.config
351f379b 140
351f379b 141Source41: kernel-patches.config
351f379b 142Source43: kernel-vserver.config
351f379b 143
351f379b 144Source55: kernel-imq.config
351f379b
JR
145
146Source58: kernel-inittmpfs.config
351f379b 147
351f379b
JR
148# http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
149Patch3: kernel-fbcondecor.patch
c2992931 150Patch6: linux-wistron-nx.patch
351f379b
JR
151
152# netfilter related stuff mostly based on patch-o-matic-ng
17da405a 153# snapshot 20070806 with some fixes. Some modules
e69c45e8 154# were ported to nf_conntrack.
351f379b
JR
155
156Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
351f379b 157
351f379b
JR
158# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
159Patch37: kernel-owner-xid.patch
160
351f379b
JR
161# based on kernel-2.6.25-layer7-2.20.patch from
162# http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
163Patch40: kernel-layer7.patch
164
351f379b
JR
165### End netfilter
166
514e5dae 167# http://www.linuximq.net
351f379b
JR
168Patch50: kernel-imq.patch
169
351f379b
JR
170# by Baggins request:
171# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
60bb736d
JR
172Patch55: kernel-atm-vbr.patch
173Patch56: kernel-atmdd.patch
351f379b 174
351f379b
JR
175# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
176Patch59: kernel-rndis_host-wm5.patch
177
351f379b
JR
178# adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
179# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
60bb736d 180Patch85: kernel-hostap.patch
351f379b 181
bb20add7
AM
182%define vserver_patch 3.18.5-vs2.3.7.3
183# http://vserver.13thfloor.at/Experimental/patch-3.18.5-vs2.3.7.3.diff
9f25dc6a
AM
184# note there are additional patches from above url:
185# - *fix* are real fixes (we want these)
186# - *feat* are new features/tests (we don't want these)
01d3b055 187Patch100: kernel-vserver-2.3.patch
351f379b
JR
188Patch101: kernel-vserver-fixes.patch
189
5527c038 190# git://github.com/sfjro/aufs4-standalone.git, read README
b752ccd1 191# Patch creation:
5527c038
JR
192# git clone git://github.com/sfjro/aufs4-standalone.git
193# cd aufs4-standalone
e2f27e51 194# git checkout -b aufs4.8 origin/aufs4.8
5527c038 195# cat aufs4-kbuild.patch aufs4-base.patch aufs4-mmap.patch aufs4-standalone.patch > ~/rpm/packages/kernel/kernel-aufs4.patch
be52b249 196# rm -rf linux && mkdir linux
b752ccd1 197# cp -a Documentation fs include linux
5527c038 198# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs4.patch
7ce627cf 199# drop hunk at the end of patch (hunk is patching include/linux/Kbuild with single line change)
5527c038 200# cat aufs4-loopback.patch >> ~/rpm/packages/kernel/kernel-aufs4.patch
0c5527e5 201#
5527c038
JR
202Patch145: kernel-aufs4.patch
203Patch146: kernel-aufs4+vserver.patch
a899ef35 204
54fd642e 205# Show normal colors in menuconfig with ncurses ABI 6
206Patch250: kernel-fix_256colors_menuconfig.patch
207
08aa9d92 208Patch2000: kernel-small_fixes.patch
60bb736d 209Patch2001: kernel-pwc-uncompress.patch
351f379b 210Patch2003: kernel-regressions.patch
2155c5a2 211Patch2004: kernel-libata-ahci-pm.patch
351f379b 212
c2c0f25c 213# git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
0776672e 214# branch v4.7-aa2.8-out-of-tree
351f379b 215Patch5000: kernel-apparmor.patch
351f379b
JR
216
217# for rescuecd
48ead238 218# based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
351f379b
JR
219Patch7000: kernel-inittmpfs.patch
220
73cc1c57 221# Do not remove this line, please. It is easier for me to uncomment two lines, then patch
222# kernel.spec every time.
223#Patch50000: kernel-usb_reset.patch
224
fa7ff97e 225URL: https://www.kernel.org/
3674ac16
JR
226AutoReqProv: no
227BuildRequires: /sbin/depmod
ec155748 228BuildRequires: bc
351f379b 229BuildRequires: binutils >= 3:2.18
a5585a68
AM
230%ifarch sparc sparc64
231BuildRequires: elftoaout
232%endif
3674ac16 233BuildRequires: elfutils-devel
351f379b 234BuildRequires: gcc >= 5:3.2
d80d232c 235BuildRequires: hostname
2910a805 236BuildRequires: kmod >= 12-2
f927bb82 237BuildRequires: openssl-devel
a5585a68 238BuildRequires: perl-base
b488384f 239BuildRequires: rpm-build >= 4.5-24
811cca3c 240BuildRequires: rpmbuild(macros) >= 1.707
3674ac16
JR
241%ifarch ppc
242BuildRequires: uboot-mkimage
243%endif
244BuildRequires: xz >= 1:4.999.7
351f379b 245Requires(post): coreutils
8f076c71 246Requires(post): geninitrd >= 12749
621dfa8b 247Requires(post): kmod >= 12-2
351f379b
JR
248Requires: /sbin/depmod
249Requires: coreutils
8f076c71 250Requires: geninitrd >= 12749
621dfa8b 251Requires: kmod >= 12-2
bacfcd36
AM
252%if %{with pae}
253%ifarch i686 athlon pentium3 pentium4
254Requires: cpuinfo(pae)
255%endif
256%endif
59c3e314 257Suggests: crda
54f0effc 258Suggests: dracut
b75546f3 259Suggests: keyutils
69587004 260Suggests: kernel%{versuffix}-ide = %{epoch}:%{version}-%{release}
08687f7c 261%if %{with firmware}
af560d0f 262Suggests: linux-firmware
08687f7c
ER
263%else
264Requires: linux-firmware
265%endif
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}}\
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
AM
510
511%package sound-oss
512Summary: OSS kernel modules
351f379b
JR
513Summary(de.UTF-8): OSS Kernel Module
514Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 515Group: Base/Kernel
351f379b
JR
516Requires(postun): %{name} = %{epoch}:%{version}-%{release}
517Requires: %{name} = %{epoch}:%{version}-%{release}
518Obsoletes: kernel-smp-sound-oss
07ff8614 519AutoReqProv: no
a5585a68
AM
520
521%description sound-oss
522OSS (Open Sound System) drivers.
523
351f379b
JR
524%description sound-oss -l de.UTF-8
525OSS (Open Sound System) Treiber.
526
3a467bc1
JR
527%description sound-oss -l pl.UTF-8
528Sterowniki dźwięku OSS (Open Sound System).
a5585a68 529
a5585a68
AM
530%package headers
531Summary: Header files for the Linux kernel
351f379b
JR
532Summary(de.UTF-8): Header Dateien für den Linux-Kernel
533Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
534Group: Development/Building
52e5f3df 535Provides: %{name}-headers(netfilter) = 20070806
07ff8614 536AutoReqProv: no
a5585a68
AM
537
538%description headers
539These are the C header files for the Linux kernel, which define
351f379b
JR
540structures and constants that are needed when rebuilding the kernel or
541building kernel modules.
542
543%description headers -l de.UTF-8
544Dies sind die C Header Dateien für den Linux-Kernel, die definierte
545Strukturen und Konstante beinhalten, die beim rekompilieren des
546Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 547
3a467bc1
JR
548%description headers -l pl.UTF-8
549Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
550oraz budowania modułów jądra.
a5585a68
AM
551
552%package module-build
553Summary: Development files for building kernel modules
351f379b
JR
554Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
555Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
556Group: Development/Building
a5585a68 557Requires: %{name}-headers = %{epoch}:%{version}-%{release}
3674ac16 558Requires: elfutils-devel
48d6a50c 559Requires: make
5c6b663b 560Conflicts: rpmbuild(macros) < 1.704
07ff8614 561AutoReqProv: no
a5585a68
AM
562
563%description module-build
564Development files from kernel source tree needed to build Linux kernel
565modules from external packages.
566
351f379b
JR
567%description module-build -l de.UTF-8
568Development Dateien des Linux-Kernels die beim kompilieren externer
569Kernel Module gebraucht werden.
570
3a467bc1
JR
571%description module-build -l pl.UTF-8
572Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
573Linuksa z zewnętrznych pakietów.
a5585a68
AM
574
575%package source
576Summary: Kernel source tree
351f379b
JR
577Summary(de.UTF-8): Der Kernel Quelltext
578Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
579Group: Development/Building
a5585a68 580Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 581AutoReqProv: no
d63ae4d9
ER
582%if "%{_rpmversion}" >= "5"
583BuildArch: noarch
584%endif
a5585a68
AM
585
586%description source
351f379b
JR
587This is the source code for the Linux kernel. You can build a custom
588kernel that is better tuned to your particular hardware.
a5585a68 589
3a467bc1
JR
590%description source -l de.UTF-8
591Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 592Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 593C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 594im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 595benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
596Hardware ausgerichtet ist.
597
3a467bc1 598%description source -l fr.UTF-8
a5585a68 599Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
600linux. Ces sources sont nécessaires pour compiler la plupart des
601programmes C, car il dépend de constantes définies dans le code
602source. Les sources peuvent être aussi utilisée pour compiler un noyau
603personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
604particuliers.
605
3a467bc1
JR
606%description source -l pl.UTF-8
607Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
608
609%package doc
610Summary: Kernel documentation
351f379b
JR
611Summary(de.UTF-8): Kernel Dokumentation
612Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
613Group: Documentation
07ff8614 614AutoReqProv: no
d63ae4d9
ER
615%if "%{_rpmversion}" >= "5"
616BuildArch: noarch
617%endif
a5585a68
AM
618
619%description doc
620This is the documentation for the Linux kernel, as found in
621/usr/src/linux/Documentation directory.
622
351f379b
JR
623%description doc -l de.UTF-8
624Dies ist die Kernel Dokumentation wie sie im 'Documentation'
625Verzeichniss vorgefunden werden kann.
626
3a467bc1
JR
627%description doc -l pl.UTF-8
628Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
629/usr/src/linux/Documentation.
630
631%prep
351f379b
JR
632%setup -qc
633ln -s %{SOURCE7} kernel-module-build.pl
634ln -s %{SOURCE10} Makefile
67d87e28 635cd linux-%{basever}
a5585a68 636
1c5b0f0a 637%if "%{postver}" != ".0"
c6897157 638%patch0 -p1
351f379b 639%endif
a5585a68 640
7141a3b6 641%if %{without vanilla}
642
351f379b
JR
643%if %{with fbcondecor}
644%patch3 -p1
a5585a68 645%endif
c2992931 646%patch6 -p1
a5585a68 647
351f379b
JR
648## netfilter
649#
a5585a68 650
351f379b
JR
651# kernel-pom-ng-IPV4OPTSSTRIP.patch
652%patch10 -p1
a5585a68 653
351f379b
JR
654# kernel-owner-xid.patch
655%if %{with vserver}
656%patch37 -p1
a5585a68 657%endif
a5585a68 658
351f379b
JR
659# kernel-layer7.patch
660%patch40 -p1
661
351f379b
JR
662##
663# end of netfilter
664
351f379b
JR
665%if %{with imq}
666%patch50 -p1
a5585a68 667%endif
351f379b 668
351f379b
JR
669%patch55 -p1
670%patch56 -p1
671
351f379b
JR
672# kernel-rndis_host-wm5.patch
673%patch59 -p1
674
675# hostap enhancements from/for aircrack-ng
676%patch85 -p1
677
351f379b
JR
678# vserver
679%if %{with vserver}
680%patch100 -p1
681%patch101 -p1
a5585a68 682%endif
351f379b 683
7ce627cf 684# aufs3
20493b41 685%patch145 -p1
ff3e50f1
JR
686%if %{with vserver}
687%patch146 -p1
688%endif
a5585a68 689
351f379b
JR
690%if %{with rescuecd}
691%patch7000 -p1
e981df17 692%endif
a5585a68 693
df4db69a 694# apparmor
df4db69a 695%patch5000 -p1
df4db69a 696
54fd642e 697%patch250 -p1
698
7141a3b6 699%endif # vanilla
700
351f379b 701# Small fixes:
08aa9d92 702%patch2000 -p1
351f379b
JR
703%patch2001 -p1
704#%patch2003 -p1
2155c5a2 705%patch2004 -p1
a5585a68 706
73cc1c57 707# Do not remove this, please!
5d3a3ea2 708#%%patch50000 -p1
73cc1c57 709
351f379b 710# Fix EXTRAVERSION in main Makefile
7a8dfe5c 711sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
a5585a68 712
351f379b
JR
713# cleanup backups after patching
714find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
a5585a68 715
351f379b
JR
716%build
717install -d %{objdir}
718cat > %{targetobj}.mk <<'EOF'
719# generated by %{name}.spec
5c6b663b 720KERNELSRC := %{srcdir}
351f379b
JR
721KERNELOUTPUT := %{objdir}
722
723SRCARCH := %{target_arch_dir}
724ARCH := %{_target_base_arch}
5c6b663b 725Q := %{!?with_verbose:@}
351f379b 726MAKE_OPTS := %{MakeOpts}
5a5ad91b 727DEFCONFIG := %{defconfig}
351f379b 728EOF
a5585a68 729
351f379b
JR
730RescueConfig() {
731 set -x
732 cat <<-EOCONFIG > $1
733 # CONFIG_SOUND is not set
734 # CONFIG_AUDIT is not set
735 # CONFIG_TR is not set
736 # CONFIG_BT is not set
737 # CONFIG_VIDEO_DEV is not set
738 # CONFIG_DVB_CORE is not set
739 # CONFIG_HAMRADIO is not set
740 # CONFIG_ARCNET is not set
351f379b
JR
741 # CONFIG_DRM is not set
742 # CONFIG_WATCHDOG is not set
743 # CONFIG_INPUT_JOYSTICK is not set
744 # CONFIG_DEBUG_KERNEL is not set
745 # CONFIG_ISDN is not set
746 # CONFIG_AGP is not set
747 # CONFIG_SECURITY is not set
748 # CONFIG_PARIDE is not set
749 # CONFIG_CPU_FREQ is not set
750 # CONFIG_GAMEPORT is not set
751 # CONFIG_KVM is not set
752 # CONFIG_PHONE is not set
dd55897d 753 # CONFIG_STRICT_DEVMEM is not set
6bab3a31 754 # CONFIG_IMA is not set
a947000a
AP
755 # CONFIG_MEDIA_SUPPORT is not set
756 # CONFIG_UWB is not set
757 # CONFIG_PWM is not set
38e632af
JK
758 # CONFIG_COMEDI_NI_LABPC_ISA is not set
759 # CONFIG_FB_SYS_FILLRECT is not set
760 # CONFIG_FB_SYS_COPYAREA is not set
761 # CONFIG_FB_SYS_IMAGEBLIT is not set
762 # CONFIG_FB_SYS_FOPS is not set
763 # CONFIG_FB_HECUBA is not set
764 # CONFIG_FB_SVGALIB is not set
765 # CONFIG_FB_CIRRUS is not set
766 # CONFIG_FB_PM2 is not set
767 # CONFIG_FB_CYBER2000 is not set
768 # CONFIG_FB_ARC is not set
769 # CONFIG_FB_ASILIANT is not set
770 # CONFIG_FB_IMSTT is not set
771 # CONFIG_FB_VGA16 is not set
772 # CONFIG_FB_UVESA is not set
773 # CONFIG_FB_N411 is not set
774 # CONFIG_FB_HGA is not set
775 # CONFIG_FB_S1D13XXX is not set
776 # CONFIG_FB_NVIDIA is not set
777 # CONFIG_FB_RIVA is not set
778 # CONFIG_FB_I740 is not set
779 # CONFIG_FB_LE80578 is not set
780 # CONFIG_FB_CARILLO_RANCH is not set
781 # CONFIG_FB_MATROX is not set
782 # CONFIG_FB_RADEON is not set
783 # CONFIG_FB_ATY128 is not set
784 # CONFIG_FB_ATY is not set
785 # CONFIG_FB_S3 is not set
786 # CONFIG_FB_SAVAGE is not set
787 # CONFIG_FB_SIS is not set
788 # CONFIG_FB_VIA is not set
789 # CONFIG_FB_NEOMAGIC is not set
790 # CONFIG_FB_KYRO is not set
791 # CONFIG_FB_3DFX is not set
792 # CONFIG_FB_VOODOO1 is not set
793 # CONFIG_FB_VT8623 is not set
794 # CONFIG_FB_TRIDENT is not set
795 # CONFIG_FB_ARK is not set
796 # CONFIG_FB_PM3 is not set
797 # CONFIG_FB_CARMINE is not set
798 # CONFIG_FB_GEODE is not set
799 # CONFIG_FB_TMIO is not set
800 # CONFIG_FB_SM501 is not set
801 # CONFIG_FB_SMSCUFX is not set
802 # CONFIG_FB_UDL is not set
803 # CONFIG_FB_GOLDFISH is not set
804 # CONFIG_XEN_FBDEV_FRONTEND is not set
805 # CONFIG_FB_METRONOME is not set
806 # CONFIG_FB_MB862XX is not set
807 # CONFIG_FB_BROADSHEET is not set
808 # CONFIG_FB_AUO_K190X is not set
809 # CONFIG_FB_AUO_K1900 is not set
810 # CONFIG_FB_AUO_K1901 is not set
811 # CONFIG_FB_HYPERV is not set
351f379b 812 CONFIG_AUFS=y
a899ef35 813 CONFIG_AUFS_FS=y
814 CONFIG_AUFS_BR_RAMFS=y
62fff140 815 CONFIG_AUFS_RDU=y
351f379b
JR
816 CONFIG_BLK_DEV_LOOP=y
817 CONFIG_ISO9660_FS=y
818 CONFIG_NLS_UTF8=y
6b79006d 819 CONFIG_SQUASHFS=y
38e632af
JK
820 CONFIG_FB=y
821 CONFIG_FB_EFI=y
822 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
351f379b
JR
823EOCONFIG
824
825 return 0
826}
a5585a68 827
351f379b
JR
828BuildConfig() {
829 %{?debug:set -x}
830 set -e
a5585a68 831
351f379b
JR
832 Config="kernel-%{target_arch_dir}.config"
833 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
a5585a68 834
351f379b
JR
835 # prepare local and important options
836 cat <<-EOCONFIG > important.config
837 LOCALVERSION="-%{localversion}"
fb4e3822 838
351f379b
JR
839%if 0%{?debug:1}
840 CONFIG_DEBUG_SLAB=y
841 CONFIG_DEBUG_SLAB_LEAK=y
842 CONFIG_DEBUG_PREEMPT=y
843 CONFIG_RT_DEADLOCK_DETECT=y
a5585a68 844%endif
351f379b 845
351f379b
JR
846%if %{without ipv6}
847 CONFIG_IPV6=n
848%endif
a5585a68 849
351f379b 850%ifarch i686 athlon pentium3 pentium4
5a5ad91b 851 %if %{with pae}
351f379b
JR
852 CONFIG_HIGHMEM4G=n
853 CONFIG_HIGHMEM64G=y
854 CONFIG_X86_PAE=y
7c99a84b 855 CONFIG_NUMA=n
5a5ad91b 856 %endif
351f379b 857%endif
a5585a68 858
351f379b
JR
859%if %{without pcmcia}
860 CONFIG_PCMCIA=n
861%endif
a5585a68 862
351f379b
JR
863%if %{with fbcondecor}
864 CONFIG_FB_S3=n
865 CONFIG_FB_VT8623=n
866 CONFIG_FB_ARK=n
867 CONFIG_FB_TILEBLITTING=n
868 CONFIG_FB_CON_DECOR=y
869%endif
a5585a68 870
351f379b
JR
871%if %{with nfsroot}
872 CONFIG_NFS_FS=y
873 CONFIG_ROOT_NFS=y
874%endif
351f379b 875EOCONFIG
a5585a68 876
351f379b
JR
877%if %{with rescuecd}
878 RescueConfig rescue.config
351f379b 879%endif
351f379b
JR
880 # prepare kernel-style config file from multiple config files
881 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
101ae904 882%if %{with myown}
883 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
884%endif
351f379b 885 important.config \
7141a3b6 886%if %{without vanilla}
351f379b
JR
887%if %{with rescuecd}
888 %{SOURCE58} \
351f379b
JR
889 rescue.config \
890%endif
891 \
351f379b
JR
892%if %{with imq}
893 %{SOURCE55} \
894%endif
895%if %{with vserver}
896 %{SOURCE43} \
351f379b 897%endif
351f379b 898 %{SOURCE41} %{?0:patches} \
7141a3b6 899%endif
351f379b
JR
900 %{SOURCE20} \
901 $RPM_SOURCE_DIR/$Config
902}
a5585a68 903
351f379b
JR
904cd %{objdir}
905install -d arch/%{target_arch_dir}
351f379b 906BuildConfig > %{defconfig}
351f379b
JR
907ln -sf %{defconfig} .config
908cd -
a5585a68 909
7856c5e8
AM
910%{__make} \
911 TARGETOBJ=%{targetobj} \
912 %{?with_verbose:V=1} \
913 oldconfig
a5585a68 914
351f379b 915%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
a5585a68 916
351f379b 917# build kernel
7856c5e8
AM
918%{__make} \
919 TARGETOBJ=%{targetobj} \
920 %{?with_verbose:V=1} \
921 all
a5585a68 922
351f379b
JR
923%install
924rm -rf $RPM_BUILD_ROOT
6133b03b 925%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install %{?with_firmware:firmware_install} \
351f379b
JR
926 -C %{objdir} \
927 %{?with_verbose:V=1} \
928 DEPMOD=%{DepMod} \
811cca3c 929 mod_compress_cmd=true \
351f379b
JR
930 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
931 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
932 KERNELRELEASE=%{kernel_release}
933
934install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
935
101ae904 936# create directories which may be missing, to simplyfy %files
64d14572 937install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
101ae904 938
351f379b
JR
939# rpm obeys filelinkto checks for ghosted symlinks, convert to files
940rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
941touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
942
6d54bd67
ER
943# no point embed content for %ghost files. empty them
944for a in \
945 dep{,.bin} \
946 alias{,.bin} \
8ee3ac38
AM
947 devname \
948 softdep \
6d54bd67 949 symbols{,.bin} \
6d54bd67 950; do
09e63f4a 951 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
6d54bd67
ER
952 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
953done
954
351f379b
JR
955# /boot
956install -d $RPM_BUILD_ROOT/boot
957cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
99eb7fa8 958cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
5c6b663b 959%ifarch %{ix86} %{x8664} x32
1db9a2c1
ER
960 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
961 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
351f379b
JR
962%endif
963%ifarch ppc ppc64
1db9a2c1
ER
964 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
965 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
a5585a68 966%endif
a5585a68 967%ifarch ia64
1db9a2c1
ER
968 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
969 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
970 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
351f379b
JR
971%endif
972%ifarch alpha sparc sparc64
973 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
974 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1db9a2c1
ER
975 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
976 %ifarch sparc
977 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
978 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
979 %endif
980 %ifarch sparc64
981 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
982 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
983 %endif
351f379b
JR
984%endif
985%ifarch arm
1db9a2c1 986 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
a5585a68 987%endif
a5585a68 988
351f379b
JR
989# ghosted initrd
990touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1a30aaa8 991touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
a5585a68 992
7b6fa769 993%if "%{_target_base_arch}" != "%{_host_base_arch}"
351f379b
JR
994touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
995%endif
a5585a68 996
351f379b
JR
997# /etc/modrobe.d
998install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
a5585a68 999
5aeaa3c2
JR
1000install -d $RPM_BUILD_ROOT/etc/sysconfig
1001install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
1002
351f379b 1003# /usr/src/linux
82833fcc
AM
1004install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1005
351f379b
JR
1006# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1007if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1008 l=l
1009 rm -f $RPM_BUILD_ROOT/COPYING
a5585a68 1010fi
a5585a68 1011
351f379b 1012cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
29564a2e
JR
1013cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
1014cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
1015cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
c122bff4
AM
1016# copy arch/x86/include/generated
1017for dir in $(cd %{objdir} && find arch -name generated -type d); do
1018 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
1019 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
1020done
351f379b 1021
301ecb4a
JR
1022# version.h location changed in 3.7, but a lot of external modules don't know about it
1023# add a compatibility symlink
fca82534 1024ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
301ecb4a 1025
4217a9ad
JR
1026# disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
1027%{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
1028
351f379b
JR
1029# collect module-build files and directories
1030# Usage: kernel-module-build.pl $rpmdir $fileoutdir
1031fileoutdir=$(pwd)
1032cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1033%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1034cd -
1035
29564a2e
JR
1036for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
1037 ff=${f##%{objdir}/}
1038 if [ -x "$f" ]; then
1039 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1040 else
1041 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1042 fi
1043 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
1044 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
1045done
1046
d63ae4d9 1047%if %{with doc}
30f08736
ER
1048# move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1049install -d $RPM_BUILD_ROOT%{_docdir}
1050mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1051
d63ae4d9
ER
1052%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1053%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1054%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1055%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1056%else
1057%{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
1058%endif
d3a69071 1059
351f379b
JR
1060%clean
1061rm -rf $RPM_BUILD_ROOT
1062
1063%preun
1064if [ -x /sbin/new-kernel-pkg ]; then
1065 /sbin/new-kernel-pkg --remove %{kernel_release}
a5585a68 1066fi
351f379b
JR
1067
1068%post
5aeaa3c2
JR
1069[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1070if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
351f379b 1071%ifarch ia64
5aeaa3c2
JR
1072 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1073 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
b400362c 1074%if 0%{?alt_kernel:1}
5aeaa3c2
JR
1075 mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1076 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
b400362c 1077%endif
351f379b 1078%endif
5aeaa3c2
JR
1079 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1080 mv -f /boot/System.map{,.old} 2> /dev/null
1081 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1082 ln -sf System.map-%{kernel_release} /boot/System.map
b400362c 1083%if 0%{?alt_kernel:1}
5aeaa3c2
JR
1084 mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1085 mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
1086 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
1087 ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
b400362c 1088%endif
5aeaa3c2 1089fi
351f379b
JR
1090
1091%depmod %{kernel_release}
1092
8a2af12a 1093%if %{without vserver}
9ed61a9a 1094%banner -e -a kernel <<EOF
8a2af12a 1095
9ed61a9a 1096WARNING: Vserver support is DISABLED in this kernel build!
8a2af12a
JR
1097
1098EOF
1099%endif
1100
4dabe329 1101%posttrans
31a535c1 1102# use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
5aeaa3c2 1103[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
fed5e62c 1104initrd_file=""
5aeaa3c2 1105if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
31a535c1 1106 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
fed5e62c 1107 initrd_file="initrd-%{kernel_release}.gz"
5aeaa3c2 1108fi
fed5e62c
JK
1109
1110# if dracut is present then generate full-featured initramfs
1111if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
1112 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
5a5ad91b 1113 [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
fed5e62c
JK
1114fi
1115
5aeaa3c2
JR
1116if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1117 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
5a5ad91b
ER
1118 if [ -n "$initrd_file" ] ; then
1119 ln -sf "$initrd_file" %{initrd_dir}/initrd
1120 fi
b400362c 1121%if 0%{?alt_kernel:1}
5aeaa3c2 1122 mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
5a5ad91b
ER
1123 if [ -n "$initrd_file" ] ; then
1124 ln -sf "$initrd_file" %{initrd_dir}/initrd%{_alt_kernel}
1125 fi
b400362c 1126%endif
5aeaa3c2 1127fi
351f379b 1128
4dabe329 1129# update boot loaders when old package files are gone from filesystem
c5de1ad5 1130if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
4dabe329
ER
1131 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1132 /sbin/update-grub >/dev/null
c5de1ad5
ER
1133 fi
1134fi
351f379b 1135if [ -x /sbin/new-kernel-pkg ]; then
6ef17cf1 1136 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/$initrd_file --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
0bb27755
ER
1137fi
1138if [ -x /sbin/rc-boot ]; then
351f379b 1139 /sbin/rc-boot 1>&2 || :
a5585a68 1140fi
f06ac035
JK
1141if [ -x /sbin/efi-boot-update ]; then
1142 /sbin/efi-boot-update --auto || :
1143fi
a5585a68 1144
351f379b 1145%post vmlinux
5aeaa3c2
JR
1146[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1147if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1148 mv -f /boot/vmlinux{,.old} 2> /dev/null
1149 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
b400362c 1150%if 0%{?alt_kernel:1}
5aeaa3c2
JR
1151 mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
1152 ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
b400362c 1153%endif
5aeaa3c2 1154fi
351f379b 1155
351f379b
JR
1156%post drm
1157%depmod %{kernel_release}
a5585a68 1158
351f379b
JR
1159%postun drm
1160%depmod %{kernel_release}
a5585a68 1161
55e054be
JR
1162%post ide
1163%depmod %{kernel_release}
1164
1165%postun ide
1166%depmod %{kernel_release}
1167
351f379b
JR
1168%post pcmcia
1169%depmod %{kernel_release}
a5585a68 1170
351f379b
JR
1171%postun pcmcia
1172%depmod %{kernel_release}
a5585a68 1173
351f379b
JR
1174%post sound-alsa
1175%depmod %{kernel_release}
a5585a68 1176
351f379b
JR
1177%postun sound-alsa
1178%depmod %{kernel_release}
a5585a68 1179
351f379b
JR
1180%post sound-oss
1181%depmod %{kernel_release}
a5585a68 1182
351f379b
JR
1183%postun sound-oss
1184%depmod %{kernel_release}
a5585a68
AM
1185
1186%post headers
e865f3ec 1187ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
a5585a68
AM
1188
1189%postun headers
351f379b 1190if [ "$1" = "0" ]; then
e865f3ec
JR
1191 if [ -L %{_prefix}/src/linux%{versuffix}%{_alt_kernel} ]; then
1192 if [ "$(readlink %{_prefix}/src/linux%{versuffix}%{_alt_kernel})" = "linux%{versuffix}%{_alt_kernel}-%{version}" ]; then
1193 rm -f %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
a5585a68
AM
1194 fi
1195 fi
1196fi
1197
351f379b
JR
1198%triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1199ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1200ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1201
1202%triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1203if [ "$1" = 0 ]; then
1204 rm -f /lib/modules/%{kernel_release}/{build,source}
1205fi
1206
a5585a68
AM
1207%files
1208%defattr(644,root,root,755)
11f5dae8 1209%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
a5585a68 1210%ifarch sparc sparc64
351f379b 1211/boot/vmlinux.aout-%{kernel_release}
a5585a68
AM
1212%endif
1213%ifarch ia64
351f379b
JR
1214/boot/efi/vmlinuz-%{kernel_release}
1215%endif
1216/boot/vmlinuz-%{kernel_release}
1217/boot/System.map-%{kernel_release}
d9faffc5 1218/boot/config-%{kernel_release}
351f379b 1219%ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1a30aaa8 1220%ghost %{initrd_dir}/initramfs-%{kernel_release}.img
6133b03b 1221%if %{with firmware}
ae1c66e5 1222/lib/firmware/%{kernel_release}
6133b03b 1223%endif
351f379b
JR
1224
1225%dir /lib/modules/%{kernel_release}
1226%dir /lib/modules/%{kernel_release}/kernel
351f379b 1227/lib/modules/%{kernel_release}/kernel/arch
351f379b
JR
1228/lib/modules/%{kernel_release}/kernel/crypto
1229/lib/modules/%{kernel_release}/kernel/drivers
101ae904 1230%if %{have_drm}
351f379b
JR
1231%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1232%endif
55e054be 1233%if %{have_ide}
56f1b194 1234%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/*
55e054be 1235%endif
351f379b 1236/lib/modules/%{kernel_release}/kernel/fs
351f379b 1237/lib/modules/%{kernel_release}/kernel/kernel
351f379b
JR
1238/lib/modules/%{kernel_release}/kernel/lib
1239/lib/modules/%{kernel_release}/kernel/net
fecce547 1240/lib/modules/%{kernel_release}/kernel/mm
101ae904 1241%if %{have_sound}
351f379b
JR
1242%dir /lib/modules/%{kernel_release}/kernel/sound
1243/lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1244/lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1245%ifnarch sparc
2ba6f0dd
AM
1246%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1247%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1248%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
351f379b
JR
1249%endif
1250%endif
1251%dir /lib/modules/%{kernel_release}/misc
101ae904 1252%if %{have_pcmcia}
351f379b
JR
1253%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1254%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1255%exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1256%if %{without rescuecd}
1257%exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1258%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1259%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1260%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
088462e0 1261%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
351f379b
JR
1262%endif
1263%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
f9c9dc1a
JR
1264%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/arcnet/com20020_cs.ko*
1265%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/can/softing/softing_cs.ko*
1266%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c574_cs.ko*
1267%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c589_cs.ko*
1268%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/axnet_cs.ko*
1269%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/pcnet_cs.ko*
1270%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/amd/nmclan_cs.ko*
1271%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/fujitsu/fmvj18x_cs.ko*
1272%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/smsc/smc91c92_cs.ko*
1273%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/xircom/xirc2ps_cs.ko*
351f379b 1274%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
f9c9dc1a
JR
1275%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/atmel/*_cs.ko*
1276%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/cisco/*_cs.ko*
1277%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/hostap/hostap_cs.ko*
1278%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/orinoco/*_cs.ko*
1279%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/marvell/libertas/*_cs.ko*
351f379b 1280%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
7eafdf33 1281%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
351f379b
JR
1282%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1283%endif
101ae904 1284%if %{with myown}
1285/lib/modules/%{kernel_release}/kernel/sound
1286%endif
30812fb8 1287/lib/modules/%{kernel_release}/kernel/security
be52b249 1288/lib/modules/%{kernel_release}/kernel/virt
6d54bd67
ER
1289
1290%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1291
1292# provided by build
1293/lib/modules/%{kernel_release}/modules.order
8ee3ac38 1294/lib/modules/%{kernel_release}/modules.builtin*
6d54bd67
ER
1295
1296# rest modules.* are ghost (regenerated by post depmod -a invocation)
1297%ghost /lib/modules/%{kernel_release}/modules.alias
1298%ghost /lib/modules/%{kernel_release}/modules.alias.bin
6d54bd67
ER
1299%ghost /lib/modules/%{kernel_release}/modules.dep
1300%ghost /lib/modules/%{kernel_release}/modules.dep.bin
8ee3ac38 1301%ghost /lib/modules/%{kernel_release}/modules.devname
8ee3ac38 1302%ghost /lib/modules/%{kernel_release}/modules.softdep
6d54bd67
ER
1303%ghost /lib/modules/%{kernel_release}/modules.symbols
1304%ghost /lib/modules/%{kernel_release}/modules.symbols.bin
6d54bd67 1305
351f379b
JR
1306# symlinks pointing to kernelsrcdir
1307%ghost /lib/modules/%{kernel_release}/build
1308%ghost /lib/modules/%{kernel_release}/source
351f379b 1309
5c6b663b 1310%ifarch alpha %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
351f379b 1311%files vmlinux
a5585a68 1312%defattr(644,root,root,755)
351f379b 1313/boot/vmlinux-%{kernel_release}
a5585a68
AM
1314%endif
1315
101ae904 1316%if %{have_drm}
351f379b 1317%files drm
a5585a68 1318%defattr(644,root,root,755)
351f379b 1319/lib/modules/%{kernel_release}/kernel/drivers/gpu
a5585a68
AM
1320%endif
1321
55e054be
JR
1322%if %{have_ide}
1323%files ide
1324%defattr(644,root,root,755)
56f1b194 1325/lib/modules/%{kernel_release}/kernel/drivers/ide/*
2226c439
JR
1326%if %{have_pcmcia}
1327%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1328%endif
55e054be
JR
1329%endif
1330
101ae904 1331%if %{have_pcmcia}
351f379b 1332%files pcmcia
a5585a68 1333%defattr(644,root,root,755)
351f379b
JR
1334/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1335/lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1336%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1337%if %{without rescuecd}
1338/lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1339/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1340/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
351f379b 1341/lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
07100052 1342%endif
351f379b 1343/lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
f9c9dc1a
JR
1344/lib/modules/%{kernel_release}/kernel/drivers/net/arcnet/com20020_cs.ko*
1345/lib/modules/%{kernel_release}/kernel/drivers/net/can/softing/softing_cs.ko*
1346/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c574_cs.ko*
1347/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c589_cs.ko*
1348/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/axnet_cs.ko*
1349/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/pcnet_cs.ko*
1350/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/amd/nmclan_cs.ko*
1351/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/fujitsu/fmvj18x_cs.ko*
1352/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/smsc/smc91c92_cs.ko*
1353/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/xircom/xirc2ps_cs.ko*
351f379b 1354/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
f9c9dc1a
JR
1355/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/atmel/*_cs.ko*
1356/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/cisco/*_cs.ko*
1357/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/hostap/hostap_cs.ko*
1358/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/orinoco/*_cs.ko*
1359/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/marvell/libertas/*_cs.ko*
351f379b 1360/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
7eafdf33 1361/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
351f379b
JR
1362/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1363%endif
1364
101ae904 1365%if %{have_sound}
351f379b 1366%files sound-alsa
a5585a68 1367%defattr(644,root,root,755)
351f379b
JR
1368/lib/modules/%{kernel_release}/kernel/sound
1369%exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1370%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1371%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1372%if %{have_oss}
1373%exclude /lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1374%endif
351f379b 1375%ifnarch sparc
088462e0 1376/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
2ba6f0dd
AM
1377/lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1378/lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1379/lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
a5585a68
AM
1380%endif
1381
101ae904 1382%if %{have_oss}
351f379b 1383%files sound-oss
a5585a68 1384%defattr(644,root,root,755)
351f379b 1385/lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1386%endif
a5585a68
AM
1387%endif
1388
fecce547 1389%files headers -f files.headers_exclude_kbuild
a5585a68 1390%defattr(644,root,root,755)
30f08736 1391%dir %{_kernelsrcdir}
351f379b
JR
1392%{_kernelsrcdir}/include
1393%dir %{_kernelsrcdir}/arch
1394%dir %{_kernelsrcdir}/arch/[!K]*
1395%{_kernelsrcdir}/arch/*/include
1396%dir %{_kernelsrcdir}/security
1397%dir %{_kernelsrcdir}/security/selinux
1398%{_kernelsrcdir}/security/selinux/include
29564a2e
JR
1399%{_kernelsrcdir}/.config
1400%{_kernelsrcdir}/Module.symvers
351f379b 1401
fecce547 1402%files module-build -f files.mb_include_modulebuild_and_dirs
a5585a68 1403%defattr(644,root,root,755)
351f379b
JR
1404%ifarch ppc ppc64
1405%{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1406%endif
fecce547 1407%exclude %dir %{_kernelsrcdir}/arch/um
351f379b
JR
1408%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1409%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1410%{_kernelsrcdir}/drivers/lguest/lg.h
2ba6f0dd 1411%{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
351f379b 1412%{_kernelsrcdir}/kernel/bounds.c
4217a9ad
JR
1413%{_kernelsrcdir}/scripts/basic/*.c
1414%attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1415%{_kernelsrcdir}/scripts/kconfig/*.in
1416%{_kernelsrcdir}/scripts/kconfig/*_shipped
1417%{_kernelsrcdir}/scripts/kconfig/*.pl
1418%{_kernelsrcdir}/scripts/kconfig/*.glade
1419%{_kernelsrcdir}/scripts/kconfig/*.gperf
1420%{_kernelsrcdir}/scripts/kconfig/*.cc
1421%{_kernelsrcdir}/scripts/kconfig/*.y
1422%{_kernelsrcdir}/scripts/kconfig/*.l
1423%{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1424%{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1425%{_kernelsrcdir}/scripts/kconfig/l*.h
1426%{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
1427%{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
1428%{_kernelsrcdir}/scripts/kconfig/lxdialog
1429%{_kernelsrcdir}/scripts/mod/*.c
4442a07d 1430%{_kernelsrcdir}/scripts/mod/modpost.h
29564a2e 1431%attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
351f379b 1432%{_kernelsrcdir}/scripts/mkmakefile
960d2e94 1433%{_kernelsrcdir}/scripts/module-common.lds
29564a2e 1434%attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
351f379b 1435%{_kernelsrcdir}/scripts/*.c
77460261 1436%{_kernelsrcdir}/scripts/*.h
29564a2e 1437%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
9d6d5869 1438%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
c78e408d 1439%{_kernelsrcdir}/scripts/selinux/mdp/*.c
fecce547 1440%exclude %dir %{_kernelsrcdir}/security
1441%exclude %dir %{_kernelsrcdir}/security/selinux
a5585a68 1442
1848fd38 1443%if %{with doc}
a5585a68
AM
1444%files doc
1445%defattr(644,root,root,755)
d3a69071
ER
1446%dir %{_docdir}/%{name}-%{version}
1447
1448%{_docdir}/%{name}-%{version}/[!jkz]*
1449%{_docdir}/%{name}-%{version}/[jkz]*.txt
1450%{_docdir}/%{name}-%{version}/kbuild
1451%{_docdir}/%{name}-%{version}/kdump
1452%lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1453%lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1454%lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1848fd38 1455%endif
a5585a68
AM
1456
1457%if %{with source}
fecce547 1458%files source -f files.source_exclude_modulebuild_and_dirs
a5585a68 1459%defattr(644,root,root,755)
351f379b
JR
1460%{_kernelsrcdir}/arch/*/[!Mik]*
1461%{_kernelsrcdir}/arch/*/kernel/[!M]*
351f379b
JR
1462%{_kernelsrcdir}/arch/ia64/install.sh
1463%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1464%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
fecce547 1465%{_kernelsrcdir}/arch/m68k/install.sh
351f379b
JR
1466%{_kernelsrcdir}/arch/parisc/install.sh
1467%{_kernelsrcdir}/arch/x86/ia32/[!M]*
351f379b
JR
1468%{_kernelsrcdir}/arch/powerpc/kvm
1469%ifarch ppc ppc64
1470%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1471%endif
4442a07d 1472%{_kernelsrcdir}/arch/arm/kvm
392086de 1473%{_kernelsrcdir}/arch/arm64/kvm
7770d33f 1474%{_kernelsrcdir}/arch/mips/kvm
351f379b
JR
1475%{_kernelsrcdir}/arch/s390/kvm
1476%{_kernelsrcdir}/arch/x86/kvm
1477%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1478%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1479%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
2ba6f0dd 1480%exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
351f379b 1481%{_kernelsrcdir}/block
79b8bda9 1482%{_kernelsrcdir}/certs
351f379b
JR
1483%{_kernelsrcdir}/crypto
1484%{_kernelsrcdir}/drivers
1485%{_kernelsrcdir}/firmware
1486%{_kernelsrcdir}/fs
351f379b
JR
1487%{_kernelsrcdir}/init
1488%{_kernelsrcdir}/ipc
1489%{_kernelsrcdir}/kernel
1490%exclude %{_kernelsrcdir}/kernel/bounds.c
1491%{_kernelsrcdir}/lib
1492%{_kernelsrcdir}/mm
1493%{_kernelsrcdir}/net
1494%{_kernelsrcdir}/virt
1495%{_kernelsrcdir}/samples
1496%{_kernelsrcdir}/scripts/*
1497%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1498%exclude %{_kernelsrcdir}/scripts/Makefile*
1499%exclude %{_kernelsrcdir}/scripts/basic
1500%exclude %{_kernelsrcdir}/scripts/kconfig
960d2e94 1501%exclude %{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1502%exclude %{_kernelsrcdir}/scripts/mkmakefile
1503%exclude %{_kernelsrcdir}/scripts/mod
960d2e94 1504%exclude %{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1505%exclude %{_kernelsrcdir}/scripts/setlocalversion
1506%exclude %{_kernelsrcdir}/scripts/*.c
77460261 1507%exclude %{_kernelsrcdir}/scripts/*.h
351f379b 1508%exclude %{_kernelsrcdir}/scripts/*.sh
960d2e94 1509%exclude %dir %{_kernelsrcdir}/scripts/selinux
1510%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
c78e408d
PZ
1511%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1512%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1513%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
960d2e94 1514%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1515%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1516%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
351f379b
JR
1517%{_kernelsrcdir}/sound
1518%{_kernelsrcdir}/security
1519%exclude %{_kernelsrcdir}/security/selinux/include
94a92871 1520%{_kernelsrcdir}/tools/*
351f379b
JR
1521%{_kernelsrcdir}/usr
1522%{_kernelsrcdir}/COPYING
1523%{_kernelsrcdir}/CREDITS
1524%{_kernelsrcdir}/MAINTAINERS
1525%{_kernelsrcdir}/README
1526%{_kernelsrcdir}/REPORTING-BUGS
a5585a68 1527%endif
This page took 0.745971 seconds and 4 git commands to generate.