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