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