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