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