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