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