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