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