3 # the following bcond combos will not work
4 # - without_vserver and any of the following
7 # LATEST VERSION CHECKER:
8 # # curl -s http://www.kernel.org/kdist/finger_banner
11 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
13 # HOWTO update configuration files:
15 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
16 # - sort configuration files using:
17 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
18 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
21 %bcond_without source # don't build kernel-source package
22 %bcond_without doc # don't build kernel-doc package
23 %bcond_without pcmcia # don't build pcmcia
25 %bcond_with verbose # verbose build (V=1)
26 %bcond_with reiser4 # support for reiser4 fs (experimental)
28 %bcond_without grsecurity # don't build grsecurity nor pax at all
29 %bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
31 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
32 %bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
33 %bcond_with nfsroot # build with root on NFS support
35 %bcond_without imq # imq support
36 %bcond_without wrr # wrr support
37 %bcond_without esfq # esfq support
38 %bcond_without ipv6 # ipv6 support
40 %bcond_without vserver # support for VServer (enabled by default)
41 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
43 %bcond_with rescuecd # build kernel for our rescue
45 %bcond_with myown # build with your own config (kernel-myown.config)
47 %{?debug:%define with_verbose 1}
49 %if %{without grsecurity}
54 %define with_grsecurity 1
64 %unglobal with_tuxonice
65 %unglobal with_grsecurity
67 %unglobal with_vserver
89 %define basever 2.6.38
93 %define _enable_debug_packages 0
95 %define tuxonice_version 3.2
96 %define netfilter_snap 20070806
99 %if "%{_alt_kernel}" == ""
100 %define alt_kernel myown
103 %if %{without rescuecd}
104 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
105 %if "%{__alt_kernel}" != ""
106 %define alt_kernel %{__alt_kernel}
109 %define alt_kernel rescuecd
113 # kernel release (used in filesystem and eventually in uname -r)
114 # modules will be looked from /lib/modules/%{kernel_release}
115 # localversion is just that without version for "> localversion"
116 %define localversion %{rel}
117 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
119 Summary: The Linux kernel (the core of the Linux operating system)
120 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
121 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
122 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
123 Summary(pl.UTF-8): JÄ…dro Linuksa
124 Name: kernel%{_alt_kernel}
125 Version: %{basever}%{postver}
130 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
131 # Source0-md5: 7d471477bfa67546f902da62227fa976
132 %if "%{postver}" != "%{nil}"
133 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
134 # Source1-md5: 599badab31c4920d4122133208c810d7
137 Source3: kernel-autoconf.h
138 Source4: kernel-config.h
139 Source6: kernel-config.awk
140 Source7: kernel-module-build.pl
141 Source8: kernel-track-config-change.awk
142 # not used by kernel.spec, but it's good to have it in SOURCES
143 Source9: kernel-config-sort.pl
144 Source10: kernel.make
146 Source20: kernel-multiarch.config
147 Source21: kernel-x86.config
148 Source22: kernel-sparc.config
149 Source23: kernel-alpha.config
150 Source24: kernel-powerpc.config
151 Source25: kernel-ia64.config
153 Source40: kernel-netfilter.config
154 Source41: kernel-patches.config
155 Source42: kernel-tuxonice.config
156 Source43: kernel-vserver.config
157 Source45: kernel-grsec.config
159 Source49: kernel-pax.config
160 Source50: kernel-no-pax.config
161 Source55: kernel-imq.config
162 Source56: kernel-reiser4.config
163 Source57: kernel-wrr.config
165 Source58: kernel-inittmpfs.config
166 Source59: kernel-bzip2-lzma.config
168 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
169 Patch3: kernel-fbcondecor.patch
170 Patch4: kernel-fbcon-margins.patch
171 Patch5: linux-wistron-amilo8210.patch
173 # netfilter related stuff mostly based on patch-o-matic-ng
174 # snapshot 20070806 with some fixes. Some modules
175 # were ported to nf_conntrack.
177 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
178 Patch11: kernel-pom-ng-ipv4options.patch
180 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
181 Patch22: kernel-pom-ng-rsh.patch
182 Patch23: kernel-pom-ng-rpc.patch
184 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
185 Patch36: kernel-nf_rtsp.patch
187 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
188 Patch37: kernel-owner-xid.patch
190 # based on kernel-2.6.25-layer7-2.20.patch from
191 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
192 Patch40: kernel-layer7.patch
196 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
197 Patch49: kernel-zph.patch
199 # based on http://www.linuximq.net/patchs/linux-2.6.35-imq-multiqueue-test1.diff
200 Patch50: kernel-imq.patch
202 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
203 Patch51: kernel-reiser4.patch
205 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
206 Patch52: kernel-wrr.patch
208 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
209 Patch53: kernel-esfq.patch
211 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
212 Patch54: kernel-toshiba_acpi.patch
214 # by Baggins request:
215 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
216 Patch55: kernel-atm-vbr.patch
217 Patch56: kernel-atmdd.patch
219 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
220 Patch59: kernel-rndis_host-wm5.patch
222 # Project suspend2 renamed to tuxonice
223 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
224 # NOTE: currently using own diff from tuxonice git tree until official patch is released
225 Patch69: kernel-tuxonice.patch
226 Patch70: kernel-tuxonice-headers.patch
228 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
229 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
230 Patch85: kernel-hostap.patch
232 # http://vserver.13thfloor.at/Experimental/patch-2.6.38.1-vs2.3.0.37-rc9.diff
233 Patch100: kernel-vserver-2.3.patch
234 Patch101: kernel-vserver-fixes.patch
236 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
237 # Fix verified for that kernel version.
238 Patch130: kernel-forcedeth-WON.patch
240 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.38-rc7.diff.gz
241 Patch140: kernel-unionfs.patch
243 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
245 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
246 # cd aufs2-standalone
247 # git checkout -b aufs2.1 origin/aufs2.1
248 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
250 # cp -a Documentation fs include linux
251 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
253 Patch145: kernel-aufs2.patch
254 Patch146: kernel-aufs2-unionfs.patch
255 Patch147: kernel-aufs2-no-const-grsec.patch
256 Patch148: kernel-aufs2-reiser4.patch
258 # Show normal colors in menuconfig with ncurses ABI 6
259 Patch250: kernel-fix_256colors_menuconfig.patch
261 # The following patch extend the routing functionality in Linux
262 # to support static routes (defined by user), new way to use the
263 # alternative routes, the reverse path protection (rp_filter),
264 # the NAT processing to use correctly the routing when multiple
266 # http://www.ssi.bg/~ja/routes-2.6.38-16.diff
267 Patch300: kernel-routes.patch
269 # https://patchwork.kernel.org/patch/236261/
270 Patch400: kernel-virtio-gl-accel.patch
272 Patch2000: kernel-small_fixes.patch
273 Patch2001: kernel-pwc-uncompress.patch
274 Patch2003: kernel-regressions.patch
276 # kill some thousands of warnings
277 # (only warnings, so just remove parts of this patch if conflics)
278 Patch2500: kernel-warnings.patch
280 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
281 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
282 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
283 Patch5000: kernel-apparmor.patch
286 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
287 Patch7000: kernel-inittmpfs.patch
289 # based on http://www.grsecurity.net/~spender/grsecurity-2.2.2-2.6.38.1-201103262052.patch
290 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
291 # (since upstream deletes older patches)
292 Patch9999: kernel-grsec_full.patch
293 Patch10000: kernel-grsec-caps.patch
294 Patch10001: kernel-grsec-common.patch
295 Patch10002: kernel-grsec_fixes.patch
297 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
298 # kernel.spec every time.
299 #Patch50000: kernel-usb_reset.patch
301 URL: http://www.kernel.org/
302 BuildRequires: binutils >= 3:2.18
303 %ifarch sparc sparc64
304 BuildRequires: elftoaout
307 BuildRequires: uboot-mkimage
309 BuildRequires: /sbin/depmod
310 BuildRequires: gcc >= 5:3.2
311 BuildRequires: xz >= 1:4.999.7
313 # for hostname command
314 BuildRequires: module-init-tools >= 3.5
315 BuildRequires: net-tools
316 BuildRequires: perl-base
317 BuildRequires: rpm-build >= 4.5-24
318 BuildRequires: rpmbuild(macros) >= 1.217
319 Requires(post): coreutils
320 Requires(post): geninitrd >= 10000-3
321 Requires(post): module-init-tools >= 0.9.9
322 Requires: /sbin/depmod
324 Requires: geninitrd >= 10000-3
325 Requires: module-init-tools >= 0.9.9
327 Provides: %{name}(netfilter) = %{netfilter_snap}
328 Provides: %{name}(vermagic) = %{kernel_release}
329 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
330 Obsoletes: kernel-firmware
331 Obsoletes: kernel-misc-acer_acpi
332 Obsoletes: kernel-misc-fuse
333 Obsoletes: kernel-misc-uvc
334 Obsoletes: kernel-modules
335 Obsoletes: kernel-net-ar81
336 Obsoletes: kernel-net-hostap
337 Obsoletes: kernel-net-ieee80211
338 Obsoletes: kernel-net-ipp2p
339 Obsoletes: kernel-net-rt61
340 Obsoletes: kernel-smp
341 Conflicts: e2fsprogs < 1.29
342 Conflicts: isdn4k-utils < 3.1pre1
343 Conflicts: jfsutils < 1.1.3
344 Conflicts: lvm2 < 2.02.40
345 Conflicts: module-init-tools < 0.9.10
346 Conflicts: nfs-utils < 1.0.5
347 Conflicts: oprofile < 0.9
348 Conflicts: ppp < 1:2.4.0
349 Conflicts: procps < 3.2.0
350 Conflicts: quota-tools < 3.09
351 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
352 Conflicts: reiserfsprogs < 3.6.3
353 Conflicts: rpm < 4.4.2-0.2
354 Conflicts: udev < 1:081
355 Conflicts: util-linux < 2.10o
356 Conflicts: util-vserver < 0.30.216
357 Conflicts: xfsprogs < 2.6.0
359 ExcludeArch: i386 i486 i586
361 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
364 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
366 %ifarch %{ix86} %{x8664}
367 %define target_arch_dir x86
370 %define target_arch_dir powerpc
372 %ifarch sparc sparc64
373 %define target_arch_dir sparc
375 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
376 %define target_arch_dir %{_target_base_arch}
379 %define defconfig arch/%{target_arch_dir}/defconfig
381 # No ELF objects there to strip (skips processing 27k files)
382 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
383 %define _noautochrpath .*%{_kernelsrcdir}/.*
386 %define initrd_dir /boot/efi
388 %define initrd_dir /boot
391 %define topdir %{_builddir}/%{name}-%{version}
392 %define srcdir %{topdir}/linux-%{basever}
393 %define objdir %{topdir}/%{targetobj}
394 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
396 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
398 %if "%{_target_base_arch}" != "%{_arch}"
399 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
400 %define DepMod /bin/true
402 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
403 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
404 %define DepMod /sbin/depmod
407 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
408 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
409 %define DepMod /sbin/depmod
412 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
413 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
414 %define DepMod /sbin/depmod
417 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
418 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
422 %define CrossOpts ARCH=powerpc CC="%{__cc}"
424 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
426 %define DepMod /sbin/depmod
428 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
430 %define __features Netfilter module dated: %{netfilter_snap}\
431 %{?with_grsecurity:Grsecurity support - enabled}\
432 %{?with_pax:PaX support - enabled}\
433 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
434 %{?with_nfsroot:Root on NFS - enabled}\
436 %define Features %(echo "%{__features}" | sed '/^$/d')
439 This package contains the Linux kernel that is used to boot and run
440 your system. It contains few device drivers for specific hardware.
441 Most hardware is instead supported by modules loaded after booting.
445 %description -l de.UTF-8
446 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
447 Linux-Betriebssystems. Der Kernel ist für grundliegende
448 Systemfunktionen verantwortlich: Speicherreservierung,
449 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
453 %description -l fr.UTF-8
454 Le package kernel contient le kernel linux (vmlinuz), la partie
455 centrale d'un système d'exploitation Linux. Le noyau traite les
456 fonctions basiques d'un système d'exploitation: allocation mémoire,
457 allocation de process, entrée/sortie de peripheriques, etc.
461 %description -l pl.UTF-8
462 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
463 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
464 się w komputerze, takiego jak sterowniki dysków itp.
469 Summary: vmlinux - uncompressed kernel image
470 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
471 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
473 Obsoletes: kernel-smp-vmlinux
476 vmlinux - uncompressed kernel image.
478 %description vmlinux -l de.UTF-8
479 vmlinux - dekompressiertes Kernel Bild.
481 %description vmlinux -l pl.UTF-8
482 vmlinux - rozpakowany obraz jÄ…dra.
485 Summary: DRM kernel modules
486 Summary(de.UTF-8): DRM Kernel Treiber
487 Summary(pl.UTF-8): Sterowniki DRM
489 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
490 Requires: %{name} = %{epoch}:%{version}-%{release}
491 Obsoletes: kernel-smp-drm
497 %description drm -l de.UTF-8
500 %description drm -l pl.UTF-8
504 Summary: PCMCIA modules
505 Summary(de.UTF-8): PCMCIA Module
506 Summary(pl.UTF-8): Moduły PCMCIA
508 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
509 Requires: %{name} = %{epoch}:%{version}-%{release}
510 Obsoletes: kernel-smp-pcmcia
511 Conflicts: pcmcia-cs < 3.1.21
512 Conflicts: pcmciautils < 004
518 %description pcmcia -l de.UTF-8
521 %description pcmcia -l pl.UTF-8
525 Summary: ALSA kernel modules
526 Summary(de.UTF-8): ALSA Kernel Module
527 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
529 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
530 Requires: %{name} = %{epoch}:%{version}-%{release}
531 Obsoletes: kernel-smp-sound-alsa
534 %description sound-alsa
535 ALSA (Advanced Linux Sound Architecture) sound drivers.
537 %description sound-alsa -l de.UTF-8
538 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
540 %description sound-alsa -l pl.UTF-8
541 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
544 Summary: OSS kernel modules
545 Summary(de.UTF-8): OSS Kernel Module
546 Summary(pl.UTF-8): Sterowniki dźwięku OSS
548 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
549 Requires: %{name} = %{epoch}:%{version}-%{release}
550 Obsoletes: kernel-smp-sound-oss
553 %description sound-oss
554 OSS (Open Sound System) drivers.
556 %description sound-oss -l de.UTF-8
557 OSS (Open Sound System) Treiber.
559 %description sound-oss -l pl.UTF-8
560 Sterowniki dźwięku OSS (Open Sound System).
563 Summary: Header files for the Linux kernel
564 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
565 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
566 Group: Development/Building
567 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
571 These are the C header files for the Linux kernel, which define
572 structures and constants that are needed when rebuilding the kernel or
573 building kernel modules.
575 %description headers -l de.UTF-8
576 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
577 Strukturen und Konstante beinhalten, die beim rekompilieren des
578 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
580 %description headers -l pl.UTF-8
581 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
582 oraz budowania modułów jądra.
584 %package module-build
585 Summary: Development files for building kernel modules
586 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
587 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
588 Group: Development/Building
589 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
590 Conflicts: rpmbuild(macros) < 1.550
593 %description module-build
594 Development files from kernel source tree needed to build Linux kernel
595 modules from external packages.
597 %description module-build -l de.UTF-8
598 Development Dateien des Linux-Kernels die beim kompilieren externer
599 Kernel Module gebraucht werden.
601 %description module-build -l pl.UTF-8
602 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
603 Linuksa z zewnętrznych pakietów.
606 Summary: Kernel source tree
607 Summary(de.UTF-8): Der Kernel Quelltext
608 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
609 Group: Development/Building
610 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
614 This is the source code for the Linux kernel. You can build a custom
615 kernel that is better tuned to your particular hardware.
617 %description source -l de.UTF-8
618 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
619 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
620 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
621 im Kernel-Source definiert sind. Die Source-Dateien können auch
622 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
623 Hardware ausgerichtet ist.
625 %description source -l fr.UTF-8
626 Le package pour le kernel-source contient le code source pour le noyau
627 linux. Ces sources sont nécessaires pour compiler la plupart des
628 programmes C, car il dépend de constantes définies dans le code
629 source. Les sources peuvent être aussi utilisée pour compiler un noyau
630 personnalisé pour avoir de meilleures performances sur des matériels
633 %description source -l pl.UTF-8
634 Pakiet zawiera kod źródłowy jądra systemu.
637 Summary: Kernel documentation
638 Summary(de.UTF-8): Kernel Dokumentation
639 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
644 This is the documentation for the Linux kernel, as found in
645 /usr/src/linux/Documentation directory.
647 %description doc -l de.UTF-8
648 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
649 Verzeichniss vorgefunden werden kann.
651 %description doc -l pl.UTF-8
652 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
653 /usr/src/linux/Documentation.
657 ln -s %{SOURCE7} kernel-module-build.pl
658 ln -s %{SOURCE10} Makefile
661 # hack against warning in pax/grsec
662 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
664 %if "%{postver}" != "%{nil}"
665 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
674 %if %{with fbcondecor}
683 # kernel-pom-ng-IPV4OPTSSTRIP.patch
686 # kernel-pom-ng-ipv4options.patch
689 # kernel-pom-ng-mms-conntrack-nat.patch
692 # kernel-pom-ng-rsh.patch
695 # kernel-pom-ng-rpc.patch
698 # kernel-nf_rtsp.patch
701 # kernel-owner-xid.patch
706 # kernel-layer7.patch
739 # kernel-rndis_host-wm5.patch
742 # hostap enhancements from/for aircrack-ng
770 # grsecurity & pax stuff
773 %if %{with grsecurity}
775 # aufs2 needs to modify those pointers
777 %{?with_vserver:%patch10000 -p1}
778 %{?with_vserver:%patch10001 -p1}
779 %{?with_vserver:%patch10002 -p1}
782 # end of grsecurity & pax stuff
800 # Do not remove this, please!
803 # Fix EXTRAVERSION in main Makefile
804 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
806 # cleanup backups after patching
807 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
811 cat > %{targetobj}.mk <<'EOF'
812 # generated by %{name}.spec
813 KERNELSRC := %{srcdir}
814 KERNELOUTPUT := %{objdir}
816 SRCARCH := %{target_arch_dir}
817 ARCH := %{_target_base_arch}
818 Q := %{!?with_verbose:@}
819 MAKE_OPTS := %{MakeOpts}
820 DEFCONFIG := %{defconfig}
827 CONFIG_PAX_SEGMEXEC=y
828 # performance impact on CPUs without NX bit
829 CONFIG_PAX_PAGEEXEC=n
832 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
838 CONFIG_PAX_NOELFRELOCS=n
841 CONFIG_PAX_EMUTRAMP=y
842 CONFIG_PAX_EMUSIGRT=y
846 %ifarch sparc sparc64 alpha
850 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
851 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
852 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
853 # PAX_HOOK_ACL_FLAGS.
855 %if %{with grsecurity}
856 # Hardening grsec options if with pax
857 CONFIG_GRKERNSEC_PROC_MEMMAP=y
858 # almost rational (see HIDESYM help)
859 CONFIG_GRKERNSEC_HIDESYM=y
861 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
863 CONFIG_PAX_HAVE_ACL_FLAGS=n
864 CONFIG_PAX_HOOK_ACL_FLAGS=y
874 # CONFIG_SOUND is not set
875 # CONFIG_AUDIT is not set
876 # CONFIG_TR is not set
877 # CONFIG_BT is not set
878 # CONFIG_VIDEO_DEV is not set
879 # CONFIG_DVB_CORE is not set
880 # CONFIG_HAMRADIO is not set
881 # CONFIG_ARCNET is not set
882 # CONFIG_FB is not set
883 # CONFIG_DRM is not set
884 # CONFIG_WATCHDOG is not set
885 # CONFIG_INPUT_JOYSTICK is not set
886 # CONFIG_DEBUG_KERNEL is not set
887 # CONFIG_ISDN is not set
888 # CONFIG_AGP is not set
889 # CONFIG_SECURITY is not set
890 # CONFIG_PARIDE is not set
891 # CONFIG_CPU_FREQ is not set
892 # CONFIG_GAMEPORT is not set
893 # CONFIG_KVM is not set
894 # CONFIG_PHONE is not set
895 # CONFIG_STRICT_DEVMEM is not set
896 # CONFIG_IMA is not set
899 CONFIG_AUFS_BR_RAMFS=y
901 CONFIG_BLK_DEV_LOOP=y
914 Config="kernel-%{target_arch_dir}.config"
915 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
917 # prepare local and important options
918 cat <<-EOCONFIG > important.config
919 LOCALVERSION="-%{localversion}"
923 CONFIG_DEBUG_SLAB_LEAK=y
924 CONFIG_DEBUG_PREEMPT=y
925 CONFIG_RT_DEADLOCK_DETECT=y
932 %ifarch i686 athlon pentium3 pentium4
941 %if %{without pcmcia}
945 %if %{with fbcondecor}
949 CONFIG_FB_TILEBLITTING=n
950 CONFIG_FB_CON_DECOR=y
958 # Temporary disabled RELOCATABLE. Needed only on x86??
959 %if %{with pax} || %{with grsecurity}
965 RescueConfig rescue.config
971 # prepare kernel-style config file from multiple config files
972 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
974 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
988 %if %{with grsecurity}
1006 %if %{with tuxonice}
1007 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1011 %{SOURCE40} %{?0:netfilter} \
1012 %{SOURCE41} %{?0:patches} \
1014 $RPM_SOURCE_DIR/$Config
1018 install -d arch/%{target_arch_dir}
1019 BuildConfig > %{defconfig}
1020 ln -sf %{defconfig} .config
1024 TARGETOBJ=%{targetobj} \
1025 %{?with_verbose:V=1} \
1028 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1032 TARGETOBJ=%{targetobj} \
1033 %{?with_verbose:V=1} \
1037 rm -rf $RPM_BUILD_ROOT
1038 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1040 %{?with_verbose:V=1} \
1042 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1043 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1044 KERNELRELEASE=%{kernel_release}
1046 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1048 # create directories which may be missing, to simplyfy %files
1049 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1051 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1052 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1053 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1055 # no point embed content for %ghost files. empty them
1060 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1062 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1063 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1067 install -d $RPM_BUILD_ROOT/boot
1068 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1069 %ifarch %{ix86} %{x8664}
1070 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1071 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1074 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1075 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1078 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1079 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1080 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1082 %ifarch alpha sparc sparc64
1083 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1084 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1085 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1087 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1088 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1091 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1092 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1096 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1100 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1102 %if "%{_target_base_arch}" != "%{_arch}"
1103 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1107 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1110 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1111 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1112 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1114 rm -f $RPM_BUILD_ROOT/COPYING
1117 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1118 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1119 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1120 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1121 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1122 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1123 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1124 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1126 # collect module-build files and directories
1127 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1129 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1130 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1133 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1134 install -d $RPM_BUILD_ROOT%{_docdir}
1135 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1137 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1138 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1139 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1140 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1143 rm -rf $RPM_BUILD_ROOT
1146 if [ -x /sbin/new-kernel-pkg ]; then
1147 /sbin/new-kernel-pkg --remove %{kernel_release}
1152 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1153 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1154 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1155 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1157 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1158 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1159 mv -f /boot/System.map{,.old} 2> /dev/null
1160 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1161 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1162 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1163 ln -sf System.map-%{kernel_release} /boot/System.map
1164 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1166 %depmod %{kernel_release}
1169 # generate initrd after all dependant modules are installed
1170 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1171 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1172 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1173 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1174 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1176 # update boot loaders when old package files are gone from filesystem
1177 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1178 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1179 /sbin/update-grub >/dev/null
1182 if [ -x /sbin/new-kernel-pkg ]; then
1183 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1185 if [ -x /sbin/rc-boot ]; then
1186 /sbin/rc-boot 1>&2 || :
1190 mv -f /boot/vmlinux{,.old} 2> /dev/null
1191 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1192 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1193 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1196 %depmod %{kernel_release}
1199 %depmod %{kernel_release}
1202 %depmod %{kernel_release}
1205 %depmod %{kernel_release}
1208 %depmod %{kernel_release}
1211 %depmod %{kernel_release}
1214 %depmod %{kernel_release}
1217 %depmod %{kernel_release}
1220 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1223 if [ "$1" = "0" ]; then
1224 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1225 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1226 rm -f %{_prefix}/src/linux%{_alt_kernel}
1231 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1232 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1233 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1235 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1236 if [ "$1" = 0 ]; then
1237 rm -f /lib/modules/%{kernel_release}/{build,source}
1241 %defattr(644,root,root,755)
1242 %ifarch sparc sparc64
1243 /boot/vmlinux.aout-%{kernel_release}
1246 /boot/efi/vmlinuz-%{kernel_release}
1248 /boot/vmlinuz-%{kernel_release}
1249 /boot/System.map-%{kernel_release}
1250 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1251 /lib/firmware/%{kernel_release}
1253 %dir /lib/modules/%{kernel_release}
1254 %dir /lib/modules/%{kernel_release}/kernel
1255 /lib/modules/%{kernel_release}/kernel/arch
1256 /lib/modules/%{kernel_release}/kernel/crypto
1257 /lib/modules/%{kernel_release}/kernel/drivers
1259 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1261 /lib/modules/%{kernel_release}/kernel/fs
1262 /lib/modules/%{kernel_release}/kernel/kernel
1263 /lib/modules/%{kernel_release}/kernel/lib
1264 /lib/modules/%{kernel_release}/kernel/net
1265 /lib/modules/%{kernel_release}/kernel/mm
1267 %dir /lib/modules/%{kernel_release}/kernel/sound
1268 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1269 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1271 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1272 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1273 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1276 %dir /lib/modules/%{kernel_release}/misc
1278 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1279 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1281 %if %{without rescuecd}
1282 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1283 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1284 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1285 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1286 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1290 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1299 /lib/modules/%{kernel_release}/kernel/sound
1301 /lib/modules/%{kernel_release}/kernel/security
1303 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1306 /lib/modules/%{kernel_release}/modules.order
1307 /lib/modules/%{kernel_release}/modules.builtin
1309 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1310 %ghost /lib/modules/%{kernel_release}/modules.alias
1311 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1312 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1313 %ghost /lib/modules/%{kernel_release}/modules.dep
1314 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1315 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1316 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1317 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1318 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1319 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1320 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1321 %ghost /lib/modules/%{kernel_release}/modules.symbols
1322 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1323 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1325 # symlinks pointing to kernelsrcdir
1326 %ghost /lib/modules/%{kernel_release}/build
1327 %ghost /lib/modules/%{kernel_release}/source
1329 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1331 %defattr(644,root,root,755)
1332 /boot/vmlinux-%{kernel_release}
1337 %defattr(644,root,root,755)
1338 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1343 %defattr(644,root,root,755)
1344 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1345 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1346 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1347 %if %{without rescuecd}
1348 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1349 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1350 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1351 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1353 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1354 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1355 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1356 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1357 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1360 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1361 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1366 %defattr(644,root,root,755)
1367 /lib/modules/%{kernel_release}/kernel/sound
1368 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1369 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1370 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1372 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1375 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1376 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1377 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1378 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1383 %defattr(644,root,root,755)
1384 /lib/modules/%{kernel_release}/kernel/sound/oss
1388 %files headers -f files.headers_exclude_kbuild
1389 %defattr(644,root,root,755)
1390 %dir %{_kernelsrcdir}
1391 %{_kernelsrcdir}/include
1392 %dir %{_kernelsrcdir}/arch
1393 %dir %{_kernelsrcdir}/arch/[!K]*
1394 %{_kernelsrcdir}/arch/*/include
1395 %dir %{_kernelsrcdir}/security
1396 %dir %{_kernelsrcdir}/security/selinux
1397 %{_kernelsrcdir}/security/selinux/include
1398 %{_kernelsrcdir}/config-dist
1399 %{_kernelsrcdir}/Module.symvers-dist
1401 %files module-build -f files.mb_include_modulebuild_and_dirs
1402 %defattr(644,root,root,755)
1404 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1406 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1407 %exclude %dir %{_kernelsrcdir}/arch/um
1408 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1409 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1410 %{_kernelsrcdir}/drivers/lguest/lg.h
1411 %{_kernelsrcdir}/kernel/bounds.c
1412 %dir %{_kernelsrcdir}/scripts
1413 %{_kernelsrcdir}/scripts/Kbuild.include
1414 %{_kernelsrcdir}/scripts/Makefile*
1415 %{_kernelsrcdir}/scripts/basic
1416 %{_kernelsrcdir}/scripts/kconfig
1417 %{_kernelsrcdir}/scripts/mkcompile_h
1418 %{_kernelsrcdir}/scripts/mkmakefile
1419 %{_kernelsrcdir}/scripts/mod
1420 %{_kernelsrcdir}/scripts/module-common.lds
1421 %{_kernelsrcdir}/scripts/setlocalversion
1422 %{_kernelsrcdir}/scripts/*.c
1423 %{_kernelsrcdir}/scripts/*.sh
1424 %dir %{_kernelsrcdir}/scripts/selinux
1425 %{_kernelsrcdir}/scripts/selinux/Makefile
1426 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1427 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1428 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1429 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1430 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1431 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1432 %exclude %dir %{_kernelsrcdir}/security
1433 %exclude %dir %{_kernelsrcdir}/security/selinux
1437 %defattr(644,root,root,755)
1438 %dir %{_docdir}/%{name}-%{version}
1440 %{_docdir}/%{name}-%{version}/[!jkz]*
1441 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1442 %{_docdir}/%{name}-%{version}/kbuild
1443 %{_docdir}/%{name}-%{version}/kdump
1444 %{_docdir}/%{name}-%{version}/kvm
1445 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1446 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1447 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1451 %files source -f files.source_exclude_modulebuild_and_dirs
1452 %defattr(644,root,root,755)
1453 %{_kernelsrcdir}/arch/*/[!Mik]*
1454 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1455 %{_kernelsrcdir}/arch/ia64/install.sh
1456 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1457 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1458 %{_kernelsrcdir}/arch/m68k/install.sh
1459 %{_kernelsrcdir}/arch/parisc/install.sh
1460 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1461 %{_kernelsrcdir}/arch/ia64/kvm
1462 %{_kernelsrcdir}/arch/powerpc/kvm
1464 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1466 %{_kernelsrcdir}/arch/s390/kvm
1467 %{_kernelsrcdir}/arch/x86/kvm
1468 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1469 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1470 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1471 %{_kernelsrcdir}/block
1472 %{_kernelsrcdir}/crypto
1473 %{_kernelsrcdir}/drivers
1474 %{_kernelsrcdir}/firmware
1476 %if %{with grsecurity} && %{without rescuecd}
1477 %{_kernelsrcdir}/grsecurity
1479 %{_kernelsrcdir}/init
1480 %{_kernelsrcdir}/ipc
1481 %{_kernelsrcdir}/kernel
1482 %exclude %{_kernelsrcdir}/kernel/bounds.c
1483 %{_kernelsrcdir}/lib
1485 %{_kernelsrcdir}/net
1486 %{_kernelsrcdir}/virt
1487 %{_kernelsrcdir}/samples
1488 %{_kernelsrcdir}/scripts/*
1489 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1490 %exclude %{_kernelsrcdir}/scripts/Makefile*
1491 %exclude %{_kernelsrcdir}/scripts/basic
1492 %exclude %{_kernelsrcdir}/scripts/kconfig
1493 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1494 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1495 %exclude %{_kernelsrcdir}/scripts/mod
1496 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1497 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1498 %exclude %{_kernelsrcdir}/scripts/*.c
1499 %exclude %{_kernelsrcdir}/scripts/*.sh
1500 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1501 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1502 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1503 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1504 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1505 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1506 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1507 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1508 %{_kernelsrcdir}/sound
1509 %{_kernelsrcdir}/security
1510 %exclude %{_kernelsrcdir}/security/selinux/include
1511 %{_kernelsrcdir}/tools
1512 %{_kernelsrcdir}/usr
1513 %{_kernelsrcdir}/COPYING
1514 %{_kernelsrcdir}/CREDITS
1515 %{_kernelsrcdir}/MAINTAINERS
1516 %{_kernelsrcdir}/README
1517 %{_kernelsrcdir}/REPORTING-BUGS