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