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