]> git.pld-linux.org Git - packages/kernel.git/blame - kernel.spec
- up to 4.13.12
[packages/kernel.git] / kernel.spec
CommitLineData
a7313793 1#
8ad00cb1 2# LATEST VERSION CHECKER:
c91cf860 3# # curl -s https://www.kernel.org/finger_banner
8ad00cb1 4#
a5585a68 5# TODO:
351f379b 6# - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
9a1672a0
JR
7# - IPv4 source address selection for multihomed vservers is completely broken
8# meaning routing table is ignored except for default
351f379b 9#
fc5a68a2
AM
10# HOWTO update configuration files:
11# - run build
12# - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
13# - sort configuration files using:
ee5dc1b8 14# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
fc5a68a2 15# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
a5585a68
AM
16#
17# Conditional build:
a5585a68 18%bcond_without source # don't build kernel-source package
1848fd38 19%bcond_without doc # don't build kernel-doc package
351f379b 20%bcond_without pcmcia # don't build pcmcia
6133b03b 21%bcond_without firmware # don't build firmware into main package
351f379b 22
a5585a68 23%bcond_with verbose # verbose build (V=1)
351f379b 24
351f379b 25%bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
bacfcd36 26%bcond_without pae # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
351f379b
JR
27%bcond_with nfsroot # build with root on NFS support
28
7f07242b 29%bcond_without imq # imq support
351f379b
JR
30%bcond_without ipv6 # ipv6 support
31
63ae130d 32%bcond_without aufs # aufs4 support
daaa955e 33%bcond_without apparmor # UBUNTU SAUCE apparmor patches
63ae130d 34
54c6f06a 35%bcond_with vserver # support for VServer
351f379b 36
1a6e0f06
JK
37%bcond_with rt # real-time kernel (CONFIG_PREEMPT_RT) for low latencies
38
7141a3b6 39%bcond_with vanilla # don't include any patches
351f379b 40%bcond_with rescuecd # build kernel for our rescue
351f379b 41%bcond_with myown # build with your own config (kernel-myown.config)
a5585a68
AM
42
43%{?debug:%define with_verbose 1}
44
351f379b 45%define have_drm 1
55e054be 46%define have_ide 1
351f379b 47%define have_sound 1
101ae904 48%define have_pcmcia 1
351f379b
JR
49
50%if %{with rescuecd}
b488384f 51%unglobal with_vserver
351f379b
JR
52%define have_drm 0
53%define have_sound 0
54%endif
55
101ae904 56%if %{with myown}
57%define have_drm 0
55e054be 58%define have_ide 0
101ae904 59%define have_sound 0
60%define have_pcmcia 0
351f379b
JR
61%endif
62
63%ifarch sparc sparc64
b488384f 64%unglobal with_pcmcia
351f379b 65%define have_drm 0
351f379b
JR
66%endif
67
101ae904 68%if %{without pcmcia}
69%define have_pcmcia 0
70%endif
71
3d782f87 72%define rel 1
3c1bdaff 73%define basever 4.13
ac05f782 74%define postver .12
a5585a68 75
e865f3ec 76# define this to '-%{basever}' for longterm branch
8859aca5 77%define versuffix %{nil}
e865f3ec 78
1fb73fcf
ER
79# __alt_kernel is list of features, empty string if none set
80# _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
81# alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
473f3855 82%define __alt_kernel %{nil}
b2615ca0 83
ff48aee0 84%if "%{__alt_kernel}" != ""
b2615ca0 85%define alt_kernel %{__alt_kernel}
ff48aee0
ER
86%endif
87
88# these override whatever name was picked from bconds
1fb73fcf 89%if %{with myown} && "%{_alt_kernel}" == ""
101ae904 90%define alt_kernel myown
351f379b 91%endif
06936f6f 92%if %{with rescuecd}
93%define alt_kernel rescuecd
351f379b 94%endif
ff48aee0
ER
95%if %{with vanilla}
96%define alt_kernel vanilla
b2615ca0 97%endif
4f58ff4b
JR
98%if %{without pae}
99%define alt_kernel nopae
100%endif
1a6e0f06
JK
101%if %{with rt}
102%define alt_kernel rt
103%endif
351f379b
JR
104
105# kernel release (used in filesystem and eventually in uname -r)
106# modules will be looked from /lib/modules/%{kernel_release}
107# localversion is just that without version for "> localversion"
108%define localversion %{rel}
1401be4b 109%define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
a5585a68
AM
110
111Summary: The Linux kernel (the core of the Linux operating system)
351f379b
JR
112Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
113Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
114Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
115Summary(pl.UTF-8): Jądro Linuksa
e865f3ec 116Name: kernel%{versuffix}%{_alt_kernel}
351f379b
JR
117Version: %{basever}%{postver}
118Release: %{rel}
a5585a68 119Epoch: 3
c491b43b 120License: GPL v2
a5585a68 121Group: Base/Kernel
fa7ff97e 122Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
3c1bdaff 123# Source0-md5: ab1a2abc6f37b752dd2595338bec4e78
4d8c31dd 124%if "%{postver}" != ".0"
fa7ff97e 125Patch0: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
ac05f782 126# Patch0-md5: 665b55e1f24ec56de55f7d0302d7c4f5
351f379b 127%endif
5aeaa3c2 128Source1: kernel.sysconfig
351f379b
JR
129
130Source3: kernel-autoconf.h
131Source4: kernel-config.h
351f379b
JR
132Source6: kernel-config.awk
133Source7: kernel-module-build.pl
134Source8: kernel-track-config-change.awk
135# not used by kernel.spec, but it's good to have it in SOURCES
136Source9: kernel-config-sort.pl
137Source10: kernel.make
138
139Source20: kernel-multiarch.config
140Source21: kernel-x86.config
141Source22: kernel-sparc.config
5a99ae3d 142Source23: kernel-alpha.config
143Source24: kernel-powerpc.config
144Source25: kernel-ia64.config
351f379b 145
351f379b 146Source41: kernel-patches.config
351f379b 147Source43: kernel-vserver.config
1a6e0f06 148Source44: kernel-rt.config
351f379b 149
351f379b 150Source55: kernel-imq.config
351f379b
JR
151
152Source58: kernel-inittmpfs.config
351f379b 153
351f379b
JR
154# http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
155Patch3: kernel-fbcondecor.patch
28c4ae14 156Patch6: linux-wistron-nx.patch
351f379b
JR
157
158# netfilter related stuff mostly based on patch-o-matic-ng
17da405a 159# snapshot 20070806 with some fixes. Some modules
e69c45e8 160# were ported to nf_conntrack.
351f379b
JR
161
162Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
351f379b 163
351f379b
JR
164# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
165Patch37: kernel-owner-xid.patch
166
351f379b
JR
167# based on kernel-2.6.25-layer7-2.20.patch from
168# http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
169Patch40: kernel-layer7.patch
170
351f379b
JR
171### End netfilter
172
514e5dae 173# http://www.linuximq.net
351f379b
JR
174Patch50: kernel-imq.patch
175
351f379b
JR
176# by Baggins request:
177# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
60bb736d
JR
178Patch55: kernel-atm-vbr.patch
179Patch56: kernel-atmdd.patch
351f379b 180
351f379b
JR
181# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
182Patch59: kernel-rndis_host-wm5.patch
183
351f379b
JR
184# adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
185# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
60bb736d 186Patch85: kernel-hostap.patch
351f379b 187
bb20add7
AM
188%define vserver_patch 3.18.5-vs2.3.7.3
189# http://vserver.13thfloor.at/Experimental/patch-3.18.5-vs2.3.7.3.diff
9f25dc6a
AM
190# note there are additional patches from above url:
191# - *fix* are real fixes (we want these)
192# - *feat* are new features/tests (we don't want these)
01d3b055 193Patch100: kernel-vserver-2.3.patch
351f379b
JR
194Patch101: kernel-vserver-fixes.patch
195
5527c038 196# git://github.com/sfjro/aufs4-standalone.git, read README
b752ccd1 197# Patch creation:
5527c038
JR
198# git clone git://github.com/sfjro/aufs4-standalone.git
199# cd aufs4-standalone
1c60b727 200# git checkout -b aufs4.12 origin/aufs4.12
5527c038 201# cat aufs4-kbuild.patch aufs4-base.patch aufs4-mmap.patch aufs4-standalone.patch > ~/rpm/packages/kernel/kernel-aufs4.patch
be52b249 202# rm -rf linux && mkdir linux
b752ccd1 203# cp -a Documentation fs include linux
106341ce 204# diff -urN /usr/share/empty linux | filterdiff -x linux/include/uapi/linux/Kbuild >> ~/rpm/packages/kernel/kernel-aufs4.patch
5527c038 205# cat aufs4-loopback.patch >> ~/rpm/packages/kernel/kernel-aufs4.patch
0c5527e5 206#
5527c038
JR
207Patch145: kernel-aufs4.patch
208Patch146: kernel-aufs4+vserver.patch
a899ef35 209
54fd642e 210# Show normal colors in menuconfig with ncurses ABI 6
211Patch250: kernel-fix_256colors_menuconfig.patch
212
1a6e0f06 213# https://rt.wiki.kernel.org/
1f39f580 214# https://www.kernel.org/pub/linux/kernel/projects/rt/4.9/patch-4.9.6-rt4.patch.xz
1a6e0f06
JK
215Patch500: kernel-rt.patch
216
08aa9d92 217Patch2000: kernel-small_fixes.patch
60bb736d 218Patch2001: kernel-pwc-uncompress.patch
351f379b
JR
219Patch2003: kernel-regressions.patch
220
daaa955e 221# http://bazaar.launchpad.net/~apparmor-dev/apparmor/master/files/head:/kernel-patches/v4.13/
daaa955e
AM
222Patch5001: 0002-apparmor-Fix-shadowed-local-variable-in-unpack_trans.patch
223Patch5002: 0003-apparmor-Fix-logical-error-in-verify_header.patch
224Patch5003: 0004-apparmor-Fix-an-error-code-in-aafs_create.patch
225Patch5004: 0005-apparmor-Redundant-condition-prev_ns.-in-label.c-149.patch
226Patch5005: 0006-apparmor-add-the-ability-to-mediate-signals.patch
227Patch5006: 0007-apparmor-add-mount-mediation.patch
228Patch5007: 0008-apparmor-cleanup-conditional-check-for-label-in-labe.patch
229Patch5008: 0009-apparmor-add-support-for-absolute-root-view-based-la.patch
230Patch5009: 0010-apparmor-make-policy_unpack-able-to-audit-different-.patch
231Patch5010: 0011-apparmor-add-more-debug-asserts-to-apparmorfs.patch
232Patch5011: 0012-apparmor-add-base-infastructure-for-socket-mediation.patch
233Patch5012: 0013-apparmor-move-new_null_profile-to-after-profile-look.patch
234Patch5013: 0014-apparmor-fix-race-condition-in-null-profile-creation.patch
235Patch5014: 0015-apparmor-ensure-unconfined-profiles-have-dfas-initia.patch
236Patch5015: 0016-apparmor-fix-incorrect-type-assignment-when-freeing-.patch
237Patch5016: 0017-UBUNTU-SAUCE-apparmor-af_unix-mediation.patch
351f379b
JR
238
239# for rescuecd
48ead238 240# based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
351f379b
JR
241Patch7000: kernel-inittmpfs.patch
242
73cc1c57 243# Do not remove this line, please. It is easier for me to uncomment two lines, then patch
244# kernel.spec every time.
245#Patch50000: kernel-usb_reset.patch
246
fa7ff97e 247URL: https://www.kernel.org/
3674ac16
JR
248AutoReqProv: no
249BuildRequires: /sbin/depmod
ec155748 250BuildRequires: bc
351f379b 251BuildRequires: binutils >= 3:2.18
a5585a68
AM
252%ifarch sparc sparc64
253BuildRequires: elftoaout
254%endif
3674ac16 255BuildRequires: elfutils-devel
351f379b 256BuildRequires: gcc >= 5:3.2
00331e0d 257BuildRequires: gcc-plugin-devel
d80d232c 258BuildRequires: hostname
2910a805 259BuildRequires: kmod >= 12-2
f927bb82 260BuildRequires: openssl-devel
a5585a68 261BuildRequires: perl-base
b488384f 262BuildRequires: rpm-build >= 4.5-24
811cca3c 263BuildRequires: rpmbuild(macros) >= 1.707
3674ac16
JR
264%ifarch ppc
265BuildRequires: uboot-mkimage
266%endif
267BuildRequires: xz >= 1:4.999.7
351f379b 268Requires(post): coreutils
8f076c71 269Requires(post): geninitrd >= 12749
621dfa8b 270Requires(post): kmod >= 12-2
351f379b
JR
271Requires: /sbin/depmod
272Requires: coreutils
8f076c71 273Requires: geninitrd >= 12749
621dfa8b 274Requires: kmod >= 12-2
bacfcd36
AM
275%if %{with pae}
276%ifarch i686 athlon pentium3 pentium4
277Requires: cpuinfo(pae)
278%endif
279%endif
59c3e314 280Suggests: crda
54f0effc 281Suggests: dracut
b75546f3 282Suggests: keyutils
08687f7c 283%if %{with firmware}
af560d0f 284Suggests: linux-firmware
08687f7c
ER
285%else
286Requires: linux-firmware
287%endif
52e5f3df 288Provides: %{name}(netfilter) = 20070806
351f379b 289Provides: %{name}(vermagic) = %{kernel_release}
1fb73fcf
ER
290Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
291Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
292Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
293Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
294Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
d14e0f73 295Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
26b1ceeb 296Obsoletes: kernel-firmware
351f379b
JR
297Obsoletes: kernel-misc-acer_acpi
298Obsoletes: kernel-misc-fuse
299Obsoletes: kernel-misc-uvc
a5585a68 300Obsoletes: kernel-modules
351f379b
JR
301Obsoletes: kernel-net-ar81
302Obsoletes: kernel-net-hostap
303Obsoletes: kernel-net-ieee80211
304Obsoletes: kernel-net-ipp2p
305Obsoletes: kernel-net-rt61
306Obsoletes: kernel-smp
307Conflicts: e2fsprogs < 1.29
308Conflicts: isdn4k-utils < 3.1pre1
309Conflicts: jfsutils < 1.1.3
89785d20 310Conflicts: libusb < 1.0.9
af560d0f 311Conflicts: linux-firmware < 20120720
cf8de22f 312Conflicts: lvm2 < 2.02.40
8fe4cdc5 313Conflicts: module-init-tools < 3.16
351f379b
JR
314Conflicts: nfs-utils < 1.0.5
315Conflicts: oprofile < 0.9
316Conflicts: ppp < 1:2.4.0
317Conflicts: procps < 3.2.0
318Conflicts: quota-tools < 3.09
351f379b 319Conflicts: reiserfsprogs < 3.6.3
4dabe329 320Conflicts: rpm < 4.4.2-0.2
351f379b
JR
321Conflicts: udev < 1:081
322Conflicts: util-linux < 2.10o
d3c4e01e 323Conflicts: util-vserver < 0.30.216
351f379b 324Conflicts: xfsprogs < 2.6.0
4f58ff4b 325%if %{without pae}
75243edd 326ExclusiveArch: i686 pentium3 pentium4 athlon
4f58ff4b 327%else
5c6b663b 328ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha arm ia64 ppc ppc64 sparc sparc64
4f58ff4b 329%endif
a5585a68
AM
330ExclusiveOS: Linux
331BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
332
811cca3c
ER
333%define kmod_compress_cmd %{__xz}
334
5c6b663b 335%ifarch %{ix86} %{x8664} x32
351f379b
JR
336%define target_arch_dir x86
337%endif
338%ifarch ppc ppc64
339%define target_arch_dir powerpc
340%endif
5a99ae3d 341%ifarch sparc sparc64
342%define target_arch_dir sparc
343%endif
5c6b663b 344%ifnarch %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
351f379b
JR
345%define target_arch_dir %{_target_base_arch}
346%endif
347
348%define defconfig arch/%{target_arch_dir}/defconfig
349
350# No ELF objects there to strip (skips processing 27k files)
ded910ba 351%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
351f379b 352%define _noautochrpath .*%{_kernelsrcdir}/.*
b36a2f6d 353%define _enable_debug_packages 0
351f379b 354
a5585a68
AM
355%ifarch ia64
356%define initrd_dir /boot/efi
357%else
358%define initrd_dir /boot
359%endif
360
351f379b 361%define topdir %{_builddir}/%{name}-%{version}
67d87e28 362%define srcdir %{topdir}/linux-%{basever}
351f379b 363%define objdir %{topdir}/%{targetobj}
6db8537c 364%define targetobj %{_target_base_arch}-gcc-%(%{__cc} -dumpversion)
351f379b 365
e865f3ec 366%define _kernelsrcdir /usr/src/linux%{versuffix}%{_alt_kernel}-%{version}
351f379b 367
7b6fa769 368%if "%{_target_base_arch}" != "%{_host_base_arch}"
351f379b
JR
369 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
370 %define DepMod /bin/true
371
7b6fa769 372 %if "%{_host_base_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
351f379b
JR
373 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
374 %define DepMod /sbin/depmod
375 %endif
376
7b6fa769 377 %if "%{_host_base_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
351f379b
JR
378 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
379 %define DepMod /sbin/depmod
380 %endif
381
7b6fa769 382 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
351f379b
JR
383 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
384 %define DepMod /sbin/depmod
385 %endif
386
5a99ae3d 387 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
351f379b
JR
388 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
389 %endif
390%else
391 %ifarch ppc ppc64
392 %define CrossOpts ARCH=powerpc CC="%{__cc}"
393 %else
394 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
395 %endif
396 %define DepMod /sbin/depmod
397%endif
7e0d31a4
JB
398# use 64-bit offsets for fixdeps to work with 64-bit inodes
399%define MakeOpts %{CrossOpts} HOSTCC="%{__cc} -D_FILE_OFFSET_BITS=64"
351f379b 400
52e5f3df 401%define __features \
b2b86b86
AM
402%{?with_vserver:Vserver - enabled}\
403%{!?with_vserver:WARNING: VSERVER IS DISABLED IN THIS KERNEL BUILD!}\
351f379b
JR
404%{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
405%{?with_nfsroot:Root on NFS - enabled}\
606cc657 406%{?with_vserver:Linux-VServer - %{vserver_patch}}\
1a6e0f06 407%{?with_rt:CONFIG_PREEMPT_RT - enabled}\
351f379b
JR
408
409%define Features %(echo "%{__features}" | sed '/^$/d')
410
a5585a68
AM
411%description
412This package contains the Linux kernel that is used to boot and run
413your system. It contains few device drivers for specific hardware.
414Most hardware is instead supported by modules loaded after booting.
415
351f379b
JR
416%{Features}
417
3a467bc1
JR
418%description -l de.UTF-8
419Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
420Linux-Betriebssystems. Der Kernel ist für grundliegende
a5585a68 421Systemfunktionen verantwortlich: Speicherreservierung,
3a467bc1 422Prozeß-Management, Geräte Ein- und Ausgaben, usw.
a5585a68 423
351f379b
JR
424%{Features}
425
3a467bc1 426%description -l fr.UTF-8
a5585a68 427Le package kernel contient le kernel linux (vmlinuz), la partie
3a467bc1
JR
428centrale d'un système d'exploitation Linux. Le noyau traite les
429fonctions basiques d'un système d'exploitation: allocation mémoire,
430allocation de process, entrée/sortie de peripheriques, etc.
a5585a68 431
351f379b
JR
432%{Features}
433
3a467bc1
JR
434%description -l pl.UTF-8
435Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
436Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
437się w komputerze, takiego jak sterowniki dysków itp.
a5585a68 438
351f379b
JR
439%{Features}
440
441%package vmlinux
442Summary: vmlinux - uncompressed kernel image
443Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
444Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
445Group: Base/Kernel
446Obsoletes: kernel-smp-vmlinux
447
448%description vmlinux
449vmlinux - uncompressed kernel image.
450
451%description vmlinux -l de.UTF-8
452vmlinux - dekompressiertes Kernel Bild.
453
454%description vmlinux -l pl.UTF-8
455vmlinux - rozpakowany obraz jądra.
456
a5585a68
AM
457%package drm
458Summary: DRM kernel modules
351f379b
JR
459Summary(de.UTF-8): DRM Kernel Treiber
460Summary(pl.UTF-8): Sterowniki DRM
a5585a68 461Group: Base/Kernel
351f379b
JR
462Requires(postun): %{name} = %{epoch}:%{version}-%{release}
463Requires: %{name} = %{epoch}:%{version}-%{release}
464Obsoletes: kernel-smp-drm
07ff8614 465AutoReqProv: no
a5585a68
AM
466
467%description drm
351f379b
JR
468DRM kernel modules.
469
470%description drm -l de.UTF-8
471DRM Kernel Treiber.
a5585a68 472
3a467bc1 473%description drm -l pl.UTF-8
351f379b 474Sterowniki DRM.
a5585a68 475
55e054be
JR
476%package ide
477Summary: IDE kernel modules
478Summary(de.UTF-8): IDE Kernel Treiber
479Summary(pl.UTF-8): Sterowniki IDE
480Group: Base/Kernel
481Requires(postun): %{name} = %{epoch}:%{version}-%{release}
482Requires: %{name} = %{epoch}:%{version}-%{release}
483AutoReqProv: no
484
485%description ide
486IDE kernel modules.
487
488%description ide -l de.UTF-8
489IDE Kernel Treiber.
490
491%description ide -l pl.UTF-8
492Sterowniki IDE.
493
a5585a68
AM
494%package pcmcia
495Summary: PCMCIA modules
351f379b
JR
496Summary(de.UTF-8): PCMCIA Module
497Summary(pl.UTF-8): Moduły PCMCIA
a5585a68 498Group: Base/Kernel
351f379b
JR
499Requires(postun): %{name} = %{epoch}:%{version}-%{release}
500Requires: %{name} = %{epoch}:%{version}-%{release}
501Obsoletes: kernel-smp-pcmcia
502Conflicts: pcmcia-cs < 3.1.21
503Conflicts: pcmciautils < 004
07ff8614 504AutoReqProv: no
a5585a68
AM
505
506%description pcmcia
351f379b
JR
507PCMCIA modules.
508
509%description pcmcia -l de.UTF-8
510PCMCIA Module.
a5585a68 511
3a467bc1 512%description pcmcia -l pl.UTF-8
351f379b
JR
513Moduły PCMCIA.
514
a5585a68
AM
515%package sound-alsa
516Summary: ALSA kernel modules
351f379b
JR
517Summary(de.UTF-8): ALSA Kernel Module
518Summary(pl.UTF-8): Sterowniki dźwięku ALSA
a5585a68 519Group: Base/Kernel
351f379b
JR
520Requires(postun): %{name} = %{epoch}:%{version}-%{release}
521Requires: %{name} = %{epoch}:%{version}-%{release}
522Obsoletes: kernel-smp-sound-alsa
07ff8614 523AutoReqProv: no
a5585a68
AM
524
525%description sound-alsa
526ALSA (Advanced Linux Sound Architecture) sound drivers.
527
351f379b
JR
528%description sound-alsa -l de.UTF-8
529ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
530
3a467bc1
JR
531%description sound-alsa -l pl.UTF-8
532Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
a5585a68 533
a5585a68
AM
534%package headers
535Summary: Header files for the Linux kernel
351f379b
JR
536Summary(de.UTF-8): Header Dateien für den Linux-Kernel
537Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
538Group: Development/Building
52e5f3df 539Provides: %{name}-headers(netfilter) = 20070806
07ff8614 540AutoReqProv: no
a5585a68
AM
541
542%description headers
543These are the C header files for the Linux kernel, which define
351f379b
JR
544structures and constants that are needed when rebuilding the kernel or
545building kernel modules.
546
547%description headers -l de.UTF-8
548Dies sind die C Header Dateien für den Linux-Kernel, die definierte
549Strukturen und Konstante beinhalten, die beim rekompilieren des
550Kernels oder bei Kernel Modul kompilationen gebraucht werden.
a5585a68 551
3a467bc1
JR
552%description headers -l pl.UTF-8
553Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
554oraz budowania modułów jądra.
a5585a68
AM
555
556%package module-build
557Summary: Development files for building kernel modules
351f379b
JR
558Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
559Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
560Group: Development/Building
a5585a68 561Requires: %{name}-headers = %{epoch}:%{version}-%{release}
3674ac16 562Requires: elfutils-devel
48d6a50c 563Requires: make
5c6b663b 564Conflicts: rpmbuild(macros) < 1.704
07ff8614 565AutoReqProv: no
a5585a68
AM
566
567%description module-build
568Development files from kernel source tree needed to build Linux kernel
569modules from external packages.
570
351f379b
JR
571%description module-build -l de.UTF-8
572Development Dateien des Linux-Kernels die beim kompilieren externer
573Kernel Module gebraucht werden.
574
3a467bc1
JR
575%description module-build -l pl.UTF-8
576Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
577Linuksa z zewnętrznych pakietów.
a5585a68
AM
578
579%package source
580Summary: Kernel source tree
351f379b
JR
581Summary(de.UTF-8): Der Kernel Quelltext
582Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
583Group: Development/Building
a5585a68 584Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
07ff8614 585AutoReqProv: no
d63ae4d9
ER
586%if "%{_rpmversion}" >= "5"
587BuildArch: noarch
588%endif
a5585a68
AM
589
590%description source
351f379b
JR
591This is the source code for the Linux kernel. You can build a custom
592kernel that is better tuned to your particular hardware.
a5585a68 593
3a467bc1
JR
594%description source -l de.UTF-8
595Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
a5585a68 596Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
351f379b 597C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
3a467bc1 598im Kernel-Source definiert sind. Die Source-Dateien können auch
351f379b 599benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
a5585a68
AM
600Hardware ausgerichtet ist.
601
3a467bc1 602%description source -l fr.UTF-8
a5585a68 603Le package pour le kernel-source contient le code source pour le noyau
3a467bc1
JR
604linux. Ces sources sont nécessaires pour compiler la plupart des
605programmes C, car il dépend de constantes définies dans le code
606source. Les sources peuvent être aussi utilisée pour compiler un noyau
607personnalisé pour avoir de meilleures performances sur des matériels
a5585a68
AM
608particuliers.
609
3a467bc1
JR
610%description source -l pl.UTF-8
611Pakiet zawiera kod źródłowy jądra systemu.
a5585a68
AM
612
613%package doc
614Summary: Kernel documentation
351f379b
JR
615Summary(de.UTF-8): Kernel Dokumentation
616Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
617Group: Documentation
07ff8614 618AutoReqProv: no
d63ae4d9
ER
619%if "%{_rpmversion}" >= "5"
620BuildArch: noarch
621%endif
a5585a68
AM
622
623%description doc
624This is the documentation for the Linux kernel, as found in
625/usr/src/linux/Documentation directory.
626
351f379b
JR
627%description doc -l de.UTF-8
628Dies ist die Kernel Dokumentation wie sie im 'Documentation'
629Verzeichniss vorgefunden werden kann.
630
3a467bc1
JR
631%description doc -l pl.UTF-8
632Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
a5585a68
AM
633/usr/src/linux/Documentation.
634
635%prep
351f379b
JR
636%setup -qc
637ln -s %{SOURCE7} kernel-module-build.pl
638ln -s %{SOURCE10} Makefile
67d87e28 639cd linux-%{basever}
a5585a68 640
1c5b0f0a 641%if "%{postver}" != ".0"
c6897157 642%patch0 -p1
351f379b 643%endif
a5585a68 644
7141a3b6 645%if %{without vanilla}
646
351f379b
JR
647%if %{with fbcondecor}
648%patch3 -p1
a5585a68 649%endif
28c4ae14 650%patch6 -p1
a5585a68 651
351f379b
JR
652## netfilter
653#
a5585a68 654
351f379b
JR
655# kernel-pom-ng-IPV4OPTSSTRIP.patch
656%patch10 -p1
a5585a68 657
351f379b
JR
658# kernel-owner-xid.patch
659%if %{with vserver}
660%patch37 -p1
a5585a68 661%endif
a5585a68 662
351f379b
JR
663# kernel-layer7.patch
664%patch40 -p1
665
351f379b
JR
666##
667# end of netfilter
668
351f379b 669%if %{with imq}
68ebd1d1 670#%patch50 -p1
a5585a68 671%endif
351f379b 672
351f379b
JR
673%patch55 -p1
674%patch56 -p1
675
351f379b
JR
676# kernel-rndis_host-wm5.patch
677%patch59 -p1
678
679# hostap enhancements from/for aircrack-ng
680%patch85 -p1
681
351f379b
JR
682# vserver
683%if %{with vserver}
684%patch100 -p1
685%patch101 -p1
a5585a68 686%endif
351f379b 687
63ae130d
AM
688%if %{with aufs}
689# aufs4
20493b41 690%patch145 -p1
ff3e50f1
JR
691%if %{with vserver}
692%patch146 -p1
693%endif
63ae130d 694%endif
a5585a68 695
351f379b
JR
696%if %{with rescuecd}
697%patch7000 -p1
e981df17 698%endif
a5585a68 699
1a6e0f06
JK
700%if %{with rt}
701%patch500 -p1
702rm -f localversion-rt
703%endif
704
df4db69a 705# apparmor
6768b87e 706%if %{with apparmor}
65a88893
JR
707%patch5001 -p1
708%patch5002 -p1
daaa955e
AM
709%patch5003 -p1
710%patch5004 -p1
711%patch5005 -p1
712%patch5006 -p1
713%patch5007 -p1
714%patch5008 -p1
715%patch5009 -p1
716%patch5010 -p1
717%patch5011 -p1
718%patch5012 -p1
719%patch5013 -p1
720%patch5014 -p1
721%patch5015 -p1
722%patch5016 -p1
6768b87e 723%endif
df4db69a 724
54fd642e 725%patch250 -p1
726
7141a3b6 727%endif # vanilla
728
351f379b 729# Small fixes:
08aa9d92 730%patch2000 -p1
351f379b
JR
731%patch2001 -p1
732#%patch2003 -p1
a5585a68 733
73cc1c57 734# Do not remove this, please!
5d3a3ea2 735#%%patch50000 -p1
73cc1c57 736
351f379b 737# Fix EXTRAVERSION in main Makefile
7a8dfe5c 738sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
a5585a68 739
351f379b
JR
740# cleanup backups after patching
741find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
a5585a68 742
351f379b
JR
743%build
744install -d %{objdir}
745cat > %{targetobj}.mk <<'EOF'
746# generated by %{name}.spec
5c6b663b 747KERNELSRC := %{srcdir}
351f379b
JR
748KERNELOUTPUT := %{objdir}
749
750SRCARCH := %{target_arch_dir}
751ARCH := %{_target_base_arch}
5c6b663b 752Q := %{!?with_verbose:@}
351f379b 753MAKE_OPTS := %{MakeOpts}
5a5ad91b 754DEFCONFIG := %{defconfig}
351f379b 755EOF
a5585a68 756
351f379b
JR
757RescueConfig() {
758 set -x
351f379b
JR
759 # CONFIG_SOUND is not set
760 # CONFIG_AUDIT is not set
761 # CONFIG_TR is not set
762 # CONFIG_BT is not set
763 # CONFIG_VIDEO_DEV is not set
764 # CONFIG_DVB_CORE is not set
765 # CONFIG_HAMRADIO is not set
766 # CONFIG_ARCNET is not set
351f379b
JR
767 # CONFIG_DRM is not set
768 # CONFIG_WATCHDOG is not set
769 # CONFIG_INPUT_JOYSTICK is not set
770 # CONFIG_DEBUG_KERNEL is not set
771 # CONFIG_ISDN is not set
772 # CONFIG_AGP is not set
773 # CONFIG_SECURITY is not set
774 # CONFIG_PARIDE is not set
775 # CONFIG_CPU_FREQ is not set
776 # CONFIG_GAMEPORT is not set
777 # CONFIG_KVM is not set
778 # CONFIG_PHONE is not set
dd55897d 779 # CONFIG_STRICT_DEVMEM is not set
6bab3a31 780 # CONFIG_IMA is not set
a947000a
AP
781 # CONFIG_MEDIA_SUPPORT is not set
782 # CONFIG_UWB is not set
783 # CONFIG_PWM is not set
38e632af
JK
784 # CONFIG_COMEDI_NI_LABPC_ISA is not set
785 # CONFIG_FB_SYS_FILLRECT is not set
786 # CONFIG_FB_SYS_COPYAREA is not set
787 # CONFIG_FB_SYS_IMAGEBLIT is not set
788 # CONFIG_FB_SYS_FOPS is not set
789 # CONFIG_FB_HECUBA is not set
790 # CONFIG_FB_SVGALIB is not set
791 # CONFIG_FB_CIRRUS is not set
792 # CONFIG_FB_PM2 is not set
793 # CONFIG_FB_CYBER2000 is not set
794 # CONFIG_FB_ARC is not set
795 # CONFIG_FB_ASILIANT is not set
796 # CONFIG_FB_IMSTT is not set
797 # CONFIG_FB_VGA16 is not set
798 # CONFIG_FB_UVESA is not set
799 # CONFIG_FB_N411 is not set
800 # CONFIG_FB_HGA is not set
801 # CONFIG_FB_S1D13XXX is not set
802 # CONFIG_FB_NVIDIA is not set
803 # CONFIG_FB_RIVA is not set
804 # CONFIG_FB_I740 is not set
805 # CONFIG_FB_LE80578 is not set
806 # CONFIG_FB_CARILLO_RANCH is not set
807 # CONFIG_FB_MATROX is not set
808 # CONFIG_FB_RADEON is not set
809 # CONFIG_FB_ATY128 is not set
810 # CONFIG_FB_ATY is not set
811 # CONFIG_FB_S3 is not set
812 # CONFIG_FB_SAVAGE is not set
813 # CONFIG_FB_SIS is not set
814 # CONFIG_FB_VIA is not set
815 # CONFIG_FB_NEOMAGIC is not set
816 # CONFIG_FB_KYRO is not set
817 # CONFIG_FB_3DFX is not set
818 # CONFIG_FB_VOODOO1 is not set
819 # CONFIG_FB_VT8623 is not set
820 # CONFIG_FB_TRIDENT is not set
821 # CONFIG_FB_ARK is not set
822 # CONFIG_FB_PM3 is not set
823 # CONFIG_FB_CARMINE is not set
824 # CONFIG_FB_GEODE is not set
825 # CONFIG_FB_TMIO is not set
826 # CONFIG_FB_SM501 is not set
827 # CONFIG_FB_SMSCUFX is not set
828 # CONFIG_FB_UDL is not set
829 # CONFIG_FB_GOLDFISH is not set
830 # CONFIG_XEN_FBDEV_FRONTEND is not set
831 # CONFIG_FB_METRONOME is not set
832 # CONFIG_FB_MB862XX is not set
833 # CONFIG_FB_BROADSHEET is not set
834 # CONFIG_FB_AUO_K190X is not set
835 # CONFIG_FB_AUO_K1900 is not set
836 # CONFIG_FB_AUO_K1901 is not set
837 # CONFIG_FB_HYPERV is not set
351f379b 838 CONFIG_AUFS=y
a899ef35 839 CONFIG_AUFS_FS=y
840 CONFIG_AUFS_BR_RAMFS=y
62fff140 841 CONFIG_AUFS_RDU=y
351f379b
JR
842 CONFIG_BLK_DEV_LOOP=y
843 CONFIG_ISO9660_FS=y
844 CONFIG_NLS_UTF8=y
6b79006d 845 CONFIG_SQUASHFS=y
38e632af
JK
846 CONFIG_FB=y
847 CONFIG_FB_EFI=y
848 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
351f379b
JR
849EOCONFIG
850
851 return 0
852}
a5585a68 853
351f379b
JR
854BuildConfig() {
855 %{?debug:set -x}
856 set -e
a5585a68 857
351f379b
JR
858 Config="kernel-%{target_arch_dir}.config"
859 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
a5585a68 860
351f379b
JR
861 # prepare local and important options
862 cat <<-EOCONFIG > important.config
863 LOCALVERSION="-%{localversion}"
fb4e3822 864
351f379b
JR
865%if 0%{?debug:1}
866 CONFIG_DEBUG_SLAB=y
867 CONFIG_DEBUG_SLAB_LEAK=y
868 CONFIG_DEBUG_PREEMPT=y
869 CONFIG_RT_DEADLOCK_DETECT=y
a5585a68 870%endif
351f379b 871
351f379b
JR
872%if %{without ipv6}
873 CONFIG_IPV6=n
874%endif
a5585a68 875
351f379b 876%ifarch i686 athlon pentium3 pentium4
5a5ad91b 877 %if %{with pae}
351f379b
JR
878 CONFIG_HIGHMEM4G=n
879 CONFIG_HIGHMEM64G=y
880 CONFIG_X86_PAE=y
7c99a84b 881 CONFIG_NUMA=n
5a5ad91b 882 %endif
351f379b 883%endif
a5585a68 884
351f379b
JR
885%if %{without pcmcia}
886 CONFIG_PCMCIA=n
887%endif
a5585a68 888
351f379b
JR
889%if %{with fbcondecor}
890 CONFIG_FB_S3=n
891 CONFIG_FB_VT8623=n
892 CONFIG_FB_ARK=n
893 CONFIG_FB_TILEBLITTING=n
894 CONFIG_FB_CON_DECOR=y
895%endif
a5585a68 896
351f379b
JR
897%if %{with nfsroot}
898 CONFIG_NFS_FS=y
899 CONFIG_ROOT_NFS=y
900%endif
351f379b 901EOCONFIG
a5585a68 902
351f379b
JR
903%if %{with rescuecd}
904 RescueConfig rescue.config
351f379b 905%endif
351f379b
JR
906 # prepare kernel-style config file from multiple config files
907 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
101ae904 908%if %{with myown}
909 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
910%endif
351f379b 911 important.config \
7141a3b6 912%if %{without vanilla}
351f379b
JR
913%if %{with rescuecd}
914 %{SOURCE58} \
351f379b
JR
915 rescue.config \
916%endif
917 \
351f379b
JR
918%if %{with imq}
919 %{SOURCE55} \
920%endif
921%if %{with vserver}
922 %{SOURCE43} \
1a6e0f06
JK
923%endif
924%if %{with rt}
925 %{SOURCE44} \
351f379b 926%endif
351f379b 927 %{SOURCE41} %{?0:patches} \
7141a3b6 928%endif
351f379b
JR
929 %{SOURCE20} \
930 $RPM_SOURCE_DIR/$Config
931}
a5585a68 932
351f379b
JR
933cd %{objdir}
934install -d arch/%{target_arch_dir}
351f379b 935BuildConfig > %{defconfig}
351f379b
JR
936ln -sf %{defconfig} .config
937cd -
a5585a68 938
7856c5e8
AM
939%{__make} \
940 TARGETOBJ=%{targetobj} \
941 %{?with_verbose:V=1} \
942 oldconfig
a5585a68 943
351f379b 944%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
a5585a68 945
351f379b 946# build kernel
7856c5e8
AM
947%{__make} \
948 TARGETOBJ=%{targetobj} \
949 %{?with_verbose:V=1} \
950 all
a5585a68 951
351f379b
JR
952%install
953rm -rf $RPM_BUILD_ROOT
6133b03b 954%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install %{?with_firmware:firmware_install} \
351f379b
JR
955 -C %{objdir} \
956 %{?with_verbose:V=1} \
957 DEPMOD=%{DepMod} \
811cca3c 958 mod_compress_cmd=true \
351f379b
JR
959 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
960 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
961 KERNELRELEASE=%{kernel_release}
962
963install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
964
101ae904 965# create directories which may be missing, to simplyfy %files
64d14572 966install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
101ae904 967
351f379b
JR
968# rpm obeys filelinkto checks for ghosted symlinks, convert to files
969rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
970touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
971
6d54bd67
ER
972# no point embed content for %ghost files. empty them
973for a in \
974 dep{,.bin} \
975 alias{,.bin} \
8ee3ac38
AM
976 devname \
977 softdep \
6d54bd67 978 symbols{,.bin} \
6d54bd67 979; do
09e63f4a 980 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
6d54bd67
ER
981 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
982done
983
351f379b
JR
984# /boot
985install -d $RPM_BUILD_ROOT/boot
986cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
99eb7fa8 987cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
5c6b663b 988%ifarch %{ix86} %{x8664} x32
1db9a2c1
ER
989 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
990 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
351f379b
JR
991%endif
992%ifarch ppc ppc64
1db9a2c1
ER
993 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
994 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
a5585a68 995%endif
a5585a68 996%ifarch ia64
1db9a2c1
ER
997 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
998 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
999 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
351f379b
JR
1000%endif
1001%ifarch alpha sparc sparc64
1002 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1003 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1db9a2c1
ER
1004 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1005 %ifarch sparc
1006 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1007 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1008 %endif
1009 %ifarch sparc64
1010 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1011 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1012 %endif
351f379b
JR
1013%endif
1014%ifarch arm
1db9a2c1 1015 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
a5585a68 1016%endif
a5585a68 1017
351f379b
JR
1018# ghosted initrd
1019touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1a30aaa8 1020touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
a5585a68 1021
7b6fa769 1022%if "%{_target_base_arch}" != "%{_host_base_arch}"
351f379b
JR
1023touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1024%endif
a5585a68 1025
351f379b
JR
1026# /etc/modrobe.d
1027install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
a5585a68 1028
5aeaa3c2
JR
1029install -d $RPM_BUILD_ROOT/etc/sysconfig
1030install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
1031
351f379b 1032# /usr/src/linux
82833fcc
AM
1033install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1034
351f379b
JR
1035# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1036if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1037 l=l
1038 rm -f $RPM_BUILD_ROOT/COPYING
a5585a68 1039fi
a5585a68 1040
351f379b 1041cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
29564a2e
JR
1042cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
1043cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
1044cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
c122bff4
AM
1045# copy arch/x86/include/generated
1046for dir in $(cd %{objdir} && find arch -name generated -type d); do
1047 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
1048 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
1049done
351f379b 1050
301ecb4a
JR
1051# version.h location changed in 3.7, but a lot of external modules don't know about it
1052# add a compatibility symlink
fca82534 1053ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
301ecb4a 1054
4217a9ad
JR
1055# disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
1056%{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
1057
351f379b
JR
1058# collect module-build files and directories
1059# Usage: kernel-module-build.pl $rpmdir $fileoutdir
1060fileoutdir=$(pwd)
1061cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1062%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1063cd -
1064
29564a2e
JR
1065for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
1066 ff=${f##%{objdir}/}
1067 if [ -x "$f" ]; then
1068 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1069 else
1070 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1071 fi
1072 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
1073 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
1074done
1075
d63ae4d9 1076%if %{with doc}
30f08736
ER
1077# move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1078install -d $RPM_BUILD_ROOT%{_docdir}
1079mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1080
d63ae4d9
ER
1081%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1082%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1083%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1084%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1085%else
1086%{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
1087%endif
d3a69071 1088
351f379b
JR
1089%clean
1090rm -rf $RPM_BUILD_ROOT
1091
1092%preun
1093if [ -x /sbin/new-kernel-pkg ]; then
1094 /sbin/new-kernel-pkg --remove %{kernel_release}
a5585a68 1095fi
351f379b
JR
1096
1097%post
5aeaa3c2
JR
1098[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1099if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
351f379b 1100%ifarch ia64
5aeaa3c2
JR
1101 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1102 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
b400362c 1103%if 0%{?alt_kernel:1}
5aeaa3c2
JR
1104 mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1105 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
b400362c 1106%endif
351f379b 1107%endif
5aeaa3c2
JR
1108 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1109 mv -f /boot/System.map{,.old} 2> /dev/null
1110 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1111 ln -sf System.map-%{kernel_release} /boot/System.map
b400362c 1112%if 0%{?alt_kernel:1}
5aeaa3c2
JR
1113 mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1114 mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
1115 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
1116 ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
b400362c 1117%endif
5aeaa3c2 1118fi
351f379b
JR
1119
1120%depmod %{kernel_release}
1121
8a2af12a 1122%if %{without vserver}
9ed61a9a 1123%banner -e -a kernel <<EOF
8a2af12a 1124
9ed61a9a 1125WARNING: Vserver support is DISABLED in this kernel build!
8a2af12a
JR
1126
1127EOF
1128%endif
1129
4dabe329 1130%posttrans
31a535c1 1131# use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
5aeaa3c2 1132[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
fed5e62c 1133initrd_file=""
5aeaa3c2 1134if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
31a535c1 1135 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
fed5e62c 1136 initrd_file="initrd-%{kernel_release}.gz"
5aeaa3c2 1137fi
fed5e62c
JK
1138
1139# if dracut is present then generate full-featured initramfs
1140if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
1141 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
5a5ad91b 1142 [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
fed5e62c
JK
1143fi
1144
5aeaa3c2
JR
1145if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1146 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
5a5ad91b
ER
1147 if [ -n "$initrd_file" ] ; then
1148 ln -sf "$initrd_file" %{initrd_dir}/initrd
1149 fi
b400362c 1150%if 0%{?alt_kernel:1}
5aeaa3c2 1151 mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
5a5ad91b
ER
1152 if [ -n "$initrd_file" ] ; then
1153 ln -sf "$initrd_file" %{initrd_dir}/initrd%{_alt_kernel}
1154 fi
b400362c 1155%endif
5aeaa3c2 1156fi
351f379b 1157
4dabe329 1158# update boot loaders when old package files are gone from filesystem
c5de1ad5 1159if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
4dabe329
ER
1160 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1161 /sbin/update-grub >/dev/null
c5de1ad5
ER
1162 fi
1163fi
351f379b 1164if [ -x /sbin/new-kernel-pkg ]; then
6ef17cf1 1165 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/$initrd_file --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
0bb27755
ER
1166fi
1167if [ -x /sbin/rc-boot ]; then
351f379b 1168 /sbin/rc-boot 1>&2 || :
a5585a68 1169fi
f06ac035
JK
1170if [ -x /sbin/efi-boot-update ]; then
1171 /sbin/efi-boot-update --auto || :
1172fi
a5585a68 1173
351f379b 1174%post vmlinux
5aeaa3c2
JR
1175[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1176if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1177 mv -f /boot/vmlinux{,.old} 2> /dev/null
1178 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
b400362c 1179%if 0%{?alt_kernel:1}
5aeaa3c2
JR
1180 mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
1181 ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
b400362c 1182%endif
5aeaa3c2 1183fi
351f379b 1184
351f379b
JR
1185%post drm
1186%depmod %{kernel_release}
a5585a68 1187
351f379b
JR
1188%postun drm
1189%depmod %{kernel_release}
a5585a68 1190
55e054be
JR
1191%post ide
1192%depmod %{kernel_release}
1193
1194%postun ide
1195%depmod %{kernel_release}
1196
351f379b
JR
1197%post pcmcia
1198%depmod %{kernel_release}
a5585a68 1199
351f379b
JR
1200%postun pcmcia
1201%depmod %{kernel_release}
a5585a68 1202
351f379b
JR
1203%post sound-alsa
1204%depmod %{kernel_release}
a5585a68 1205
351f379b
JR
1206%postun sound-alsa
1207%depmod %{kernel_release}
a5585a68 1208
a5585a68 1209%post headers
e865f3ec 1210ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
a5585a68
AM
1211
1212%postun headers
351f379b 1213if [ "$1" = "0" ]; then
e865f3ec
JR
1214 if [ -L %{_prefix}/src/linux%{versuffix}%{_alt_kernel} ]; then
1215 if [ "$(readlink %{_prefix}/src/linux%{versuffix}%{_alt_kernel})" = "linux%{versuffix}%{_alt_kernel}-%{version}" ]; then
1216 rm -f %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
a5585a68
AM
1217 fi
1218 fi
1219fi
1220
351f379b
JR
1221%triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1222ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1223ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1224
1225%triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1226if [ "$1" = 0 ]; then
1227 rm -f /lib/modules/%{kernel_release}/{build,source}
1228fi
1229
a5585a68
AM
1230%files
1231%defattr(644,root,root,755)
11f5dae8 1232%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
a5585a68 1233%ifarch sparc sparc64
351f379b 1234/boot/vmlinux.aout-%{kernel_release}
a5585a68
AM
1235%endif
1236%ifarch ia64
351f379b
JR
1237/boot/efi/vmlinuz-%{kernel_release}
1238%endif
1239/boot/vmlinuz-%{kernel_release}
1240/boot/System.map-%{kernel_release}
d9faffc5 1241/boot/config-%{kernel_release}
351f379b 1242%ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1a30aaa8 1243%ghost %{initrd_dir}/initramfs-%{kernel_release}.img
6133b03b 1244%if %{with firmware}
ae1c66e5 1245/lib/firmware/%{kernel_release}
6133b03b 1246%endif
351f379b
JR
1247
1248%dir /lib/modules/%{kernel_release}
1249%dir /lib/modules/%{kernel_release}/kernel
351f379b 1250/lib/modules/%{kernel_release}/kernel/arch
f99f4214 1251/lib/modules/%{kernel_release}/kernel/block
351f379b
JR
1252/lib/modules/%{kernel_release}/kernel/crypto
1253/lib/modules/%{kernel_release}/kernel/drivers
101ae904 1254%if %{have_drm}
351f379b
JR
1255%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1256%endif
55e054be 1257%if %{have_ide}
56f1b194 1258%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/*
55e054be 1259%endif
351f379b 1260/lib/modules/%{kernel_release}/kernel/fs
351f379b 1261/lib/modules/%{kernel_release}/kernel/kernel
351f379b
JR
1262/lib/modules/%{kernel_release}/kernel/lib
1263/lib/modules/%{kernel_release}/kernel/net
fecce547 1264/lib/modules/%{kernel_release}/kernel/mm
101ae904 1265%if %{have_sound}
351f379b
JR
1266%dir /lib/modules/%{kernel_release}/kernel/sound
1267/lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1268/lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1269%ifnarch sparc
2ba6f0dd
AM
1270%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1271%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1272%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
351f379b
JR
1273%endif
1274%endif
1275%dir /lib/modules/%{kernel_release}/misc
101ae904 1276%if %{have_pcmcia}
351f379b
JR
1277%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1278%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1279%exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1280%if %{without rescuecd}
1281%exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1282%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1283%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1284%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
088462e0 1285%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
351f379b
JR
1286%endif
1287%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
f9c9dc1a
JR
1288%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/arcnet/com20020_cs.ko*
1289%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/can/softing/softing_cs.ko*
1290%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c574_cs.ko*
1291%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c589_cs.ko*
1292%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/axnet_cs.ko*
1293%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/pcnet_cs.ko*
1294%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/amd/nmclan_cs.ko*
1295%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/fujitsu/fmvj18x_cs.ko*
1296%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/smsc/smc91c92_cs.ko*
1297%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/xircom/xirc2ps_cs.ko*
351f379b 1298%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
f9c9dc1a
JR
1299%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/atmel/*_cs.ko*
1300%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/cisco/*_cs.ko*
1301%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/hostap/hostap_cs.ko*
1302%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/orinoco/*_cs.ko*
1303%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/marvell/libertas/*_cs.ko*
351f379b 1304%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
7eafdf33 1305%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
351f379b
JR
1306%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1307%endif
101ae904 1308%if %{with myown}
1309/lib/modules/%{kernel_release}/kernel/sound
1310%endif
30812fb8 1311/lib/modules/%{kernel_release}/kernel/security
be52b249 1312/lib/modules/%{kernel_release}/kernel/virt
6d54bd67
ER
1313
1314%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1315
1316# provided by build
1317/lib/modules/%{kernel_release}/modules.order
8ee3ac38 1318/lib/modules/%{kernel_release}/modules.builtin*
6d54bd67
ER
1319
1320# rest modules.* are ghost (regenerated by post depmod -a invocation)
1321%ghost /lib/modules/%{kernel_release}/modules.alias
1322%ghost /lib/modules/%{kernel_release}/modules.alias.bin
6d54bd67
ER
1323%ghost /lib/modules/%{kernel_release}/modules.dep
1324%ghost /lib/modules/%{kernel_release}/modules.dep.bin
8ee3ac38 1325%ghost /lib/modules/%{kernel_release}/modules.devname
8ee3ac38 1326%ghost /lib/modules/%{kernel_release}/modules.softdep
6d54bd67
ER
1327%ghost /lib/modules/%{kernel_release}/modules.symbols
1328%ghost /lib/modules/%{kernel_release}/modules.symbols.bin
6d54bd67 1329
351f379b
JR
1330# symlinks pointing to kernelsrcdir
1331%ghost /lib/modules/%{kernel_release}/build
1332%ghost /lib/modules/%{kernel_release}/source
351f379b 1333
5c6b663b 1334%ifarch alpha %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
351f379b 1335%files vmlinux
a5585a68 1336%defattr(644,root,root,755)
351f379b 1337/boot/vmlinux-%{kernel_release}
a5585a68
AM
1338%endif
1339
101ae904 1340%if %{have_drm}
351f379b 1341%files drm
a5585a68 1342%defattr(644,root,root,755)
351f379b 1343/lib/modules/%{kernel_release}/kernel/drivers/gpu
a5585a68
AM
1344%endif
1345
55e054be
JR
1346%if %{have_ide}
1347%files ide
1348%defattr(644,root,root,755)
56f1b194 1349/lib/modules/%{kernel_release}/kernel/drivers/ide/*
2226c439
JR
1350%if %{have_pcmcia}
1351%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1352%endif
55e054be
JR
1353%endif
1354
101ae904 1355%if %{have_pcmcia}
351f379b 1356%files pcmcia
a5585a68 1357%defattr(644,root,root,755)
351f379b
JR
1358/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1359/lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1360%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1361%if %{without rescuecd}
1362/lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1363/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1364/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
351f379b 1365/lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
07100052 1366%endif
351f379b 1367/lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
f9c9dc1a
JR
1368/lib/modules/%{kernel_release}/kernel/drivers/net/arcnet/com20020_cs.ko*
1369/lib/modules/%{kernel_release}/kernel/drivers/net/can/softing/softing_cs.ko*
1370/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c574_cs.ko*
1371/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c589_cs.ko*
1372/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/axnet_cs.ko*
1373/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/pcnet_cs.ko*
1374/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/amd/nmclan_cs.ko*
1375/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/fujitsu/fmvj18x_cs.ko*
1376/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/smsc/smc91c92_cs.ko*
1377/lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/xircom/xirc2ps_cs.ko*
351f379b 1378/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
f9c9dc1a
JR
1379/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/atmel/*_cs.ko*
1380/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/cisco/*_cs.ko*
1381/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/hostap/hostap_cs.ko*
1382/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/orinoco/*_cs.ko*
1383/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/marvell/libertas/*_cs.ko*
351f379b 1384/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
7eafdf33 1385/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
351f379b
JR
1386/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1387%endif
1388
101ae904 1389%if %{have_sound}
351f379b 1390%files sound-alsa
a5585a68 1391%defattr(644,root,root,755)
351f379b
JR
1392/lib/modules/%{kernel_release}/kernel/sound
1393%exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1394%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1395%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
351f379b 1396%ifnarch sparc
088462e0 1397/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
2ba6f0dd
AM
1398/lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1399/lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1400/lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
a5585a68 1401%endif
a5585a68
AM
1402%endif
1403
fecce547 1404%files headers -f files.headers_exclude_kbuild
a5585a68 1405%defattr(644,root,root,755)
30f08736 1406%dir %{_kernelsrcdir}
351f379b
JR
1407%{_kernelsrcdir}/include
1408%dir %{_kernelsrcdir}/arch
1409%dir %{_kernelsrcdir}/arch/[!K]*
1410%{_kernelsrcdir}/arch/*/include
1411%dir %{_kernelsrcdir}/security
1412%dir %{_kernelsrcdir}/security/selinux
1413%{_kernelsrcdir}/security/selinux/include
29564a2e
JR
1414%{_kernelsrcdir}/.config
1415%{_kernelsrcdir}/Module.symvers
351f379b 1416
fecce547 1417%files module-build -f files.mb_include_modulebuild_and_dirs
a5585a68 1418%defattr(644,root,root,755)
351f379b
JR
1419%ifarch ppc ppc64
1420%{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1421%endif
fecce547 1422%exclude %dir %{_kernelsrcdir}/arch/um
351f379b
JR
1423%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1424%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1425%{_kernelsrcdir}/drivers/lguest/lg.h
2ba6f0dd 1426%{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
351f379b 1427%{_kernelsrcdir}/kernel/bounds.c
4217a9ad
JR
1428%{_kernelsrcdir}/scripts/basic/*.c
1429%attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1430%{_kernelsrcdir}/scripts/kconfig/*.in
1431%{_kernelsrcdir}/scripts/kconfig/*_shipped
1432%{_kernelsrcdir}/scripts/kconfig/*.pl
1433%{_kernelsrcdir}/scripts/kconfig/*.glade
1434%{_kernelsrcdir}/scripts/kconfig/*.gperf
1435%{_kernelsrcdir}/scripts/kconfig/*.cc
1436%{_kernelsrcdir}/scripts/kconfig/*.y
1437%{_kernelsrcdir}/scripts/kconfig/*.l
1438%{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1439%{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1440%{_kernelsrcdir}/scripts/kconfig/l*.h
1441%{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
1442%{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
1443%{_kernelsrcdir}/scripts/kconfig/lxdialog
1444%{_kernelsrcdir}/scripts/mod/*.c
4442a07d 1445%{_kernelsrcdir}/scripts/mod/modpost.h
29564a2e 1446%attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
351f379b 1447%{_kernelsrcdir}/scripts/mkmakefile
960d2e94 1448%{_kernelsrcdir}/scripts/module-common.lds
29564a2e 1449%attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
351f379b 1450%{_kernelsrcdir}/scripts/*.c
77460261 1451%{_kernelsrcdir}/scripts/*.h
29564a2e 1452%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
9d6d5869 1453%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
c78e408d 1454%{_kernelsrcdir}/scripts/selinux/mdp/*.c
fecce547 1455%exclude %dir %{_kernelsrcdir}/security
1456%exclude %dir %{_kernelsrcdir}/security/selinux
a5585a68 1457
1848fd38 1458%if %{with doc}
a5585a68
AM
1459%files doc
1460%defattr(644,root,root,755)
d3a69071
ER
1461%dir %{_docdir}/%{name}-%{version}
1462
1463%{_docdir}/%{name}-%{version}/[!jkz]*
1464%{_docdir}/%{name}-%{version}/[jkz]*.txt
1465%{_docdir}/%{name}-%{version}/kbuild
1466%{_docdir}/%{name}-%{version}/kdump
92820201 1467%{_docdir}/%{name}-%{version}/kernel-hacking
1848fd38 1468%endif
a5585a68
AM
1469
1470%if %{with source}
fecce547 1471%files source -f files.source_exclude_modulebuild_and_dirs
a5585a68 1472%defattr(644,root,root,755)
351f379b
JR
1473%{_kernelsrcdir}/arch/*/[!Mik]*
1474%{_kernelsrcdir}/arch/*/kernel/[!M]*
351f379b
JR
1475%{_kernelsrcdir}/arch/ia64/install.sh
1476%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1477%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
fecce547 1478%{_kernelsrcdir}/arch/m68k/install.sh
351f379b
JR
1479%{_kernelsrcdir}/arch/parisc/install.sh
1480%{_kernelsrcdir}/arch/x86/ia32/[!M]*
351f379b
JR
1481%{_kernelsrcdir}/arch/powerpc/kvm
1482%ifarch ppc ppc64
1483%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1484%endif
4442a07d 1485%{_kernelsrcdir}/arch/arm/kvm
392086de 1486%{_kernelsrcdir}/arch/arm64/kvm
7770d33f 1487%{_kernelsrcdir}/arch/mips/kvm
351f379b
JR
1488%{_kernelsrcdir}/arch/s390/kvm
1489%{_kernelsrcdir}/arch/x86/kvm
1490%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1491%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1492%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
2ba6f0dd 1493%exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
351f379b 1494%{_kernelsrcdir}/block
79b8bda9 1495%{_kernelsrcdir}/certs
351f379b
JR
1496%{_kernelsrcdir}/crypto
1497%{_kernelsrcdir}/drivers
1498%{_kernelsrcdir}/firmware
1499%{_kernelsrcdir}/fs
351f379b
JR
1500%{_kernelsrcdir}/init
1501%{_kernelsrcdir}/ipc
1502%{_kernelsrcdir}/kernel
1503%exclude %{_kernelsrcdir}/kernel/bounds.c
1504%{_kernelsrcdir}/lib
1505%{_kernelsrcdir}/mm
1506%{_kernelsrcdir}/net
1507%{_kernelsrcdir}/virt
1508%{_kernelsrcdir}/samples
1509%{_kernelsrcdir}/scripts/*
1510%exclude %{_kernelsrcdir}/scripts/Kbuild.include
1511%exclude %{_kernelsrcdir}/scripts/Makefile*
1512%exclude %{_kernelsrcdir}/scripts/basic
1513%exclude %{_kernelsrcdir}/scripts/kconfig
960d2e94 1514%exclude %{_kernelsrcdir}/scripts/mkcompile_h
351f379b
JR
1515%exclude %{_kernelsrcdir}/scripts/mkmakefile
1516%exclude %{_kernelsrcdir}/scripts/mod
960d2e94 1517%exclude %{_kernelsrcdir}/scripts/module-common.lds
351f379b
JR
1518%exclude %{_kernelsrcdir}/scripts/setlocalversion
1519%exclude %{_kernelsrcdir}/scripts/*.c
77460261 1520%exclude %{_kernelsrcdir}/scripts/*.h
351f379b 1521%exclude %{_kernelsrcdir}/scripts/*.sh
960d2e94 1522%exclude %dir %{_kernelsrcdir}/scripts/selinux
1523%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
c78e408d
PZ
1524%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1525%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1526%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
960d2e94 1527%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1528%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1529%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
351f379b
JR
1530%{_kernelsrcdir}/sound
1531%{_kernelsrcdir}/security
1532%exclude %{_kernelsrcdir}/security/selinux/include
94a92871 1533%{_kernelsrcdir}/tools/*
351f379b
JR
1534%{_kernelsrcdir}/usr
1535%{_kernelsrcdir}/COPYING
1536%{_kernelsrcdir}/CREDITS
1537%{_kernelsrcdir}/MAINTAINERS
1538%{_kernelsrcdir}/README
a5585a68 1539%endif
This page took 0.598568 seconds and 4 git commands to generate.