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