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