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