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