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