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