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