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