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