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