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