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