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