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