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