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