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
12 # - IPv4 source address selection for multihomed vservers is completely broken
13 # meaning routing table is ignored except for default
15 # HOWTO update configuration files:
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
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
27 %bcond_with verbose # verbose build (V=1)
28 %bcond_with reiser4 # support for reiser4 fs (experimental)
30 %bcond_without grsecurity # don't build grsecurity nor pax at all
31 %bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
33 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
34 %bcond_without pae # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
35 %bcond_with nfsroot # build with root on NFS support
37 %bcond_without imq # imq support
38 %bcond_without wrr # wrr support
39 %bcond_without esfq # esfq support
40 %bcond_without ipv6 # ipv6 support
42 %bcond_without vserver # support for VServer (enabled by default)
44 %bcond_with vanilla # don't include any patches
45 %bcond_with rescuecd # build kernel for our rescue
46 %bcond_with myown # build with your own config (kernel-myown.config)
48 %{?debug:%define with_verbose 1}
51 %unglobal with_grsecurity
54 %if %{without grsecurity}
59 %define with_grsecurity 1
69 %unglobal with_grsecurity
71 %unglobal with_vserver
97 %define module_init_tools_ver 3.16
99 # __alt_kernel is list of features, empty string if none set
100 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
101 # alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
102 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}
104 %if "%{__alt_kernel}" != ""
105 %define alt_kernel %{__alt_kernel}
108 # these override whatever name was picked from bconds
109 %if %{with myown} && "%{_alt_kernel}" == ""
110 %define alt_kernel myown
113 %define alt_kernel rescuecd
116 %define alt_kernel vanilla
119 # kernel release (used in filesystem and eventually in uname -r)
120 # modules will be looked from /lib/modules/%{kernel_release}
121 # localversion is just that without version for "> localversion"
122 %define localversion %{rel}
123 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
125 Summary: The Linux kernel (the core of the Linux operating system)
126 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
127 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
128 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
129 Summary(pl.UTF-8): JÄ…dro Linuksa
130 Name: kernel%{_alt_kernel}
131 Version: %{basever}%{postver}
136 Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
137 # Source0-md5: edbdc798f23ae0f8045c82f6fa22c536
138 %if "%{postver}" != ".0"
139 Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
140 # Patch0-md5: b815dda0a05f7774a0ed0b705b8cfd4c
143 Source3: kernel-autoconf.h
144 Source4: kernel-config.h
145 Source6: kernel-config.awk
146 Source7: kernel-module-build.pl
147 Source8: kernel-track-config-change.awk
148 # not used by kernel.spec, but it's good to have it in SOURCES
149 Source9: kernel-config-sort.pl
150 Source10: kernel.make
152 Source20: kernel-multiarch.config
153 Source21: kernel-x86.config
154 Source22: kernel-sparc.config
155 Source23: kernel-alpha.config
156 Source24: kernel-powerpc.config
157 Source25: kernel-ia64.config
159 Source41: kernel-patches.config
160 Source43: kernel-vserver.config
161 Source45: kernel-grsec.config
163 Source49: kernel-pax.config
164 Source50: kernel-no-pax.config
165 Source55: kernel-imq.config
166 Source56: kernel-reiser4.config
167 Source57: kernel-wrr.config
169 Source58: kernel-inittmpfs.config
171 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
172 Patch3: kernel-fbcondecor.patch
173 Patch4: kernel-fbcon-margins.patch
174 Patch5: linux-wistron-amilo8210.patch
176 # netfilter related stuff mostly based on patch-o-matic-ng
177 # snapshot 20070806 with some fixes. Some modules
178 # were ported to nf_conntrack.
180 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
182 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
183 Patch22: kernel-pom-ng-rsh.patch
184 Patch23: kernel-pom-ng-rpc.patch
186 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
187 Patch36: kernel-nf_rtsp.patch
189 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
190 Patch37: kernel-owner-xid.patch
192 # based on kernel-2.6.25-layer7-2.20.patch from
193 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
194 Patch40: kernel-layer7.patch
198 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
199 Patch49: kernel-zph.patch
201 # based on http://www.linuximq.net/patchs/patch-imqmq-3.0.diff.bz2
202 Patch50: kernel-imq.patch
204 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
205 Patch51: kernel-reiser4.patch
207 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
208 Patch52: kernel-wrr.patch
210 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
211 Patch53: kernel-esfq.patch
213 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
214 Patch54: kernel-toshiba_acpi.patch
216 # by Baggins request:
217 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
218 Patch55: kernel-atm-vbr.patch
219 Patch56: kernel-atmdd.patch
221 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
222 Patch59: kernel-rndis_host-wm5.patch
224 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
225 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
226 Patch85: kernel-hostap.patch
228 # http://vserver.13thfloor.at/Experimental/patch-3.1.1-vs2.3.2.diff
229 Patch100: kernel-vserver-2.3.patch
230 Patch101: kernel-vserver-fixes.patch
232 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.10_for_3.1.0-rc4.diff.gz
233 Patch140: kernel-unionfs.patch
235 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
237 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
238 # cd aufs3-standalone
239 # git checkout -b aufs3.0 origin/aufs3.0
240 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
242 # cp -a Documentation fs include linux
243 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
245 Patch145: kernel-aufs3.patch
246 Patch146: kernel-aufs2-unionfs.patch
247 Patch147: kernel-aufs2-no-const-grsec.patch
248 Patch148: kernel-aufs2-reiser4.patch
250 # Show normal colors in menuconfig with ncurses ABI 6
251 Patch250: kernel-fix_256colors_menuconfig.patch
253 # https://patchwork.kernel.org/patch/236261/
254 Patch400: kernel-virtio-gl-accel.patch
256 Patch2000: kernel-small_fixes.patch
257 Patch2001: kernel-pwc-uncompress.patch
258 Patch2003: kernel-regressions.patch
260 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
261 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
262 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
263 Patch5000: kernel-apparmor.patch
266 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
267 Patch7000: kernel-inittmpfs.patch
269 # based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.1.1-201111181902.patch
270 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
271 # (since upstream deletes older patches)
272 # NOTE: mirror of old grsecurity patches:
273 # https://github.com/slashbeast/grsecurity-scrape/tree/master/test
274 Patch9999: kernel-grsec_full.patch
275 Patch10000: kernel-grsec-caps.patch
276 Patch10001: kernel-grsec-common.patch
277 Patch10002: kernel-grsec_fixes.patch
279 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
280 # kernel.spec every time.
281 #Patch50000: kernel-usb_reset.patch
283 URL: http://www.kernel.org/
284 BuildRequires: binutils >= 3:2.18
285 %ifarch sparc sparc64
286 BuildRequires: elftoaout
289 BuildRequires: uboot-mkimage
291 BuildRequires: /sbin/depmod
292 BuildRequires: gcc >= 5:3.2
293 BuildRequires: xz >= 1:4.999.7
295 BuildRequires: hostname
296 BuildRequires: module-init-tools >= %{module_init_tools_ver}
297 BuildRequires: perl-base
298 BuildRequires: rpm-build >= 4.5-24
299 BuildRequires: rpmbuild(macros) >= 1.217
300 Requires(post): coreutils
301 Requires(post): geninitrd >= 10000-3
302 Requires(post): module-init-tools >= %{module_init_tools_ver}
303 Requires: /sbin/depmod
305 Requires: geninitrd >= 10000-3
306 Requires: module-init-tools >= %{module_init_tools_ver}
308 %ifarch i686 athlon pentium3 pentium4
309 Requires: cpuinfo(pae)
313 Provides: %{name}(netfilter) = 20070806
314 Provides: %{name}(vermagic) = %{kernel_release}
315 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
316 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
317 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
318 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
319 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
320 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
321 Obsoletes: kernel-firmware
322 Obsoletes: kernel-misc-acer_acpi
323 Obsoletes: kernel-misc-fuse
324 Obsoletes: kernel-misc-uvc
325 Obsoletes: kernel-modules
326 Obsoletes: kernel-net-ar81
327 Obsoletes: kernel-net-hostap
328 Obsoletes: kernel-net-ieee80211
329 Obsoletes: kernel-net-ipp2p
330 Obsoletes: kernel-net-rt61
331 Obsoletes: kernel-smp
332 Conflicts: e2fsprogs < 1.29
333 Conflicts: isdn4k-utils < 3.1pre1
334 Conflicts: jfsutils < 1.1.3
335 Conflicts: lvm2 < 2.02.40
336 Conflicts: nfs-utils < 1.0.5
337 Conflicts: oprofile < 0.9
338 Conflicts: ppp < 1:2.4.0
339 Conflicts: procps < 3.2.0
340 Conflicts: quota-tools < 3.09
341 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
342 Conflicts: reiserfsprogs < 3.6.3
343 Conflicts: rpm < 4.4.2-0.2
344 Conflicts: udev < 1:081
345 Conflicts: util-linux < 2.10o
346 Conflicts: util-vserver < 0.30.216
347 Conflicts: xfsprogs < 2.6.0
348 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
350 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
352 %ifarch %{ix86} %{x8664}
353 %define target_arch_dir x86
356 %define target_arch_dir powerpc
358 %ifarch sparc sparc64
359 %define target_arch_dir sparc
361 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
362 %define target_arch_dir %{_target_base_arch}
365 %define defconfig arch/%{target_arch_dir}/defconfig
367 # No ELF objects there to strip (skips processing 27k files)
368 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
369 %define _noautochrpath .*%{_kernelsrcdir}/.*
370 %define _enable_debug_packages 0
373 %define initrd_dir /boot/efi
375 %define initrd_dir /boot
378 %define topdir %{_builddir}/%{name}-%{version}
379 %define srcdir %{topdir}/linux-%{basever}
380 %define objdir %{topdir}/%{targetobj}
381 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
383 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
385 %if "%{_target_base_arch}" != "%{_arch}"
386 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
387 %define DepMod /bin/true
389 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
390 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
391 %define DepMod /sbin/depmod
394 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
395 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
396 %define DepMod /sbin/depmod
399 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
400 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
401 %define DepMod /sbin/depmod
404 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
405 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
409 %define CrossOpts ARCH=powerpc CC="%{__cc}"
411 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
413 %define DepMod /sbin/depmod
415 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
418 %{?with_grsecurity:Grsecurity support - enabled}\
419 %{?with_pax:PaX support - enabled}\
420 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
421 %{?with_nfsroot:Root on NFS - enabled}\
423 %define Features %(echo "%{__features}" | sed '/^$/d')
426 This package contains the Linux kernel that is used to boot and run
427 your system. It contains few device drivers for specific hardware.
428 Most hardware is instead supported by modules loaded after booting.
432 %description -l de.UTF-8
433 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
434 Linux-Betriebssystems. Der Kernel ist für grundliegende
435 Systemfunktionen verantwortlich: Speicherreservierung,
436 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
440 %description -l fr.UTF-8
441 Le package kernel contient le kernel linux (vmlinuz), la partie
442 centrale d'un système d'exploitation Linux. Le noyau traite les
443 fonctions basiques d'un système d'exploitation: allocation mémoire,
444 allocation de process, entrée/sortie de peripheriques, etc.
448 %description -l pl.UTF-8
449 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
450 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
451 się w komputerze, takiego jak sterowniki dysków itp.
456 Summary: vmlinux - uncompressed kernel image
457 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
458 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
460 Obsoletes: kernel-smp-vmlinux
463 vmlinux - uncompressed kernel image.
465 %description vmlinux -l de.UTF-8
466 vmlinux - dekompressiertes Kernel Bild.
468 %description vmlinux -l pl.UTF-8
469 vmlinux - rozpakowany obraz jÄ…dra.
472 Summary: DRM kernel modules
473 Summary(de.UTF-8): DRM Kernel Treiber
474 Summary(pl.UTF-8): Sterowniki DRM
476 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
477 Requires: %{name} = %{epoch}:%{version}-%{release}
478 Obsoletes: kernel-smp-drm
484 %description drm -l de.UTF-8
487 %description drm -l pl.UTF-8
491 Summary: PCMCIA modules
492 Summary(de.UTF-8): PCMCIA Module
493 Summary(pl.UTF-8): Moduły PCMCIA
495 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
496 Requires: %{name} = %{epoch}:%{version}-%{release}
497 Obsoletes: kernel-smp-pcmcia
498 Conflicts: pcmcia-cs < 3.1.21
499 Conflicts: pcmciautils < 004
505 %description pcmcia -l de.UTF-8
508 %description pcmcia -l pl.UTF-8
512 Summary: ALSA kernel modules
513 Summary(de.UTF-8): ALSA Kernel Module
514 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
516 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
517 Requires: %{name} = %{epoch}:%{version}-%{release}
518 Obsoletes: kernel-smp-sound-alsa
521 %description sound-alsa
522 ALSA (Advanced Linux Sound Architecture) sound drivers.
524 %description sound-alsa -l de.UTF-8
525 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
527 %description sound-alsa -l pl.UTF-8
528 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
531 Summary: OSS kernel modules
532 Summary(de.UTF-8): OSS Kernel Module
533 Summary(pl.UTF-8): Sterowniki dźwięku OSS
535 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
536 Requires: %{name} = %{epoch}:%{version}-%{release}
537 Obsoletes: kernel-smp-sound-oss
540 %description sound-oss
541 OSS (Open Sound System) drivers.
543 %description sound-oss -l de.UTF-8
544 OSS (Open Sound System) Treiber.
546 %description sound-oss -l pl.UTF-8
547 Sterowniki dźwięku OSS (Open Sound System).
550 Summary: Header files for the Linux kernel
551 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
552 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
553 Group: Development/Building
554 Provides: %{name}-headers(netfilter) = 20070806
558 These are the C header files for the Linux kernel, which define
559 structures and constants that are needed when rebuilding the kernel or
560 building kernel modules.
562 %description headers -l de.UTF-8
563 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
564 Strukturen und Konstante beinhalten, die beim rekompilieren des
565 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
567 %description headers -l pl.UTF-8
568 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
569 oraz budowania modułów jądra.
571 %package module-build
572 Summary: Development files for building kernel modules
573 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
574 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
575 Group: Development/Building
576 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
577 Conflicts: rpmbuild(macros) < 1.619
580 %description module-build
581 Development files from kernel source tree needed to build Linux kernel
582 modules from external packages.
584 %description module-build -l de.UTF-8
585 Development Dateien des Linux-Kernels die beim kompilieren externer
586 Kernel Module gebraucht werden.
588 %description module-build -l pl.UTF-8
589 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
590 Linuksa z zewnętrznych pakietów.
593 Summary: Kernel source tree
594 Summary(de.UTF-8): Der Kernel Quelltext
595 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
596 Group: Development/Building
597 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
601 This is the source code for the Linux kernel. You can build a custom
602 kernel that is better tuned to your particular hardware.
604 %description source -l de.UTF-8
605 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
606 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
607 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
608 im Kernel-Source definiert sind. Die Source-Dateien können auch
609 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
610 Hardware ausgerichtet ist.
612 %description source -l fr.UTF-8
613 Le package pour le kernel-source contient le code source pour le noyau
614 linux. Ces sources sont nécessaires pour compiler la plupart des
615 programmes C, car il dépend de constantes définies dans le code
616 source. Les sources peuvent être aussi utilisée pour compiler un noyau
617 personnalisé pour avoir de meilleures performances sur des matériels
620 %description source -l pl.UTF-8
621 Pakiet zawiera kod źródłowy jądra systemu.
624 Summary: Kernel documentation
625 Summary(de.UTF-8): Kernel Dokumentation
626 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
631 This is the documentation for the Linux kernel, as found in
632 /usr/src/linux/Documentation directory.
634 %description doc -l de.UTF-8
635 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
636 Verzeichniss vorgefunden werden kann.
638 %description doc -l pl.UTF-8
639 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
640 /usr/src/linux/Documentation.
644 ln -s %{SOURCE7} kernel-module-build.pl
645 ln -s %{SOURCE10} Makefile
648 # hack against warning in pax/grsec
649 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
652 %if "%{postver}" != ".0"
656 %if %{without vanilla}
658 %if %{with fbcondecor}
667 # kernel-pom-ng-IPV4OPTSSTRIP.patch
670 # kernel-pom-ng-mms-conntrack-nat.patch
673 # kernel-pom-ng-rsh.patch
676 # kernel-pom-ng-rpc.patch
679 # kernel-nf_rtsp.patch
682 # kernel-owner-xid.patch
687 # kernel-layer7.patch
720 # kernel-rndis_host-wm5.patch
723 # hostap enhancements from/for aircrack-ng
746 # grsecurity & pax stuff
749 %if %{with grsecurity}
753 %{?with_vserver:%patch10000 -p1}
754 %{?with_vserver:%patch10001 -p1}
755 %{?with_vserver:%patch10002 -p1}
758 # end of grsecurity & pax stuff
775 # Do not remove this, please!
778 # Fix EXTRAVERSION in main Makefile
779 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
781 # cleanup backups after patching
782 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
786 cat > %{targetobj}.mk <<'EOF'
787 # generated by %{name}.spec
788 KERNELSRC := %{srcdir}
789 KERNELOUTPUT := %{objdir}
791 SRCARCH := %{target_arch_dir}
792 ARCH := %{_target_base_arch}
793 Q := %{!?with_verbose:@}
794 MAKE_OPTS := %{MakeOpts}
795 DEFCONFIG := %{defconfig}
802 CONFIG_PAX_SEGMEXEC=y
803 # performance impact on CPUs without NX bit
804 CONFIG_PAX_PAGEEXEC=n
807 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
813 CONFIG_PAX_NOELFRELOCS=n
816 CONFIG_PAX_EMUTRAMP=y
817 CONFIG_PAX_EMUSIGRT=y
821 %ifarch sparc sparc64 alpha
825 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
826 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
827 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
828 # PAX_HOOK_ACL_FLAGS.
830 %if %{with grsecurity}
831 # Hardening grsec options if with pax
832 CONFIG_GRKERNSEC_PROC_MEMMAP=y
833 # almost rational (see HIDESYM help)
834 CONFIG_GRKERNSEC_HIDESYM=y
836 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
838 CONFIG_PAX_HAVE_ACL_FLAGS=n
839 CONFIG_PAX_HOOK_ACL_FLAGS=y
849 # CONFIG_SOUND is not set
850 # CONFIG_AUDIT is not set
851 # CONFIG_TR is not set
852 # CONFIG_BT is not set
853 # CONFIG_VIDEO_DEV is not set
854 # CONFIG_DVB_CORE is not set
855 # CONFIG_HAMRADIO is not set
856 # CONFIG_ARCNET is not set
857 # CONFIG_FB is not set
858 # CONFIG_DRM is not set
859 # CONFIG_WATCHDOG is not set
860 # CONFIG_INPUT_JOYSTICK is not set
861 # CONFIG_DEBUG_KERNEL is not set
862 # CONFIG_ISDN is not set
863 # CONFIG_AGP is not set
864 # CONFIG_SECURITY is not set
865 # CONFIG_PARIDE is not set
866 # CONFIG_CPU_FREQ is not set
867 # CONFIG_GAMEPORT is not set
868 # CONFIG_KVM is not set
869 # CONFIG_PHONE is not set
870 # CONFIG_STRICT_DEVMEM is not set
871 # CONFIG_IMA is not set
874 CONFIG_AUFS_BR_RAMFS=y
876 CONFIG_BLK_DEV_LOOP=y
889 Config="kernel-%{target_arch_dir}.config"
890 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
892 # prepare local and important options
893 cat <<-EOCONFIG > important.config
894 LOCALVERSION="-%{localversion}"
898 CONFIG_DEBUG_SLAB_LEAK=y
899 CONFIG_DEBUG_PREEMPT=y
900 CONFIG_RT_DEADLOCK_DETECT=y
907 %ifarch i686 athlon pentium3 pentium4
916 %if %{without pcmcia}
920 %if %{with fbcondecor}
924 CONFIG_FB_TILEBLITTING=n
925 CONFIG_FB_CON_DECOR=y
933 # Temporary disabled RELOCATABLE. Needed only on x86??
934 %if %{with pax} || %{with grsecurity}
940 RescueConfig rescue.config
946 # prepare kernel-style config file from multiple config files
947 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
949 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
952 %if %{without vanilla}
963 %if %{with grsecurity}
981 %{SOURCE41} %{?0:patches} \
984 $RPM_SOURCE_DIR/$Config
988 install -d arch/%{target_arch_dir}
989 BuildConfig > %{defconfig}
990 ln -sf %{defconfig} .config
994 TARGETOBJ=%{targetobj} \
995 %{?with_verbose:V=1} \
998 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1002 TARGETOBJ=%{targetobj} \
1003 %{?with_verbose:V=1} \
1007 rm -rf $RPM_BUILD_ROOT
1008 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1010 %{?with_verbose:V=1} \
1012 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1013 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1014 KERNELRELEASE=%{kernel_release}
1016 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1018 # create directories which may be missing, to simplyfy %files
1019 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1021 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1022 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1023 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1025 # no point embed content for %ghost files. empty them
1032 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1034 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1035 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1039 install -d $RPM_BUILD_ROOT/boot
1040 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1041 %ifarch %{ix86} %{x8664}
1042 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1043 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1046 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1047 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1050 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1051 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1052 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1054 %ifarch alpha sparc sparc64
1055 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1056 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1057 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1059 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1060 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1063 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1064 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1068 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1072 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1074 %if "%{_target_base_arch}" != "%{_arch}"
1075 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1079 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1082 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1084 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1085 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1087 rm -f $RPM_BUILD_ROOT/COPYING
1090 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1091 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1092 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1093 cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
1094 mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
1095 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1096 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1097 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1099 # collect module-build files and directories
1100 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1102 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1103 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1106 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1107 install -d $RPM_BUILD_ROOT%{_docdir}
1108 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1110 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1111 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1112 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1113 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1116 rm -rf $RPM_BUILD_ROOT
1119 if [ -x /sbin/new-kernel-pkg ]; then
1120 /sbin/new-kernel-pkg --remove %{kernel_release}
1125 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1126 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1127 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1128 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1130 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1131 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1132 mv -f /boot/System.map{,.old} 2> /dev/null
1133 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1134 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1135 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1136 ln -sf System.map-%{kernel_release} /boot/System.map
1137 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1139 %depmod %{kernel_release}
1142 # generate initrd after all dependant modules are installed
1143 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1144 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1145 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1146 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1147 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1149 # update boot loaders when old package files are gone from filesystem
1150 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1151 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1152 /sbin/update-grub >/dev/null
1155 if [ -x /sbin/new-kernel-pkg ]; then
1156 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1158 if [ -x /sbin/rc-boot ]; then
1159 /sbin/rc-boot 1>&2 || :
1163 mv -f /boot/vmlinux{,.old} 2> /dev/null
1164 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1165 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1166 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1169 %depmod %{kernel_release}
1172 %depmod %{kernel_release}
1175 %depmod %{kernel_release}
1178 %depmod %{kernel_release}
1181 %depmod %{kernel_release}
1184 %depmod %{kernel_release}
1187 %depmod %{kernel_release}
1190 %depmod %{kernel_release}
1193 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1196 if [ "$1" = "0" ]; then
1197 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1198 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1199 rm -f %{_prefix}/src/linux%{_alt_kernel}
1204 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1205 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1206 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1208 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1209 if [ "$1" = 0 ]; then
1210 rm -f /lib/modules/%{kernel_release}/{build,source}
1214 %defattr(644,root,root,755)
1215 %ifarch sparc sparc64
1216 /boot/vmlinux.aout-%{kernel_release}
1219 /boot/efi/vmlinuz-%{kernel_release}
1221 /boot/vmlinuz-%{kernel_release}
1222 /boot/System.map-%{kernel_release}
1223 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1224 /lib/firmware/%{kernel_release}
1226 %dir /lib/modules/%{kernel_release}
1227 %dir /lib/modules/%{kernel_release}/kernel
1228 /lib/modules/%{kernel_release}/kernel/arch
1229 /lib/modules/%{kernel_release}/kernel/crypto
1230 /lib/modules/%{kernel_release}/kernel/drivers
1232 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1234 /lib/modules/%{kernel_release}/kernel/fs
1235 /lib/modules/%{kernel_release}/kernel/kernel
1236 /lib/modules/%{kernel_release}/kernel/lib
1237 /lib/modules/%{kernel_release}/kernel/net
1238 /lib/modules/%{kernel_release}/kernel/mm
1240 %dir /lib/modules/%{kernel_release}/kernel/sound
1241 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1242 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1244 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1245 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1246 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1249 %dir /lib/modules/%{kernel_release}/misc
1251 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1252 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1253 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1254 %if %{without rescuecd}
1255 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1256 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1257 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1258 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1259 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1260 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1262 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1263 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1264 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1265 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1266 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1267 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1268 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1269 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1272 /lib/modules/%{kernel_release}/kernel/sound
1274 /lib/modules/%{kernel_release}/kernel/security
1276 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1279 /lib/modules/%{kernel_release}/modules.order
1280 /lib/modules/%{kernel_release}/modules.builtin*
1282 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1283 %ghost /lib/modules/%{kernel_release}/modules.alias
1284 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1285 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1286 %ghost /lib/modules/%{kernel_release}/modules.dep
1287 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1288 %ghost /lib/modules/%{kernel_release}/modules.devname
1289 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1290 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1291 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1292 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1293 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1294 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1295 %ghost /lib/modules/%{kernel_release}/modules.softdep
1296 %ghost /lib/modules/%{kernel_release}/modules.symbols
1297 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1298 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1300 # symlinks pointing to kernelsrcdir
1301 %ghost /lib/modules/%{kernel_release}/build
1302 %ghost /lib/modules/%{kernel_release}/source
1304 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1306 %defattr(644,root,root,755)
1307 /boot/vmlinux-%{kernel_release}
1312 %defattr(644,root,root,755)
1313 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1318 %defattr(644,root,root,755)
1319 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1320 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1321 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1322 %if %{without rescuecd}
1323 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1324 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1325 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1326 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1328 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1329 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1330 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1331 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1332 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1333 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1334 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1335 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
1336 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1341 %defattr(644,root,root,755)
1342 /lib/modules/%{kernel_release}/kernel/sound
1343 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1344 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1345 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1347 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1350 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1351 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1352 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1353 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1358 %defattr(644,root,root,755)
1359 /lib/modules/%{kernel_release}/kernel/sound/oss
1363 %files headers -f files.headers_exclude_kbuild
1364 %defattr(644,root,root,755)
1365 %dir %{_kernelsrcdir}
1366 %{_kernelsrcdir}/include
1367 %dir %{_kernelsrcdir}/arch
1368 %dir %{_kernelsrcdir}/arch/[!K]*
1369 %{_kernelsrcdir}/arch/*/include
1370 %dir %{_kernelsrcdir}/security
1371 %dir %{_kernelsrcdir}/security/selinux
1372 %{_kernelsrcdir}/security/selinux/include
1373 %{_kernelsrcdir}/config-dist
1374 %{_kernelsrcdir}/Module.symvers-dist
1376 %files module-build -f files.mb_include_modulebuild_and_dirs
1377 %defattr(644,root,root,755)
1379 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1381 %exclude %dir %{_kernelsrcdir}/arch/um
1382 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1383 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1384 %{_kernelsrcdir}/drivers/lguest/lg.h
1385 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1386 %{_kernelsrcdir}/kernel/bounds.c
1387 %dir %{_kernelsrcdir}/scripts
1388 %{_kernelsrcdir}/scripts/Kbuild.include
1389 %{_kernelsrcdir}/scripts/Makefile*
1390 %{_kernelsrcdir}/scripts/basic
1391 %{_kernelsrcdir}/scripts/kconfig
1392 %{_kernelsrcdir}/scripts/mkcompile_h
1393 %{_kernelsrcdir}/scripts/mkmakefile
1394 %{_kernelsrcdir}/scripts/mod
1395 %{_kernelsrcdir}/scripts/module-common.lds
1396 %{_kernelsrcdir}/scripts/setlocalversion
1397 %{_kernelsrcdir}/scripts/*.c
1398 %{_kernelsrcdir}/scripts/*.sh
1399 %dir %{_kernelsrcdir}/scripts/selinux
1400 %{_kernelsrcdir}/scripts/selinux/Makefile
1401 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1402 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1403 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1404 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1405 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1406 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1407 %exclude %dir %{_kernelsrcdir}/security
1408 %exclude %dir %{_kernelsrcdir}/security/selinux
1409 %if %{with grsecurity}
1410 %{_kernelsrcdir}/tools/gcc/*.c
1415 %defattr(644,root,root,755)
1416 %dir %{_docdir}/%{name}-%{version}
1418 %{_docdir}/%{name}-%{version}/[!jkz]*
1419 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1420 %{_docdir}/%{name}-%{version}/kbuild
1421 %{_docdir}/%{name}-%{version}/kdump
1422 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1423 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1424 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1428 %files source -f files.source_exclude_modulebuild_and_dirs
1429 %defattr(644,root,root,755)
1430 %{_kernelsrcdir}/arch/*/[!Mik]*
1431 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1432 %{_kernelsrcdir}/arch/ia64/install.sh
1433 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1434 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1435 %{_kernelsrcdir}/arch/m68k/install.sh
1436 %{_kernelsrcdir}/arch/parisc/install.sh
1437 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1438 %{_kernelsrcdir}/arch/ia64/kvm
1439 %{_kernelsrcdir}/arch/powerpc/kvm
1441 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1443 %{_kernelsrcdir}/arch/s390/kvm
1444 %{_kernelsrcdir}/arch/x86/kvm
1445 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1446 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1447 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1448 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1449 %{_kernelsrcdir}/block
1450 %{_kernelsrcdir}/crypto
1451 %{_kernelsrcdir}/drivers
1452 %{_kernelsrcdir}/firmware
1454 %if %{with grsecurity} && %{without rescuecd}
1455 %{_kernelsrcdir}/grsecurity
1457 %{_kernelsrcdir}/init
1458 %{_kernelsrcdir}/ipc
1459 %{_kernelsrcdir}/kernel
1460 %exclude %{_kernelsrcdir}/kernel/bounds.c
1461 %{_kernelsrcdir}/lib
1463 %{_kernelsrcdir}/net
1464 %{_kernelsrcdir}/virt
1465 %{_kernelsrcdir}/samples
1466 %{_kernelsrcdir}/scripts/*
1467 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1468 %exclude %{_kernelsrcdir}/scripts/Makefile*
1469 %exclude %{_kernelsrcdir}/scripts/basic
1470 %exclude %{_kernelsrcdir}/scripts/kconfig
1471 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1472 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1473 %exclude %{_kernelsrcdir}/scripts/mod
1474 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1475 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1476 %exclude %{_kernelsrcdir}/scripts/*.c
1477 %exclude %{_kernelsrcdir}/scripts/*.sh
1478 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1479 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1480 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1481 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1482 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1483 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1484 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1485 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1486 %{_kernelsrcdir}/sound
1487 %{_kernelsrcdir}/security
1488 %exclude %{_kernelsrcdir}/security/selinux/include
1489 %{_kernelsrcdir}/tools/*
1490 %if %{with grsecurity}
1491 %exclude %{_kernelsrcdir}/tools/gcc/*.c
1493 %{_kernelsrcdir}/usr
1494 %{_kernelsrcdir}/COPYING
1495 %{_kernelsrcdir}/CREDITS
1496 %{_kernelsrcdir}/MAINTAINERS
1497 %{_kernelsrcdir}/README
1498 %{_kernelsrcdir}/REPORTING-BUGS