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