]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- 3.10.39
[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
b842e708 72%define rel 1
c06a8ce3 73%define basever 3.10
6450047e 74%define postver .39
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
6450047e 119# Patch0-md5: bfb4feed5a0c28bc0cb57b47bb6aed57
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
60bb736d 149Patch4: kernel-fbcon-margins.patch
1414594b 150Patch5: linux-wistron-amilo8210.patch
aaf5460f 151Patch6: linux-wistron-nx.patch
351f379b
JR
152
153# netfilter related stuff mostly based on patch-o-matic-ng
17da405a 154# snapshot 20070806 with some fixes. Some modules
e69c45e8 155# were ported to nf_conntrack.
351f379b
JR
156
157Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
351f379b 158
351f379b
JR
159# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
160Patch37: kernel-owner-xid.patch
161
351f379b
JR
162# based on kernel-2.6.25-layer7-2.20.patch from
163# http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
164Patch40: kernel-layer7.patch
165
351f379b
JR
166### End netfilter
167
168# http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
169Patch49: kernel-zph.patch
170
514e5dae 171# http://www.linuximq.net
351f379b
JR
172Patch50: kernel-imq.patch
173
40dc70f6 174Patch51: http://downloads.sourceforge.net/reiser4/reiser4-for-linux-3.x/reiser4-for-3.10.patch.gz
9e2e7385 175# Patch51-md5: 5af1bdc286a88ef79268337c7ff17508
351f379b 176
351f379b 177# http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
60bb736d 178Patch53: kernel-esfq.patch
351f379b 179
351f379b
JR
180# by Baggins request:
181# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
60bb736d
JR
182Patch55: kernel-atm-vbr.patch
183Patch56: kernel-atmdd.patch
351f379b 184
351f379b
JR
185# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
186Patch59: kernel-rndis_host-wm5.patch
187
351f379b
JR
188# adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
189# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
60bb736d 190Patch85: kernel-hostap.patch
351f379b 191
8bbd80b3
MGB
192# http://www.linuxtv.org/wiki/index.php/TechniSat_CableStar_Combo_HD_CI#Patch
193Patch90: kernel-technisat-combo-hd-ci.patch
194
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
0ed05467 335ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
a5585a68
AM
336ExclusiveOS: Linux
337BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
338
351f379b
JR
339%ifarch %{ix86} %{x8664}
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
348%ifnarch %{ix86} %{x8664} 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}\
351f379b
JR
408
409%define Features %(echo "%{__features}" | sed '/^$/d')
410
a5585a68
AM
411%description
412This package contains the Linux kernel that is used to boot and run
413your system. It contains few device drivers for specific hardware.
414Most hardware is instead supported by modules loaded after booting.
415
351f379b
JR
416%{Features}
417
3a467bc1
JR
418%description -l de.UTF-8
419Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
420Linux-Betriebssystems. Der Kernel ist für grundliegende
a5585a68 421Systemfunktionen verantwortlich: Speicherreservierung,
3a467bc1 422Prozeß-Management, Geräte Ein- und Ausgaben, usw.
a5585a68 423
351f379b
JR
424%{Features}
425
3a467bc1 426%description -l fr.UTF-8
a5585a68 427Le package kernel contient le kernel linux (vmlinuz), la partie
3a467bc1
JR
428centrale d'un système d'exploitation Linux. Le noyau traite les
429fonctions basiques d'un système d'exploitation: allocation mémoire,
430allocation de process, entrée/sortie de peripheriques, etc.
a5585a68 431
351f379b
JR
432%{Features}
433
3a467bc1
JR
434%description -l pl.UTF-8
435Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
436Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
437się w komputerze, takiego jak sterowniki dysków itp.
a5585a68 438
351f379b
JR
439%{Features}
440
441%package vmlinux
442Summary: vmlinux - uncompressed kernel image
443Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
444Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
445Group: Base/Kernel
446Obsoletes: kernel-smp-vmlinux
447
448%description vmlinux
449vmlinux - uncompressed kernel image.
450
451%description vmlinux -l de.UTF-8
452vmlinux - dekompressiertes Kernel Bild.
453
454%description vmlinux -l pl.UTF-8
455vmlinux - rozpakowany obraz jądra.
456
a5585a68
AM
457%package drm
458Summary: DRM kernel modules
351f379b
JR
459Summary(de.UTF-8): DRM Kernel Treiber
460Summary(pl.UTF-8): Sterowniki DRM
a5585a68 461Group: Base/Kernel
351f379b
JR
462Requires(postun): %{name} = %{epoch}:%{version}-%{release}
463Requires: %{name} = %{epoch}:%{version}-%{release}
464Obsoletes: kernel-smp-drm
07ff8614 465AutoReqProv: no
a5585a68
AM
466
467%description drm
351f379b
JR
468DRM kernel modules.
469
470%description drm -l de.UTF-8
471DRM Kernel Treiber.
a5585a68 472
3a467bc1 473%description drm -l pl.UTF-8
351f379b 474Sterowniki DRM.
a5585a68 475
795783d0
JR
476%package ide
477Summary: IDE kernel modules
478Summary(de.UTF-8): IDE Kernel Treiber
479Summary(pl.UTF-8): Sterowniki IDE
480Group: Base/Kernel
481Requires(postun): %{name} = %{epoch}:%{version}-%{release}
482Requires: %{name} = %{epoch}:%{version}-%{release}
483AutoReqProv: no
484
485%description ide
486IDE kernel modules.
487
488%description ide -l de.UTF-8
489IDE Kernel Treiber.
490
491%description ide -l pl.UTF-8
492Sterowniki IDE.
493
a5585a68
AM
494%package pcmcia
495Summary: PCMCIA modules
351f379b
JR
496Summary(de.UTF-8): PCMCIA Module
497Summary(pl.UTF-8): Moduły PCMCIA
a5585a68 498Group: Base/Kernel
351f379b
JR
499Requires(postun): %{name} = %{epoch}:%{version}-%{release}
500Requires: %{name} = %{epoch}:%{version}-%{release}
501Obsoletes: kernel-smp-pcmcia
502Conflicts: pcmcia-cs < 3.1.21
503Conflicts: pcmciautils < 004
07ff8614 504AutoReqProv: no
a5585a68
AM
505
506%description pcmcia
351f379b
JR
507PCMCIA modules.
508
509%description pcmcia -l de.UTF-8
510PCMCIA Module.
a5585a68 511
3a467bc1 512%description pcmcia -l pl.UTF-8
351f379b
JR
513Moduły PCMCIA.
514
a5585a68
AM
515%package sound-alsa
516Summary: ALSA kernel modules
351f379b
JR
517Summary(de.UTF-8): ALSA Kernel Module
518Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 519Group: Base/Kernel
351f379b
JR
520Requires(postun): %{name} = %{epoch}:%{version}-%{release}
521Requires: %{name} = %{epoch}:%{version}-%{release}
522Obsoletes: kernel-smp-sound-alsa
07ff8614 523AutoReqProv: no
a5585a68
AM
524
525%description sound-alsa
526ALSA (Advanced Linux Sound Architecture) sound drivers.
527
351f379b
JR
528%description sound-alsa -l de.UTF-8
529ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
530
3a467bc1
JR
531%description sound-alsa -l pl.UTF-8
532Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68
AM
533
534%package sound-oss
535Summary: OSS kernel modules
351f379b
JR
536Summary(de.UTF-8): OSS Kernel Module
537Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 538Group: Base/Kernel
351f379b
JR
539Requires(postun): %{name} = %{epoch}:%{version}-%{release}
540Requires: %{name} = %{epoch}:%{version}-%{release}
541Obsoletes: kernel-smp-sound-oss
07ff8614 542AutoReqProv: no
a5585a68
AM
543
544%description sound-oss
545OSS (Open Sound System) drivers.
546
351f379b
JR
547%description sound-oss -l de.UTF-8
548OSS (Open Sound System) Treiber.
549
3a467bc1
JR
550%description sound-oss -l pl.UTF-8
551Sterowniki dźwięku OSS (Open Sound System).
a5585a68 552
a5585a68
AM
553%package headers
554Summary: Header files for the Linux kernel
351f379b
JR
555Summary(de.UTF-8): Header Dateien für den Linux-Kernel
556Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
557Group: Development/Building
52e5f3df 558Provides: %{name}-headers(netfilter) = 20070806
07ff8614 559AutoReqProv: no
a5585a68
AM
560
561%description headers
562These are the C header files for the Linux kernel, which define
351f379b
JR
563structures and constants that are needed when rebuilding the kernel or
564building kernel modules.
565
566%description headers -l de.UTF-8
567Dies sind die C Header Dateien für den Linux-Kernel, die definierte
568Strukturen und Konstante beinhalten, die beim rekompilieren des
569Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 570
3a467bc1
JR
571%description headers -l pl.UTF-8
572Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
573oraz budowania modułów jądra.
a5585a68
AM
574
575%package module-build
576Summary: Development files for building kernel modules
351f379b
JR
577Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
578Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
579Group: Development/Building
a5585a68 580Requires: %{name}-headers = %{epoch}:%{version}-%{release}
7b6fa769 581Conflicts: rpmbuild(macros) < 1.652
07ff8614 582AutoReqProv: no
a5585a68
AM
583
584%description module-build
585Development files from kernel source tree needed to build Linux kernel
586modules from external packages.
587
351f379b
JR
588%description module-build -l de.UTF-8
589Development Dateien des Linux-Kernels die beim kompilieren externer
590Kernel Module gebraucht werden.
591
3a467bc1
JR
592%description module-build -l pl.UTF-8
593Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
594Linuksa z zewnętrznych pakietów.
a5585a68
AM
595
596%package source
597Summary: Kernel source tree
351f379b
JR
598Summary(de.UTF-8): Der Kernel Quelltext
599Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
600Group: Development/Building
a5585a68 601Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 602AutoReqProv: no
d63ae4d9
ER
603%if "%{_rpmversion}" >= "5"
604BuildArch: noarch
605%endif
a5585a68
AM
606
607%description source
351f379b
JR
608This is the source code for the Linux kernel. You can build a custom
609kernel that is better tuned to your particular hardware.
a5585a68 610
3a467bc1
JR
611%description source -l de.UTF-8
612Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 613Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 614C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 615im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 616benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
617Hardware ausgerichtet ist.
618
3a467bc1 619%description source -l fr.UTF-8
a5585a68 620Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
621linux. Ces sources sont nécessaires pour compiler la plupart des
622programmes C, car il dépend de constantes définies dans le code
623source. Les sources peuvent être aussi utilisée pour compiler un noyau
624personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
625particuliers.
626
3a467bc1
JR
627%description source -l pl.UTF-8
628Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
629
630%package doc
631Summary: Kernel documentation
351f379b
JR
632Summary(de.UTF-8): Kernel Dokumentation
633Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
634Group: Documentation
07ff8614 635AutoReqProv: no
d63ae4d9
ER
636%if "%{_rpmversion}" >= "5"
637BuildArch: noarch
638%endif
a5585a68
AM
639
640%description doc
641This is the documentation for the Linux kernel, as found in
642/usr/src/linux/Documentation directory.
643
351f379b
JR
644%description doc -l de.UTF-8
645Dies ist die Kernel Dokumentation wie sie im 'Documentation'
646Verzeichniss vorgefunden werden kann.
647
3a467bc1
JR
648%description doc -l pl.UTF-8
649Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
650/usr/src/linux/Documentation.
651
652%prep
351f379b
JR
653%setup -qc
654ln -s %{SOURCE7} kernel-module-build.pl
655ln -s %{SOURCE10} Makefile
67d87e28 656cd linux-%{basever}
a5585a68 657
1c5b0f0a 658%if "%{postver}" != ".0"
c6897157 659%patch0 -p1
351f379b 660%endif
a5585a68 661
7141a3b6 662%if %{without vanilla}
663
351f379b
JR
664%if %{with fbcondecor}
665%patch3 -p1
a5585a68 666%endif
351f379b 667%patch4 -p1
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}
351f379b 1025%ifarch %{ix86} %{x8664}
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}
1171 [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
1172fi
1173
5aeaa3c2
JR
1174if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1175 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
fed5e62c
JK
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
fed5e62c
JK
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
JR
1193if [ -x /sbin/new-kernel-pkg ]; then
1194 /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
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
JR
1289%if %{have_ide}
1290%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide
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
351f379b
JR
1353%ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
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)
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
29564a2e 1467%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
9d6d5869 1468%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
c78e408d 1469%{_kernelsrcdir}/scripts/selinux/mdp/*.c
fecce547 1470%exclude %dir %{_kernelsrcdir}/security
1471%exclude %dir %{_kernelsrcdir}/security/selinux
a5585a68 1472
1848fd38 1473%if %{with doc}
a5585a68
AM
1474%files doc
1475%defattr(644,root,root,755)
d3a69071
ER
1476%dir %{_docdir}/%{name}-%{version}
1477
1478%{_docdir}/%{name}-%{version}/[!jkz]*
1479%{_docdir}/%{name}-%{version}/[jkz]*.txt
1480%{_docdir}/%{name}-%{version}/kbuild
1481%{_docdir}/%{name}-%{version}/kdump
1482%lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1483%lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1484%lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1848fd38 1485%endif
a5585a68
AM
1486
1487%if %{with source}
fecce547 1488%files source -f files.source_exclude_modulebuild_and_dirs
a5585a68 1489%defattr(644,root,root,755)
351f379b
JR
1490%{_kernelsrcdir}/arch/*/[!Mik]*
1491%{_kernelsrcdir}/arch/*/kernel/[!M]*
351f379b
JR
1492%{_kernelsrcdir}/arch/ia64/install.sh
1493%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1494%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
fecce547 1495%{_kernelsrcdir}/arch/m68k/install.sh
351f379b
JR
1496%{_kernelsrcdir}/arch/parisc/install.sh
1497%{_kernelsrcdir}/arch/x86/ia32/[!M]*
1498%{_kernelsrcdir}/arch/ia64/kvm
1499%{_kernelsrcdir}/arch/powerpc/kvm
1500%ifarch ppc ppc64
1501%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1502%endif
4442a07d 1503%{_kernelsrcdir}/arch/arm/kvm
7770d33f 1504%{_kernelsrcdir}/arch/mips/kvm
351f379b
JR
1505%{_kernelsrcdir}/arch/s390/kvm
1506%{_kernelsrcdir}/arch/x86/kvm
1507%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1508%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1509%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
2ba6f0dd 1510%exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
351f379b
JR
1511%{_kernelsrcdir}/block
1512%{_kernelsrcdir}/crypto
1513%{_kernelsrcdir}/drivers
1514%{_kernelsrcdir}/firmware
1515%{_kernelsrcdir}/fs
351f379b
JR
1516%{_kernelsrcdir}/init
1517%{_kernelsrcdir}/ipc
1518%{_kernelsrcdir}/kernel
1519%exclude %{_kernelsrcdir}/kernel/bounds.c
1520%{_kernelsrcdir}/lib
1521%{_kernelsrcdir}/mm
1522%{_kernelsrcdir}/net
1523%{_kernelsrcdir}/virt
1524%{_kernelsrcdir}/samples
1525%{_kernelsrcdir}/scripts/*
1526%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1527%exclude %{_kernelsrcdir}/scripts/Makefile*
1528%exclude %{_kernelsrcdir}/scripts/basic
1529%exclude %{_kernelsrcdir}/scripts/kconfig
960d2e94 1530%exclude %{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1531%exclude %{_kernelsrcdir}/scripts/mkmakefile
1532%exclude %{_kernelsrcdir}/scripts/mod
960d2e94 1533%exclude %{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1534%exclude %{_kernelsrcdir}/scripts/setlocalversion
1535%exclude %{_kernelsrcdir}/scripts/*.c
1536%exclude %{_kernelsrcdir}/scripts/*.sh
960d2e94 1537%exclude %dir %{_kernelsrcdir}/scripts/selinux
1538%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
c78e408d
PZ
1539%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1540%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1541%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
960d2e94 1542%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1543%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1544%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
351f379b
JR
1545%{_kernelsrcdir}/sound
1546%{_kernelsrcdir}/security
1547%exclude %{_kernelsrcdir}/security/selinux/include
94a92871 1548%{_kernelsrcdir}/tools/*
351f379b
JR
1549%{_kernelsrcdir}/usr
1550%{_kernelsrcdir}/COPYING
1551%{_kernelsrcdir}/CREDITS
1552%{_kernelsrcdir}/MAINTAINERS
1553%{_kernelsrcdir}/README
1554%{_kernelsrcdir}/REPORTING-BUGS
a5585a68 1555%endif
This page took 0.68538 seconds and 4 git commands to generate.