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