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