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