]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- avoid 30s xfs hangs
[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
15a064bf 5# - with_grsecurity
a5585a68 6#
8ad00cb1
ER
7# LATEST VERSION CHECKER:
8# # curl -s http://www.kernel.org/kdist/finger_banner
9#
a5585a68 10# TODO:
351f379b 11# - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
9a1672a0
JR
12# - IPv4 source address selection for multihomed vservers is completely broken
13# meaning routing table is ignored except for default
351f379b 14#
fc5a68a2
AM
15# HOWTO update configuration files:
16# - run build
17# - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
18# - sort configuration files using:
ee5dc1b8 19# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
fc5a68a2 20# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
a5585a68
AM
21#
22# Conditional build:
a5585a68 23%bcond_without source # don't build kernel-source package
1848fd38 24%bcond_without doc # don't build kernel-doc package
351f379b
JR
25%bcond_without pcmcia # don't build pcmcia
26
a5585a68 27%bcond_with verbose # verbose build (V=1)
03de6725 28%bcond_with reiser4 # support for reiser4 fs (experimental)
351f379b
JR
29
30%bcond_without grsecurity # don't build grsecurity nor pax at all
d615e060 31%bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
351f379b
JR
32
33%bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
34%bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
35%bcond_with nfsroot # build with root on NFS support
36
7f07242b 37%bcond_without imq # imq support
1b75c2b4
JR
38%bcond_without wrr # wrr support
39%bcond_without esfq # esfq support
351f379b
JR
40%bcond_without ipv6 # ipv6 support
41
42%bcond_without vserver # support for VServer (enabled by default)
351f379b 43
7141a3b6 44%bcond_with vanilla # don't include any patches
351f379b 45%bcond_with rescuecd # build kernel for our rescue
351f379b 46%bcond_with myown # build with your own config (kernel-myown.config)
a5585a68
AM
47
48%{?debug:%define with_verbose 1}
49
06936f6f 50%if %{with vanilla}
51%unglobal with_grsecurity
52%endif
53
351f379b 54%if %{without grsecurity}
b488384f 55%unglobal with_pax
a5585a68 56%endif
351f379b 57
17da405a 58%if %{with pax}
351f379b
JR
59%define with_grsecurity 1
60%define with_pax 1
61%endif
62
351f379b
JR
63%define have_drm 1
64%define have_oss 1
65%define have_sound 1
101ae904 66%define have_pcmcia 1
351f379b
JR
67
68%if %{with rescuecd}
b488384f 69%unglobal with_grsecurity
b488384f
AM
70%unglobal with_pax
71%unglobal with_vserver
351f379b
JR
72%define have_drm 0
73%define have_sound 0
74%endif
75
101ae904 76%if %{with myown}
77%define have_drm 0
78%define have_oss 0
79%define have_sound 0
80%define have_pcmcia 0
351f379b
JR
81%endif
82
83%ifarch sparc sparc64
b488384f 84%unglobal with_pcmcia
351f379b
JR
85%define have_drm 0
86%define have_oss 0
87%endif
88
101ae904 89%if %{without pcmcia}
90%define have_pcmcia 0
91%endif
92
439535d6 93%define rel 0.1
d039881e 94%define basever 3.1
439535d6 95%define postver .2
a5585a68 96
de20e7d7
AM
97%define module_init_tools_ver 3.16
98
1fb73fcf
ER
99# __alt_kernel is list of features, empty string if none set
100# _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
101# alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
ff48aee0 102%define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
b2615ca0 103
ff48aee0 104%if "%{__alt_kernel}" != ""
b2615ca0 105%define alt_kernel %{__alt_kernel}
ff48aee0
ER
106%endif
107
108# these override whatever name was picked from bconds
1fb73fcf 109%if %{with myown} && "%{_alt_kernel}" == ""
101ae904 110%define alt_kernel myown
351f379b 111%endif
06936f6f 112%if %{with rescuecd}
113%define alt_kernel rescuecd
351f379b 114%endif
ff48aee0
ER
115%if %{with vanilla}
116%define alt_kernel vanilla
b2615ca0 117%endif
351f379b
JR
118
119# kernel release (used in filesystem and eventually in uname -r)
120# modules will be looked from /lib/modules/%{kernel_release}
121# localversion is just that without version for "> localversion"
122%define localversion %{rel}
123%define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
a5585a68
AM
124
125Summary: The Linux kernel (the core of the Linux operating system)
351f379b
JR
126Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
127Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
128Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
129Summary(pl.UTF-8): Jądro Linuksa
1fb73fcf 130Name: kernel%{_alt_kernel}
351f379b
JR
131Version: %{basever}%{postver}
132Release: %{rel}
a5585a68 133Epoch: 3
c491b43b 134License: GPL v2
a5585a68 135Group: Base/Kernel
d039881e
AM
136Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
137# Source0-md5: edbdc798f23ae0f8045c82f6fa22c536
4d8c31dd 138%if "%{postver}" != ".0"
d039881e 139Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
439535d6 140# Patch0-md5: 7487d8e6f00c077f6e15d6f4f9947c30
351f379b
JR
141%endif
142
143Source3: kernel-autoconf.h
144Source4: kernel-config.h
351f379b
JR
145Source6: kernel-config.awk
146Source7: kernel-module-build.pl
147Source8: kernel-track-config-change.awk
148# not used by kernel.spec, but it's good to have it in SOURCES
149Source9: kernel-config-sort.pl
150Source10: kernel.make
151
152Source20: kernel-multiarch.config
153Source21: kernel-x86.config
154Source22: kernel-sparc.config
5a99ae3d 155Source23: kernel-alpha.config
156Source24: kernel-powerpc.config
157Source25: kernel-ia64.config
351f379b 158
351f379b 159Source41: kernel-patches.config
351f379b
JR
160Source43: kernel-vserver.config
161Source45: kernel-grsec.config
162
163Source49: kernel-pax.config
164Source50: kernel-no-pax.config
351f379b
JR
165Source55: kernel-imq.config
166Source56: kernel-reiser4.config
167Source57: kernel-wrr.config
168
169Source58: kernel-inittmpfs.config
351f379b 170
351f379b
JR
171# http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
172Patch3: kernel-fbcondecor.patch
60bb736d 173Patch4: kernel-fbcon-margins.patch
1414594b 174Patch5: linux-wistron-amilo8210.patch
351f379b
JR
175
176# netfilter related stuff mostly based on patch-o-matic-ng
17da405a 177# snapshot 20070806 with some fixes. Some modules
e69c45e8 178# were ported to nf_conntrack.
351f379b
JR
179
180Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
351f379b 181
351f379b
JR
182Patch16: kernel-pom-ng-mms-conntrack-nat.patch
183Patch22: kernel-pom-ng-rsh.patch
184Patch23: kernel-pom-ng-rpc.patch
185
186# based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
187Patch36: kernel-nf_rtsp.patch
188
189# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
190Patch37: kernel-owner-xid.patch
191
351f379b
JR
192# based on kernel-2.6.25-layer7-2.20.patch from
193# http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
194Patch40: kernel-layer7.patch
195
351f379b
JR
196### End netfilter
197
198# http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
199Patch49: kernel-zph.patch
200
a168f21d 201# based on http://www.linuximq.net/patchs/patch-imqmq-3.0.diff.bz2
351f379b
JR
202Patch50: kernel-imq.patch
203
76514441 204# http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
351f379b
JR
205Patch51: kernel-reiser4.patch
206
207# http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
208Patch52: kernel-wrr.patch
209
210# http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
60bb736d 211Patch53: kernel-esfq.patch
351f379b
JR
212
213# http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
60bb736d 214Patch54: kernel-toshiba_acpi.patch
351f379b
JR
215
216# by Baggins request:
217# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
60bb736d
JR
218Patch55: kernel-atm-vbr.patch
219Patch56: kernel-atmdd.patch
351f379b 220
351f379b
JR
221# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
222Patch59: kernel-rndis_host-wm5.patch
223
351f379b
JR
224# adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
225# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
60bb736d 226Patch85: kernel-hostap.patch
351f379b 227
c6ceaf95 228# http://vserver.13thfloor.at/Experimental/patch-3.1.1-vs2.3.2.diff
60bb736d 229Patch100: kernel-vserver-2.3.patch
351f379b
JR
230Patch101: kernel-vserver-fixes.patch
231
6b53c3da 232# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.10_for_3.1.0-rc4.diff.gz
351f379b 233Patch140: kernel-unionfs.patch
351f379b 234
53392da6 235# git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
b752ccd1 236# Patch creation:
53392da6
AM
237# git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
238# cd aufs3-standalone
239# git checkout -b aufs3.0 origin/aufs3.0
240# cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
b752ccd1
AM
241# mkdir linux
242# cp -a Documentation fs include linux
53392da6 243# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
0c5527e5 244#
53392da6 245Patch145: kernel-aufs3.patch
20493b41 246Patch146: kernel-aufs2-unionfs.patch
52daa4ad 247Patch147: kernel-aufs2-no-const-grsec.patch
4f0767ce 248Patch148: kernel-aufs2-reiser4.patch
a899ef35 249
54fd642e 250# Show normal colors in menuconfig with ncurses ABI 6
251Patch250: kernel-fix_256colors_menuconfig.patch
252
31f62932
AM
253# https://patchwork.kernel.org/patch/236261/
254Patch400: kernel-virtio-gl-accel.patch
255
08aa9d92 256Patch2000: kernel-small_fixes.patch
60bb736d 257Patch2001: kernel-pwc-uncompress.patch
351f379b
JR
258Patch2003: kernel-regressions.patch
259
fc63ffa9
AM
260# 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
261# 0002-AppArmor-compatibility-patch-for-v5-interface.patch
262# from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
351f379b 263Patch5000: kernel-apparmor.patch
351f379b
JR
264
265# for rescuecd
48ead238 266# based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
351f379b
JR
267Patch7000: kernel-inittmpfs.patch
268
72d8db2c 269# based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.1.1-201111181902.patch
4a6985f1
AM
270# NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
271# (since upstream deletes older patches)
f719d6cb
AM
272# NOTE: mirror of old grsecurity patches:
273# https://github.com/slashbeast/grsecurity-scrape/tree/master/test
60bb736d
JR
274Patch9999: kernel-grsec_full.patch
275Patch10000: kernel-grsec-caps.patch
276Patch10001: kernel-grsec-common.patch
351f379b 277Patch10002: kernel-grsec_fixes.patch
bf6838be 278
73cc1c57 279# Do not remove this line, please. It is easier for me to uncomment two lines, then patch
280# kernel.spec every time.
281#Patch50000: kernel-usb_reset.patch
282
a5585a68 283URL: http://www.kernel.org/
351f379b 284BuildRequires: binutils >= 3:2.18
a5585a68
AM
285%ifarch sparc sparc64
286BuildRequires: elftoaout
287%endif
351f379b
JR
288%ifarch ppc
289BuildRequires: uboot-mkimage
290%endif
351f379b
JR
291BuildRequires: /sbin/depmod
292BuildRequires: gcc >= 5:3.2
cfce203c 293BuildRequires: xz >= 1:4.999.7
e69c45e8 294AutoReqProv: no
d80d232c 295BuildRequires: hostname
de20e7d7 296BuildRequires: module-init-tools >= %{module_init_tools_ver}
a5585a68 297BuildRequires: perl-base
b488384f 298BuildRequires: rpm-build >= 4.5-24
351f379b
JR
299BuildRequires: rpmbuild(macros) >= 1.217
300Requires(post): coreutils
301Requires(post): geninitrd >= 10000-3
de20e7d7 302Requires(post): module-init-tools >= %{module_init_tools_ver}
351f379b
JR
303Requires: /sbin/depmod
304Requires: coreutils
305Requires: geninitrd >= 10000-3
de20e7d7 306Requires: module-init-tools >= %{module_init_tools_ver}
b75546f3 307Suggests: keyutils
52e5f3df 308Provides: %{name}(netfilter) = 20070806
351f379b 309Provides: %{name}(vermagic) = %{kernel_release}
1fb73fcf
ER
310Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
311Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
312Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
313Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
314Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
315Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
26b1ceeb 316Obsoletes: kernel-firmware
351f379b
JR
317Obsoletes: kernel-misc-acer_acpi
318Obsoletes: kernel-misc-fuse
319Obsoletes: kernel-misc-uvc
a5585a68 320Obsoletes: kernel-modules
351f379b
JR
321Obsoletes: kernel-net-ar81
322Obsoletes: kernel-net-hostap
323Obsoletes: kernel-net-ieee80211
324Obsoletes: kernel-net-ipp2p
325Obsoletes: kernel-net-rt61
326Obsoletes: kernel-smp
327Conflicts: e2fsprogs < 1.29
328Conflicts: isdn4k-utils < 3.1pre1
329Conflicts: jfsutils < 1.1.3
cf8de22f 330Conflicts: lvm2 < 2.02.40
351f379b
JR
331Conflicts: nfs-utils < 1.0.5
332Conflicts: oprofile < 0.9
333Conflicts: ppp < 1:2.4.0
334Conflicts: procps < 3.2.0
335Conflicts: quota-tools < 3.09
4dabe329 336%{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
351f379b 337Conflicts: reiserfsprogs < 3.6.3
4dabe329 338Conflicts: rpm < 4.4.2-0.2
351f379b
JR
339Conflicts: udev < 1:081
340Conflicts: util-linux < 2.10o
d3c4e01e 341Conflicts: util-vserver < 0.30.216
351f379b
JR
342Conflicts: xfsprogs < 2.6.0
343%if %{with pae}
344ExcludeArch: i386 i486 i586
345%else
346ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
347%endif
a5585a68
AM
348ExclusiveOS: Linux
349BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
350
351f379b
JR
351%ifarch %{ix86} %{x8664}
352%define target_arch_dir x86
353%endif
354%ifarch ppc ppc64
355%define target_arch_dir powerpc
356%endif
5a99ae3d 357%ifarch sparc sparc64
358%define target_arch_dir sparc
359%endif
360%ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
351f379b
JR
361%define target_arch_dir %{_target_base_arch}
362%endif
363
364%define defconfig arch/%{target_arch_dir}/defconfig
365
366# No ELF objects there to strip (skips processing 27k files)
ded910ba 367%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
351f379b 368%define _noautochrpath .*%{_kernelsrcdir}/.*
b36a2f6d 369%define _enable_debug_packages 0
351f379b 370
a5585a68
AM
371%ifarch ia64
372%define initrd_dir /boot/efi
373%else
374%define initrd_dir /boot
375%endif
376
351f379b 377%define topdir %{_builddir}/%{name}-%{version}
67d87e28 378%define srcdir %{topdir}/linux-%{basever}
351f379b
JR
379%define objdir %{topdir}/%{targetobj}
380%define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
381
1fb73fcf 382%define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
351f379b
JR
383
384%if "%{_target_base_arch}" != "%{_arch}"
385 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
386 %define DepMod /bin/true
387
388 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
389 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
390 %define DepMod /sbin/depmod
391 %endif
392
393 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
394 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
395 %define DepMod /sbin/depmod
396 %endif
397
398 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
399 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
400 %define DepMod /sbin/depmod
401 %endif
402
5a99ae3d 403 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
351f379b
JR
404 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
405 %endif
406%else
407 %ifarch ppc ppc64
408 %define CrossOpts ARCH=powerpc CC="%{__cc}"
409 %else
410 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
411 %endif
412 %define DepMod /sbin/depmod
413%endif
414%define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
415
52e5f3df 416%define __features \
15a064bf 417%{?with_grsecurity:Grsecurity support - enabled}\
351f379b
JR
418%{?with_pax:PaX support - enabled}\
419%{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
420%{?with_nfsroot:Root on NFS - enabled}\
351f379b
JR
421
422%define Features %(echo "%{__features}" | sed '/^$/d')
423
a5585a68
AM
424%description
425This package contains the Linux kernel that is used to boot and run
426your system. It contains few device drivers for specific hardware.
427Most hardware is instead supported by modules loaded after booting.
428
351f379b
JR
429%{Features}
430
3a467bc1
JR
431%description -l de.UTF-8
432Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
433Linux-Betriebssystems. Der Kernel ist für grundliegende
a5585a68 434Systemfunktionen verantwortlich: Speicherreservierung,
3a467bc1 435Prozeß-Management, Geräte Ein- und Ausgaben, usw.
a5585a68 436
351f379b
JR
437%{Features}
438
3a467bc1 439%description -l fr.UTF-8
a5585a68 440Le package kernel contient le kernel linux (vmlinuz), la partie
3a467bc1
JR
441centrale d'un système d'exploitation Linux. Le noyau traite les
442fonctions basiques d'un système d'exploitation: allocation mémoire,
443allocation de process, entrée/sortie de peripheriques, etc.
a5585a68 444
351f379b
JR
445%{Features}
446
3a467bc1
JR
447%description -l pl.UTF-8
448Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
449Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
450się w komputerze, takiego jak sterowniki dysków itp.
a5585a68 451
351f379b
JR
452%{Features}
453
454%package vmlinux
455Summary: vmlinux - uncompressed kernel image
456Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
457Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
458Group: Base/Kernel
459Obsoletes: kernel-smp-vmlinux
460
461%description vmlinux
462vmlinux - uncompressed kernel image.
463
464%description vmlinux -l de.UTF-8
465vmlinux - dekompressiertes Kernel Bild.
466
467%description vmlinux -l pl.UTF-8
468vmlinux - rozpakowany obraz jądra.
469
a5585a68
AM
470%package drm
471Summary: DRM kernel modules
351f379b
JR
472Summary(de.UTF-8): DRM Kernel Treiber
473Summary(pl.UTF-8): Sterowniki DRM
a5585a68 474Group: Base/Kernel
351f379b
JR
475Requires(postun): %{name} = %{epoch}:%{version}-%{release}
476Requires: %{name} = %{epoch}:%{version}-%{release}
477Obsoletes: kernel-smp-drm
07ff8614 478AutoReqProv: no
a5585a68
AM
479
480%description drm
351f379b
JR
481DRM kernel modules.
482
483%description drm -l de.UTF-8
484DRM Kernel Treiber.
a5585a68 485
3a467bc1 486%description drm -l pl.UTF-8
351f379b 487Sterowniki DRM.
a5585a68
AM
488
489%package pcmcia
490Summary: PCMCIA modules
351f379b
JR
491Summary(de.UTF-8): PCMCIA Module
492Summary(pl.UTF-8): Moduły PCMCIA
a5585a68 493Group: Base/Kernel
351f379b
JR
494Requires(postun): %{name} = %{epoch}:%{version}-%{release}
495Requires: %{name} = %{epoch}:%{version}-%{release}
496Obsoletes: kernel-smp-pcmcia
497Conflicts: pcmcia-cs < 3.1.21
498Conflicts: pcmciautils < 004
07ff8614 499AutoReqProv: no
a5585a68
AM
500
501%description pcmcia
351f379b
JR
502PCMCIA modules.
503
504%description pcmcia -l de.UTF-8
505PCMCIA Module.
a5585a68 506
3a467bc1 507%description pcmcia -l pl.UTF-8
351f379b
JR
508Moduły PCMCIA.
509
a5585a68
AM
510%package sound-alsa
511Summary: ALSA kernel modules
351f379b
JR
512Summary(de.UTF-8): ALSA Kernel Module
513Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 514Group: Base/Kernel
351f379b
JR
515Requires(postun): %{name} = %{epoch}:%{version}-%{release}
516Requires: %{name} = %{epoch}:%{version}-%{release}
517Obsoletes: kernel-smp-sound-alsa
07ff8614 518AutoReqProv: no
a5585a68
AM
519
520%description sound-alsa
521ALSA (Advanced Linux Sound Architecture) sound drivers.
522
351f379b
JR
523%description sound-alsa -l de.UTF-8
524ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
525
3a467bc1
JR
526%description sound-alsa -l pl.UTF-8
527Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68
AM
528
529%package sound-oss
530Summary: OSS kernel modules
351f379b
JR
531Summary(de.UTF-8): OSS Kernel Module
532Summary(pl.UTF-8): Sterowniki dźwięku OSS
a5585a68 533Group: Base/Kernel
351f379b
JR
534Requires(postun): %{name} = %{epoch}:%{version}-%{release}
535Requires: %{name} = %{epoch}:%{version}-%{release}
536Obsoletes: kernel-smp-sound-oss
07ff8614 537AutoReqProv: no
a5585a68
AM
538
539%description sound-oss
540OSS (Open Sound System) drivers.
541
351f379b
JR
542%description sound-oss -l de.UTF-8
543OSS (Open Sound System) Treiber.
544
3a467bc1
JR
545%description sound-oss -l pl.UTF-8
546Sterowniki dźwięku OSS (Open Sound System).
a5585a68 547
a5585a68
AM
548%package headers
549Summary: Header files for the Linux kernel
351f379b
JR
550Summary(de.UTF-8): Header Dateien für den Linux-Kernel
551Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
552Group: Development/Building
52e5f3df 553Provides: %{name}-headers(netfilter) = 20070806
07ff8614 554AutoReqProv: no
a5585a68
AM
555
556%description headers
557These are the C header files for the Linux kernel, which define
351f379b
JR
558structures and constants that are needed when rebuilding the kernel or
559building kernel modules.
560
561%description headers -l de.UTF-8
562Dies sind die C Header Dateien für den Linux-Kernel, die definierte
563Strukturen und Konstante beinhalten, die beim rekompilieren des
564Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 565
3a467bc1
JR
566%description headers -l pl.UTF-8
567Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
568oraz budowania modułów jądra.
a5585a68
AM
569
570%package module-build
571Summary: Development files for building kernel modules
351f379b
JR
572Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
573Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
574Group: Development/Building
a5585a68 575Requires: %{name}-headers = %{epoch}:%{version}-%{release}
6cdfd0b2 576Conflicts: rpmbuild(macros) < 1.619
07ff8614 577AutoReqProv: no
a5585a68
AM
578
579%description module-build
580Development files from kernel source tree needed to build Linux kernel
581modules from external packages.
582
351f379b
JR
583%description module-build -l de.UTF-8
584Development Dateien des Linux-Kernels die beim kompilieren externer
585Kernel Module gebraucht werden.
586
3a467bc1
JR
587%description module-build -l pl.UTF-8
588Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
589Linuksa z zewnętrznych pakietów.
a5585a68
AM
590
591%package source
592Summary: Kernel source tree
351f379b
JR
593Summary(de.UTF-8): Der Kernel Quelltext
594Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
595Group: Development/Building
a5585a68 596Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 597AutoReqProv: no
a5585a68
AM
598
599%description source
351f379b
JR
600This is the source code for the Linux kernel. You can build a custom
601kernel that is better tuned to your particular hardware.
a5585a68 602
3a467bc1
JR
603%description source -l de.UTF-8
604Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 605Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 606C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 607im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 608benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
609Hardware ausgerichtet ist.
610
3a467bc1 611%description source -l fr.UTF-8
a5585a68 612Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
613linux. Ces sources sont nécessaires pour compiler la plupart des
614programmes C, car il dépend de constantes définies dans le code
615source. Les sources peuvent être aussi utilisée pour compiler un noyau
616personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
617particuliers.
618
3a467bc1
JR
619%description source -l pl.UTF-8
620Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
621
622%package doc
623Summary: Kernel documentation
351f379b
JR
624Summary(de.UTF-8): Kernel Dokumentation
625Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
626Group: Documentation
07ff8614 627AutoReqProv: no
a5585a68
AM
628
629%description doc
630This is the documentation for the Linux kernel, as found in
631/usr/src/linux/Documentation directory.
632
351f379b
JR
633%description doc -l de.UTF-8
634Dies ist die Kernel Dokumentation wie sie im 'Documentation'
635Verzeichniss vorgefunden werden kann.
636
3a467bc1
JR
637%description doc -l pl.UTF-8
638Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
639/usr/src/linux/Documentation.
640
641%prep
351f379b
JR
642%setup -qc
643ln -s %{SOURCE7} kernel-module-build.pl
644ln -s %{SOURCE10} Makefile
67d87e28 645cd linux-%{basever}
a5585a68 646
351f379b 647# hack against warning in pax/grsec
351f379b 648sed -i 's/-Werror//' arch/alpha/kernel/Makefile
a5585a68 649
c6897157 650
1c5b0f0a 651%if "%{postver}" != ".0"
c6897157 652%patch0 -p1
351f379b 653%endif
a5585a68 654
7141a3b6 655%if %{without vanilla}
656
351f379b
JR
657%if %{with fbcondecor}
658%patch3 -p1
a5585a68 659%endif
351f379b 660%patch4 -p1
1414594b 661%patch5 -p1
a5585a68 662
351f379b
JR
663## netfilter
664#
a5585a68 665
351f379b
JR
666# kernel-pom-ng-IPV4OPTSSTRIP.patch
667%patch10 -p1
a5585a68 668
351f379b
JR
669# kernel-pom-ng-mms-conntrack-nat.patch
670%patch16 -p1
a5585a68 671
351f379b
JR
672# kernel-pom-ng-rsh.patch
673%patch22 -p1
a5585a68 674
351f379b
JR
675# kernel-pom-ng-rpc.patch
676%patch23 -p1
a5585a68 677
351f379b
JR
678# kernel-nf_rtsp.patch
679%patch36 -p1
a5585a68 680
351f379b
JR
681# kernel-owner-xid.patch
682%if %{with vserver}
683%patch37 -p1
a5585a68 684%endif
a5585a68 685
351f379b
JR
686# kernel-layer7.patch
687%patch40 -p1
688
351f379b
JR
689##
690# end of netfilter
691
692# zph
693%patch49 -p1
694
695%if %{with imq}
696%patch50 -p1
a5585a68 697%endif
351f379b
JR
698
699# reiser4
700%if %{with reiser4}
701%patch51 -p1
a5585a68 702%endif
351f379b 703
351f379b 704# esfq
068b6c82
AM
705%if %{with esfq}
706%patch53 -p1
707%endif
351f379b
JR
708
709%if %{with wrr}
710%patch52 -p1
a5585a68 711%endif
351f379b
JR
712
713# toshiba_acpi
714%patch54 -p1
715
716%patch55 -p1
717%patch56 -p1
718
351f379b
JR
719# kernel-rndis_host-wm5.patch
720%patch59 -p1
721
722# hostap enhancements from/for aircrack-ng
723%patch85 -p1
724
351f379b
JR
725# vserver
726%if %{with vserver}
727%patch100 -p1
728%patch101 -p1
a5585a68 729%endif
351f379b 730
17da405a 731# aufs2
4f0767ce
JR
732%if %{with reiser4}
733%patch148 -p1
734%endif
20493b41
JR
735%patch145 -p1
736%patch146 -p1
737
738# unionfs
739%patch140 -p1
a5585a68 740
351f379b
JR
741%if %{with rescuecd}
742%patch7000 -p1
e981df17 743%endif
a5585a68 744
351f379b
JR
745# grsecurity & pax stuff
746#
351f379b 747
17da405a 748%if %{with grsecurity}
b2fd5bd8 749%patch9999 -p1
52daa4ad 750# aufs needs this
285f3774 751%patch147 -p1
b2fd5bd8
JR
752%{?with_vserver:%patch10000 -p1}
753%{?with_vserver:%patch10001 -p1}
754%{?with_vserver:%patch10002 -p1}
351f379b 755%endif
351f379b
JR
756#
757# end of grsecurity & pax stuff
758
df4db69a 759# apparmor
df4db69a 760%patch5000 -p1
df4db69a 761
54fd642e 762%patch250 -p1
763
31f62932
AM
764# virtio-gl
765%patch400 -p1
766
7141a3b6 767%endif # vanilla
768
351f379b 769# Small fixes:
08aa9d92 770%patch2000 -p1
351f379b
JR
771%patch2001 -p1
772#%patch2003 -p1
a5585a68 773
73cc1c57 774# Do not remove this, please!
775#%patch50000 -p1
776
351f379b 777# Fix EXTRAVERSION in main Makefile
1c5b0f0a 778sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
a5585a68 779
351f379b
JR
780# cleanup backups after patching
781find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
a5585a68 782
351f379b
JR
783%build
784install -d %{objdir}
785cat > %{targetobj}.mk <<'EOF'
786# generated by %{name}.spec
d85d4a9b 787KERNELSRC := %{srcdir}
351f379b
JR
788KERNELOUTPUT := %{objdir}
789
790SRCARCH := %{target_arch_dir}
791ARCH := %{_target_base_arch}
792Q := %{!?with_verbose:@}
793MAKE_OPTS := %{MakeOpts}
794DEFCONFIG := %{defconfig}
795EOF
a5585a68 796
351f379b
JR
797PaXconfig() {
798 set -x
799 cat <<-EOCONFIG > $1
800 %ifarch %{ix86}
801 CONFIG_PAX_SEGMEXEC=y
802 # performance impact on CPUs without NX bit
803 CONFIG_PAX_PAGEEXEC=n
804 # Testing KERNEXEC
805
806 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
807 CONFIG_PCI_BIOS=n
808 CONFIG_EFI=n
809 %endif
a5585a68 810
351f379b
JR
811 %ifarch ppc64
812 CONFIG_PAX_NOELFRELOCS=n
813 %endif
814 %ifarch ppc
815 CONFIG_PAX_EMUTRAMP=y
816 CONFIG_PAX_EMUSIGRT=y
817 CONFIG_PAX_EMUPLT=y
818 %endif
a5585a68 819
351f379b
JR
820 %ifarch sparc sparc64 alpha
821 CONFIG_PAX_EMUPLT=y
822 %endif
a5585a68 823
d615e060 824 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
351f379b
JR
825 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
826 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
e69c45e8 827 # PAX_HOOK_ACL_FLAGS.
351f379b 828
15a064bf 829 %if %{with grsecurity}
351f379b
JR
830 # Hardening grsec options if with pax
831 CONFIG_GRKERNSEC_PROC_MEMMAP=y
832 # almost rational (see HIDESYM help)
833 CONFIG_GRKERNSEC_HIDESYM=y
834
835 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
836 %else
351f379b
JR
837 CONFIG_PAX_HAVE_ACL_FLAGS=n
838 CONFIG_PAX_HOOK_ACL_FLAGS=y
839 %endif
840EOCONFIG
a5585a68 841
351f379b
JR
842 return 0
843}
a5585a68 844
351f379b
JR
845RescueConfig() {
846 set -x
847 cat <<-EOCONFIG > $1
848 # CONFIG_SOUND is not set
849 # CONFIG_AUDIT is not set
850 # CONFIG_TR is not set
851 # CONFIG_BT is not set
852 # CONFIG_VIDEO_DEV is not set
853 # CONFIG_DVB_CORE is not set
854 # CONFIG_HAMRADIO is not set
855 # CONFIG_ARCNET is not set
856 # CONFIG_FB is not set
857 # CONFIG_DRM is not set
858 # CONFIG_WATCHDOG is not set
859 # CONFIG_INPUT_JOYSTICK is not set
860 # CONFIG_DEBUG_KERNEL is not set
861 # CONFIG_ISDN is not set
862 # CONFIG_AGP is not set
863 # CONFIG_SECURITY is not set
864 # CONFIG_PARIDE is not set
865 # CONFIG_CPU_FREQ is not set
866 # CONFIG_GAMEPORT is not set
867 # CONFIG_KVM is not set
868 # CONFIG_PHONE is not set
dd55897d 869 # CONFIG_STRICT_DEVMEM is not set
6bab3a31 870 # CONFIG_IMA is not set
351f379b 871 CONFIG_AUFS=y
a899ef35 872 CONFIG_AUFS_FS=y
873 CONFIG_AUFS_BR_RAMFS=y
62fff140 874 CONFIG_AUFS_RDU=y
351f379b
JR
875 CONFIG_BLK_DEV_LOOP=y
876 CONFIG_ISO9660_FS=y
877 CONFIG_NLS_UTF8=y
6b79006d 878 CONFIG_SQUASHFS=y
351f379b
JR
879EOCONFIG
880
881 return 0
882}
a5585a68 883
351f379b
JR
884BuildConfig() {
885 %{?debug:set -x}
886 set -e
a5585a68 887
351f379b
JR
888 Config="kernel-%{target_arch_dir}.config"
889 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
a5585a68 890
351f379b
JR
891 # prepare local and important options
892 cat <<-EOCONFIG > important.config
893 LOCALVERSION="-%{localversion}"
fb4e3822 894
351f379b
JR
895%if 0%{?debug:1}
896 CONFIG_DEBUG_SLAB=y
897 CONFIG_DEBUG_SLAB_LEAK=y
898 CONFIG_DEBUG_PREEMPT=y
899 CONFIG_RT_DEADLOCK_DETECT=y
a5585a68 900%endif
351f379b 901
351f379b
JR
902%if %{without ipv6}
903 CONFIG_IPV6=n
904%endif
a5585a68 905
351f379b
JR
906%ifarch i686 athlon pentium3 pentium4
907 %if %{with pae}
908 CONFIG_HIGHMEM4G=n
909 CONFIG_HIGHMEM64G=y
910 CONFIG_X86_PAE=y
7c99a84b 911 CONFIG_NUMA=n
351f379b
JR
912 %endif
913%endif
a5585a68 914
351f379b
JR
915%if %{without pcmcia}
916 CONFIG_PCMCIA=n
917%endif
a5585a68 918
351f379b
JR
919%if %{with fbcondecor}
920 CONFIG_FB_S3=n
921 CONFIG_FB_VT8623=n
922 CONFIG_FB_ARK=n
923 CONFIG_FB_TILEBLITTING=n
924 CONFIG_FB_CON_DECOR=y
925%endif
a5585a68 926
351f379b
JR
927%if %{with nfsroot}
928 CONFIG_NFS_FS=y
929 CONFIG_ROOT_NFS=y
930%endif
a5585a68 931
351f379b 932# Temporary disabled RELOCATABLE. Needed only on x86??
15a064bf 933%if %{with pax} || %{with grsecurity}
351f379b
JR
934 CONFIG_RELOCATABLE=n
935%endif
936EOCONFIG
a5585a68 937
351f379b
JR
938%if %{with rescuecd}
939 RescueConfig rescue.config
940%endif
17da405a 941%if %{with pax}
351f379b
JR
942 PaXconfig pax.config
943%endif
a5585a68 944
351f379b
JR
945 # prepare kernel-style config file from multiple config files
946 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
101ae904 947%if %{with myown}
948 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
949%endif
351f379b 950 important.config \
7141a3b6 951%if %{without vanilla}
351f379b
JR
952%if %{with rescuecd}
953 %{SOURCE58} \
351f379b
JR
954 rescue.config \
955%endif
956 \
17da405a 957%if %{with pax}
351f379b
JR
958 %{SOURCE45} \
959 %{SOURCE49} \
960 pax.config \
961%else
15a064bf 962 %if %{with grsecurity}
351f379b
JR
963 %{SOURCE45} \
964 %{SOURCE50} \
351f379b 965 %endif
351f379b
JR
966%endif
967 \
968%if %{with reiser4}
969 %{SOURCE56} \
970%endif
971%if %{with wrr}
972 %{SOURCE57} \
973%endif
974%if %{with imq}
975 %{SOURCE55} \
976%endif
977%if %{with vserver}
978 %{SOURCE43} \
351f379b 979%endif
351f379b 980 %{SOURCE41} %{?0:patches} \
7141a3b6 981%endif
351f379b
JR
982 %{SOURCE20} \
983 $RPM_SOURCE_DIR/$Config
984}
a5585a68 985
351f379b
JR
986cd %{objdir}
987install -d arch/%{target_arch_dir}
351f379b 988BuildConfig > %{defconfig}
351f379b
JR
989ln -sf %{defconfig} .config
990cd -
a5585a68 991
7856c5e8
AM
992%{__make} \
993 TARGETOBJ=%{targetobj} \
994 %{?with_verbose:V=1} \
995 oldconfig
a5585a68 996
351f379b 997%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
a5585a68 998
351f379b 999# build kernel
7856c5e8
AM
1000%{__make} \
1001 TARGETOBJ=%{targetobj} \
1002 %{?with_verbose:V=1} \
1003 all
a5585a68 1004
351f379b
JR
1005%install
1006rm -rf $RPM_BUILD_ROOT
4505b6c5 1007%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
351f379b
JR
1008 -C %{objdir} \
1009 %{?with_verbose:V=1} \
1010 DEPMOD=%{DepMod} \
1011 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1012 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1013 KERNELRELEASE=%{kernel_release}
1014
1015install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1016
101ae904 1017# create directories which may be missing, to simplyfy %files
64d14572 1018install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
101ae904 1019
351f379b
JR
1020# rpm obeys filelinkto checks for ghosted symlinks, convert to files
1021rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1022touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1023
6d54bd67
ER
1024# no point embed content for %ghost files. empty them
1025for a in \
1026 dep{,.bin} \
1027 alias{,.bin} \
8ee3ac38
AM
1028 devname \
1029 softdep \
6d54bd67
ER
1030 symbols{,.bin} \
1031 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1032; do
09e63f4a 1033 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
6d54bd67
ER
1034 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1035done
1036
351f379b
JR
1037# /boot
1038install -d $RPM_BUILD_ROOT/boot
1039cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1040%ifarch %{ix86} %{x8664}
1db9a2c1
ER
1041 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1042 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
351f379b
JR
1043%endif
1044%ifarch ppc ppc64
1db9a2c1
ER
1045 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1046 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
a5585a68 1047%endif
a5585a68 1048%ifarch ia64
1db9a2c1
ER
1049 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1050 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1051 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
351f379b
JR
1052%endif
1053%ifarch alpha sparc sparc64
1054 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1055 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1db9a2c1
ER
1056 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1057 %ifarch sparc
1058 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1059 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1060 %endif
1061 %ifarch sparc64
1062 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1063 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1064 %endif
351f379b
JR
1065%endif
1066%ifarch arm
1db9a2c1 1067 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
a5585a68 1068%endif
a5585a68 1069
351f379b
JR
1070# ghosted initrd
1071touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
a5585a68 1072
351f379b
JR
1073%if "%{_target_base_arch}" != "%{_arch}"
1074touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1075%endif
a5585a68 1076
351f379b
JR
1077# /etc/modrobe.d
1078install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
a5585a68 1079
351f379b 1080# /usr/src/linux
82833fcc
AM
1081install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1082
351f379b
JR
1083# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1084if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1085 l=l
1086 rm -f $RPM_BUILD_ROOT/COPYING
a5585a68 1087fi
a5585a68 1088
351f379b
JR
1089cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1090cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1091cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
df0bb851
JR
1092cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
1093mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
11b2646e
AM
1094cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1095cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
351f379b
JR
1096cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1097
1098# collect module-build files and directories
1099# Usage: kernel-module-build.pl $rpmdir $fileoutdir
1100fileoutdir=$(pwd)
1101cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1102%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1103cd -
1104
30f08736
ER
1105# move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1106install -d $RPM_BUILD_ROOT%{_docdir}
1107mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1108
d3a69071
ER
1109rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1110rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1111rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1112rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1113
351f379b
JR
1114%clean
1115rm -rf $RPM_BUILD_ROOT
1116
1117%preun
1118if [ -x /sbin/new-kernel-pkg ]; then
1119 /sbin/new-kernel-pkg --remove %{kernel_release}
a5585a68 1120fi
351f379b
JR
1121
1122%post
1123%ifarch ia64
1124mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1fb73fcf 1125%{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
351f379b 1126ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1fb73fcf 1127%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
351f379b
JR
1128%endif
1129mv -f /boot/vmlinuz{,.old} 2> /dev/null
1fb73fcf 1130%{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
351f379b 1131mv -f /boot/System.map{,.old} 2> /dev/null
1fb73fcf 1132%{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
351f379b 1133ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1fb73fcf 1134%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
351f379b 1135ln -sf System.map-%{kernel_release} /boot/System.map
1fb73fcf 1136%{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
351f379b
JR
1137
1138%depmod %{kernel_release}
1139
4dabe329
ER
1140%posttrans
1141# generate initrd after all dependant modules are installed
351f379b
JR
1142/sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1143mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1fb73fcf 1144%{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
351f379b 1145ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1fb73fcf 1146%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
351f379b 1147
4dabe329 1148# update boot loaders when old package files are gone from filesystem
c5de1ad5 1149if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
4dabe329
ER
1150 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1151 /sbin/update-grub >/dev/null
c5de1ad5
ER
1152 fi
1153fi
351f379b
JR
1154if [ -x /sbin/new-kernel-pkg ]; then
1155 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
0bb27755
ER
1156fi
1157if [ -x /sbin/rc-boot ]; then
351f379b 1158 /sbin/rc-boot 1>&2 || :
a5585a68 1159fi
a5585a68 1160
351f379b
JR
1161%post vmlinux
1162mv -f /boot/vmlinux{,.old} 2> /dev/null
1163%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1164ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1165%{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1166
351f379b
JR
1167%post drm
1168%depmod %{kernel_release}
a5585a68 1169
351f379b
JR
1170%postun drm
1171%depmod %{kernel_release}
a5585a68 1172
351f379b
JR
1173%post pcmcia
1174%depmod %{kernel_release}
a5585a68 1175
351f379b
JR
1176%postun pcmcia
1177%depmod %{kernel_release}
a5585a68 1178
351f379b
JR
1179%post sound-alsa
1180%depmod %{kernel_release}
a5585a68 1181
351f379b
JR
1182%postun sound-alsa
1183%depmod %{kernel_release}
a5585a68 1184
351f379b
JR
1185%post sound-oss
1186%depmod %{kernel_release}
a5585a68 1187
351f379b
JR
1188%postun sound-oss
1189%depmod %{kernel_release}
a5585a68
AM
1190
1191%post headers
1fb73fcf 1192ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1193
1194%postun headers
351f379b 1195if [ "$1" = "0" ]; then
1fb73fcf
ER
1196 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1197 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1198 rm -f %{_prefix}/src/linux%{_alt_kernel}
a5585a68
AM
1199 fi
1200 fi
1201fi
1202
351f379b
JR
1203%triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1204ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1205ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1206
1207%triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1208if [ "$1" = 0 ]; then
1209 rm -f /lib/modules/%{kernel_release}/{build,source}
1210fi
1211
a5585a68
AM
1212%files
1213%defattr(644,root,root,755)
a5585a68 1214%ifarch sparc sparc64
351f379b 1215/boot/vmlinux.aout-%{kernel_release}
a5585a68
AM
1216%endif
1217%ifarch ia64
351f379b
JR
1218/boot/efi/vmlinuz-%{kernel_release}
1219%endif
1220/boot/vmlinuz-%{kernel_release}
1221/boot/System.map-%{kernel_release}
1222%ghost %{initrd_dir}/initrd-%{kernel_release}.gz
ae1c66e5 1223/lib/firmware/%{kernel_release}
351f379b
JR
1224
1225%dir /lib/modules/%{kernel_release}
1226%dir /lib/modules/%{kernel_release}/kernel
351f379b 1227/lib/modules/%{kernel_release}/kernel/arch
351f379b
JR
1228/lib/modules/%{kernel_release}/kernel/crypto
1229/lib/modules/%{kernel_release}/kernel/drivers
101ae904 1230%if %{have_drm}
351f379b
JR
1231%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1232%endif
1233/lib/modules/%{kernel_release}/kernel/fs
351f379b 1234/lib/modules/%{kernel_release}/kernel/kernel
351f379b
JR
1235/lib/modules/%{kernel_release}/kernel/lib
1236/lib/modules/%{kernel_release}/kernel/net
fecce547 1237/lib/modules/%{kernel_release}/kernel/mm
101ae904 1238%if %{have_sound}
351f379b
JR
1239%dir /lib/modules/%{kernel_release}/kernel/sound
1240/lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1241/lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1242%ifnarch sparc
1243%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1244%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1245%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1246%endif
1247%endif
1248%dir /lib/modules/%{kernel_release}/misc
101ae904 1249%if %{have_pcmcia}
351f379b
JR
1250%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1251%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1252%exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1253%if %{without rescuecd}
1254%exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1255%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1256%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1257%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1258%exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1259%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1260%endif
1261%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1262%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1263%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1264%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1265%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1266%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
30812fb8 1267%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
351f379b
JR
1268%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1269%endif
101ae904 1270%if %{with myown}
1271/lib/modules/%{kernel_release}/kernel/sound
1272%endif
30812fb8 1273/lib/modules/%{kernel_release}/kernel/security
6d54bd67
ER
1274
1275%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1276
1277# provided by build
1278/lib/modules/%{kernel_release}/modules.order
8ee3ac38 1279/lib/modules/%{kernel_release}/modules.builtin*
6d54bd67
ER
1280
1281# rest modules.* are ghost (regenerated by post depmod -a invocation)
1282%ghost /lib/modules/%{kernel_release}/modules.alias
1283%ghost /lib/modules/%{kernel_release}/modules.alias.bin
1284%ghost /lib/modules/%{kernel_release}/modules.ccwmap
1285%ghost /lib/modules/%{kernel_release}/modules.dep
1286%ghost /lib/modules/%{kernel_release}/modules.dep.bin
8ee3ac38 1287%ghost /lib/modules/%{kernel_release}/modules.devname
6d54bd67
ER
1288%ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1289%ghost /lib/modules/%{kernel_release}/modules.inputmap
1290%ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1291%ghost /lib/modules/%{kernel_release}/modules.ofmap
1292%ghost /lib/modules/%{kernel_release}/modules.pcimap
1293%ghost /lib/modules/%{kernel_release}/modules.seriomap
8ee3ac38 1294%ghost /lib/modules/%{kernel_release}/modules.softdep
6d54bd67
ER
1295%ghost /lib/modules/%{kernel_release}/modules.symbols
1296%ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1297%ghost /lib/modules/%{kernel_release}/modules.usbmap
1298
351f379b
JR
1299# symlinks pointing to kernelsrcdir
1300%ghost /lib/modules/%{kernel_release}/build
1301%ghost /lib/modules/%{kernel_release}/source
351f379b 1302
351f379b
JR
1303%ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1304%files vmlinux
a5585a68 1305%defattr(644,root,root,755)
351f379b 1306/boot/vmlinux-%{kernel_release}
a5585a68
AM
1307%endif
1308
101ae904 1309%if %{have_drm}
351f379b 1310%files drm
a5585a68 1311%defattr(644,root,root,755)
351f379b 1312/lib/modules/%{kernel_release}/kernel/drivers/gpu
a5585a68
AM
1313%endif
1314
101ae904 1315%if %{have_pcmcia}
351f379b 1316%files pcmcia
a5585a68 1317%defattr(644,root,root,755)
351f379b
JR
1318/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1319/lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1320%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1321%if %{without rescuecd}
1322/lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1323/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1324/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1325/lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1326%endif
1327/lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1328/lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1329/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1330/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1331/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1332/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1333/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
30812fb8 1334/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
351f379b
JR
1335/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1336%endif
1337
101ae904 1338%if %{have_sound}
351f379b 1339%files sound-alsa
a5585a68 1340%defattr(644,root,root,755)
351f379b
JR
1341/lib/modules/%{kernel_release}/kernel/sound
1342%exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1343%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1344%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1345%if %{have_oss}
1346%exclude /lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1347%endif
351f379b
JR
1348%ifnarch sparc
1349/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1350/lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1351/lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1352/lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
a5585a68
AM
1353%endif
1354
101ae904 1355%if %{have_oss}
351f379b 1356%files sound-oss
a5585a68 1357%defattr(644,root,root,755)
351f379b 1358/lib/modules/%{kernel_release}/kernel/sound/oss
a5585a68 1359%endif
a5585a68
AM
1360%endif
1361
fecce547 1362%files headers -f files.headers_exclude_kbuild
a5585a68 1363%defattr(644,root,root,755)
30f08736 1364%dir %{_kernelsrcdir}
351f379b
JR
1365%{_kernelsrcdir}/include
1366%dir %{_kernelsrcdir}/arch
1367%dir %{_kernelsrcdir}/arch/[!K]*
1368%{_kernelsrcdir}/arch/*/include
1369%dir %{_kernelsrcdir}/security
1370%dir %{_kernelsrcdir}/security/selinux
1371%{_kernelsrcdir}/security/selinux/include
1372%{_kernelsrcdir}/config-dist
1373%{_kernelsrcdir}/Module.symvers-dist
1374
fecce547 1375%files module-build -f files.mb_include_modulebuild_and_dirs
a5585a68 1376%defattr(644,root,root,755)
351f379b
JR
1377%ifarch ppc ppc64
1378%{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1379%endif
fecce547 1380%exclude %dir %{_kernelsrcdir}/arch/um
351f379b
JR
1381%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1382%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1383%{_kernelsrcdir}/drivers/lguest/lg.h
2470a9dc 1384%{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
351f379b
JR
1385%{_kernelsrcdir}/kernel/bounds.c
1386%dir %{_kernelsrcdir}/scripts
351f379b
JR
1387%{_kernelsrcdir}/scripts/Kbuild.include
1388%{_kernelsrcdir}/scripts/Makefile*
1389%{_kernelsrcdir}/scripts/basic
960d2e94 1390%{_kernelsrcdir}/scripts/kconfig
1391%{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1392%{_kernelsrcdir}/scripts/mkmakefile
1393%{_kernelsrcdir}/scripts/mod
960d2e94 1394%{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1395%{_kernelsrcdir}/scripts/setlocalversion
1396%{_kernelsrcdir}/scripts/*.c
1397%{_kernelsrcdir}/scripts/*.sh
351f379b
JR
1398%dir %{_kernelsrcdir}/scripts/selinux
1399%{_kernelsrcdir}/scripts/selinux/Makefile
9d6d5869
AM
1400%dir %{_kernelsrcdir}/scripts/selinux/genheaders
1401%{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1402%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
c78e408d
PZ
1403%dir %{_kernelsrcdir}/scripts/selinux/mdp
1404%{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1405%{_kernelsrcdir}/scripts/selinux/mdp/*.c
fecce547 1406%exclude %dir %{_kernelsrcdir}/security
1407%exclude %dir %{_kernelsrcdir}/security/selinux
a696e454 1408%if %{with grsecurity}
94a92871 1409%{_kernelsrcdir}/tools/gcc/*.c
a696e454 1410%endif
a5585a68 1411
1848fd38 1412%if %{with doc}
a5585a68
AM
1413%files doc
1414%defattr(644,root,root,755)
d3a69071
ER
1415%dir %{_docdir}/%{name}-%{version}
1416
1417%{_docdir}/%{name}-%{version}/[!jkz]*
1418%{_docdir}/%{name}-%{version}/[jkz]*.txt
1419%{_docdir}/%{name}-%{version}/kbuild
1420%{_docdir}/%{name}-%{version}/kdump
1421%lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1422%lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1423%lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1848fd38 1424%endif
a5585a68
AM
1425
1426%if %{with source}
fecce547 1427%files source -f files.source_exclude_modulebuild_and_dirs
a5585a68 1428%defattr(644,root,root,755)
351f379b
JR
1429%{_kernelsrcdir}/arch/*/[!Mik]*
1430%{_kernelsrcdir}/arch/*/kernel/[!M]*
351f379b
JR
1431%{_kernelsrcdir}/arch/ia64/install.sh
1432%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1433%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
fecce547 1434%{_kernelsrcdir}/arch/m68k/install.sh
351f379b
JR
1435%{_kernelsrcdir}/arch/parisc/install.sh
1436%{_kernelsrcdir}/arch/x86/ia32/[!M]*
1437%{_kernelsrcdir}/arch/ia64/kvm
1438%{_kernelsrcdir}/arch/powerpc/kvm
1439%ifarch ppc ppc64
1440%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1441%endif
1442%{_kernelsrcdir}/arch/s390/kvm
1443%{_kernelsrcdir}/arch/x86/kvm
1444%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1445%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1446%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
2470a9dc 1447%exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
351f379b
JR
1448%{_kernelsrcdir}/block
1449%{_kernelsrcdir}/crypto
1450%{_kernelsrcdir}/drivers
1451%{_kernelsrcdir}/firmware
1452%{_kernelsrcdir}/fs
1453%if %{with grsecurity} && %{without rescuecd}
1454%{_kernelsrcdir}/grsecurity
1455%endif
1456%{_kernelsrcdir}/init
1457%{_kernelsrcdir}/ipc
1458%{_kernelsrcdir}/kernel
1459%exclude %{_kernelsrcdir}/kernel/bounds.c
1460%{_kernelsrcdir}/lib
1461%{_kernelsrcdir}/mm
1462%{_kernelsrcdir}/net
1463%{_kernelsrcdir}/virt
1464%{_kernelsrcdir}/samples
1465%{_kernelsrcdir}/scripts/*
1466%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1467%exclude %{_kernelsrcdir}/scripts/Makefile*
1468%exclude %{_kernelsrcdir}/scripts/basic
1469%exclude %{_kernelsrcdir}/scripts/kconfig
960d2e94 1470%exclude %{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1471%exclude %{_kernelsrcdir}/scripts/mkmakefile
1472%exclude %{_kernelsrcdir}/scripts/mod
960d2e94 1473%exclude %{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1474%exclude %{_kernelsrcdir}/scripts/setlocalversion
1475%exclude %{_kernelsrcdir}/scripts/*.c
1476%exclude %{_kernelsrcdir}/scripts/*.sh
960d2e94 1477%exclude %dir %{_kernelsrcdir}/scripts/selinux
1478%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
c78e408d
PZ
1479%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1480%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1481%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
960d2e94 1482%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1483%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1484%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
351f379b
JR
1485%{_kernelsrcdir}/sound
1486%{_kernelsrcdir}/security
1487%exclude %{_kernelsrcdir}/security/selinux/include
94a92871 1488%{_kernelsrcdir}/tools/*
a696e454 1489%if %{with grsecurity}
94a92871 1490%exclude %{_kernelsrcdir}/tools/gcc/*.c
a696e454 1491%endif
351f379b
JR
1492%{_kernelsrcdir}/usr
1493%{_kernelsrcdir}/COPYING
1494%{_kernelsrcdir}/CREDITS
1495%{_kernelsrcdir}/MAINTAINERS
1496%{_kernelsrcdir}/README
1497%{_kernelsrcdir}/REPORTING-BUGS
a5585a68 1498%endif
This page took 0.408152 seconds and 4 git commands to generate.