2 # LATEST VERSION CHECKER:
3 # # curl -s http://www.kernel.org/kdist/finger_banner
6 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
7 # - IPv4 source address selection for multihomed vservers is completely broken
8 # meaning routing table is ignored except for default
10 # HOWTO update configuration files:
12 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
13 # - sort configuration files using:
14 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
15 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
18 %bcond_without source # don't build kernel-source package
19 %bcond_without doc # don't build kernel-doc package
20 %bcond_without pcmcia # don't build pcmcia
22 %bcond_with verbose # verbose build (V=1)
23 %bcond_with reiser4 # support for reiser4 fs (experimental)
25 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
26 %bcond_without pae # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
27 %bcond_with nfsroot # build with root on NFS support
29 %bcond_without imq # imq support
30 %bcond_without esfq # esfq support
31 %bcond_without ipv6 # ipv6 support
33 %bcond_without vserver # support for VServer (enabled by default)
35 %bcond_with vanilla # don't include any patches
36 %bcond_with rescuecd # build kernel for our rescue
37 %bcond_with myown # build with your own config (kernel-myown.config)
39 %{?debug:%define with_verbose 1}
47 %unglobal with_vserver
73 # __alt_kernel is list of features, empty string if none set
74 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
75 # alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
76 %define __alt_kernel %{nil}
78 %if "%{__alt_kernel}" != ""
79 %define alt_kernel %{__alt_kernel}
82 # these override whatever name was picked from bconds
83 %if %{with myown} && "%{_alt_kernel}" == ""
84 %define alt_kernel myown
87 %define alt_kernel rescuecd
90 %define alt_kernel vanilla
93 # kernel release (used in filesystem and eventually in uname -r)
94 # modules will be looked from /lib/modules/%{kernel_release}
95 # localversion is just that without version for "> localversion"
96 %define localversion %{rel}
97 %define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
99 Summary: The Linux kernel (the core of the Linux operating system)
100 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
101 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
102 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
103 Summary(pl.UTF-8): JÄ…dro Linuksa
104 Name: kernel%{_alt_kernel}
105 Version: %{basever}%{postver}
110 Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
111 # Source0-md5: 4348c9b6b2eb3144d601e87c19d5d909
112 %if "%{postver}" != ".0"
113 Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
114 # Patch0-md5: e25df2969cb5f5c68e5739b6e313cb92
116 Source1: kernel.sysconfig
118 Source3: kernel-autoconf.h
119 Source4: kernel-config.h
120 Source6: kernel-config.awk
121 Source7: kernel-module-build.pl
122 Source8: kernel-track-config-change.awk
123 # not used by kernel.spec, but it's good to have it in SOURCES
124 Source9: kernel-config-sort.pl
125 Source10: kernel.make
127 Source20: kernel-multiarch.config
128 Source21: kernel-x86.config
129 Source22: kernel-sparc.config
130 Source23: kernel-alpha.config
131 Source24: kernel-powerpc.config
132 Source25: kernel-ia64.config
134 Source41: kernel-patches.config
135 Source43: kernel-vserver.config
137 Source55: kernel-imq.config
138 Source56: kernel-reiser4.config
140 Source58: kernel-inittmpfs.config
142 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
143 Patch3: kernel-fbcondecor.patch
144 Patch4: kernel-fbcon-margins.patch
145 Patch5: linux-wistron-amilo8210.patch
147 # netfilter related stuff mostly based on patch-o-matic-ng
148 # snapshot 20070806 with some fixes. Some modules
149 # were ported to nf_conntrack.
151 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
153 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
154 Patch37: kernel-owner-xid.patch
156 # based on kernel-2.6.25-layer7-2.20.patch from
157 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
158 Patch40: kernel-layer7.patch
162 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
163 Patch49: kernel-zph.patch
165 # http://www.linuximq.net
166 # http://tech.groups.yahoo.com/group/linuximq/message/3096
167 Patch50: kernel-imq.patch
169 Patch51: http://downloads.sourceforge.net/project/reiser4/reiser4-for-linux-3.x/reiser4-for-3.9.2.patch.gz
170 # Patch51-md5: 6f7e3f62e887c073844281be90716c28
172 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
173 Patch53: kernel-esfq.patch
175 # by Baggins request:
176 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
177 Patch55: kernel-atm-vbr.patch
178 Patch56: kernel-atmdd.patch
180 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
181 Patch59: kernel-rndis_host-wm5.patch
183 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
184 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
185 Patch85: kernel-hostap.patch
187 # http://www.linuxtv.org/wiki/index.php/TechniSat_CableStar_Combo_HD_CI#Patch
188 Patch90: kernel-technisat-combo-hd-ci.patch
190 # http://vserver.13thfloor.at/Experimental/patch-3.9.4-vs2.3.6.3.diff
191 # note there are additional patches from above url:
192 # - *fix* are real fixes (we want these)
193 # - *feat* are new features/tests (we don't want these)
194 Patch100: kernel-vserver-2.3.patch
195 Patch101: kernel-vserver-fixes.patch
197 # git clone git://kernel.opensuse.org/kernel-source.git
199 Patch110: ovl01-vfs-add-i_op-dentry_open.patch
200 Patch111: ovl02-vfs-export-do_splice_direct-to-modules.patch
201 Patch112: ovl03-vfs-introduce-clone_private_mount.patch
202 Patch113: ovl04-overlay-filesystem.patch
203 Patch114: ovl05-overlayfs-add-statfs-support.patch
204 Patch115: ovl06-overlayfs-implement-show_options.patch
205 Patch116: ovl07-overlay-overlay-filesystem-documentation.patch
206 Patch117: ovl08-fs-limit-filesystem-stacking-depth.patch
207 Patch118: ovl09-overlayfs-fix-possible-leak-in-ovl_new_inode.patch
208 Patch119: ovl10-overlayfs-create-new-inode-in-ovl_link.patch
209 Patch120: ovl11-vfs-export-__inode_permission-to-modules.patch
210 Patch121: ovl12-ovl-switch-to-__inode_permission.patch
211 Patch122: ovl13-overlayfs-copy-up-i_uid-i_gid-from-the-underlying-in.patch
213 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
215 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
216 # cd aufs3-standalone
217 # git checkout -b aufs3.8 origin/aufs3.8
218 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
220 # cp -a Documentation fs include linux
221 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
222 # drop hunk at the end of patch (hunk is patching include/linux/Kbuild with single line change)
224 Patch145: kernel-aufs3.patch
226 # Show normal colors in menuconfig with ncurses ABI 6
227 Patch250: kernel-fix_256colors_menuconfig.patch
229 # https://patchwork.kernel.org/patch/236261/
230 Patch400: kernel-virtio-gl-accel.patch
232 Patch2000: kernel-small_fixes.patch
233 Patch2001: kernel-pwc-uncompress.patch
234 Patch2003: kernel-regressions.patch
236 # http://git.kernel.org/?p=linux/kernel/git/jj/linux-apparmor.git;a=shortlog;h=refs/heads/v3.5-aa2.8
237 Patch5000: kernel-apparmor.patch
240 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
241 Patch7000: kernel-inittmpfs.patch
243 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
244 # kernel.spec every time.
245 #Patch50000: kernel-usb_reset.patch
247 URL: http://www.kernel.org/
248 BuildRequires: binutils >= 3:2.18
249 %ifarch sparc sparc64
250 BuildRequires: elftoaout
253 BuildRequires: uboot-mkimage
255 BuildRequires: /sbin/depmod
256 BuildRequires: gcc >= 5:3.2
257 BuildRequires: xz >= 1:4.999.7
259 BuildRequires: hostname
261 BuildRequires: perl-base
262 BuildRequires: rpm-build >= 4.5-24
263 BuildRequires: rpmbuild(macros) >= 1.652
264 Requires(post): coreutils
265 Requires(post): geninitrd >= 10000-3
266 Requires(post): kmod >= 12-2
267 Requires: /sbin/depmod
269 Requires: geninitrd >= 10000-3
270 Requires: kmod >= 12-2
272 %ifarch i686 athlon pentium3 pentium4
273 Requires: cpuinfo(pae)
279 Suggests: linux-firmware
280 Provides: %{name}(netfilter) = 20070806
281 Provides: %{name}(vermagic) = %{kernel_release}
282 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
283 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
284 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
285 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
286 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
287 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
288 Obsoletes: kernel-firmware
289 Obsoletes: kernel-misc-acer_acpi
290 Obsoletes: kernel-misc-fuse
291 Obsoletes: kernel-misc-uvc
292 Obsoletes: kernel-modules
293 Obsoletes: kernel-net-ar81
294 Obsoletes: kernel-net-hostap
295 Obsoletes: kernel-net-ieee80211
296 Obsoletes: kernel-net-ipp2p
297 Obsoletes: kernel-net-rt61
298 Obsoletes: kernel-smp
299 Conflicts: e2fsprogs < 1.29
300 Conflicts: isdn4k-utils < 3.1pre1
301 Conflicts: jfsutils < 1.1.3
302 Conflicts: linux-firmware < 20120720
303 Conflicts: lvm2 < 2.02.40
304 Conflicts: module-init-tools < 3.16
305 Conflicts: nfs-utils < 1.0.5
306 Conflicts: oprofile < 0.9
307 Conflicts: ppp < 1:2.4.0
308 Conflicts: procps < 3.2.0
309 Conflicts: quota-tools < 3.09
310 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
311 Conflicts: reiserfsprogs < 3.6.3
312 Conflicts: rpm < 4.4.2-0.2
313 Conflicts: udev < 1:081
314 Conflicts: util-linux < 2.10o
315 Conflicts: util-vserver < 0.30.216
316 Conflicts: xfsprogs < 2.6.0
317 ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
319 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
321 %ifarch %{ix86} %{x8664}
322 %define target_arch_dir x86
325 %define target_arch_dir powerpc
327 %ifarch sparc sparc64
328 %define target_arch_dir sparc
330 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
331 %define target_arch_dir %{_target_base_arch}
334 %define defconfig arch/%{target_arch_dir}/defconfig
336 # No ELF objects there to strip (skips processing 27k files)
337 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
338 %define _noautochrpath .*%{_kernelsrcdir}/.*
339 %define _enable_debug_packages 0
342 %define initrd_dir /boot/efi
344 %define initrd_dir /boot
347 %define topdir %{_builddir}/%{name}-%{version}
348 %define srcdir %{topdir}/linux-%{basever}
349 %define objdir %{topdir}/%{targetobj}
350 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
352 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
354 %if "%{_target_base_arch}" != "%{_host_base_arch}"
355 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
356 %define DepMod /bin/true
358 %if "%{_host_base_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
359 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
360 %define DepMod /sbin/depmod
363 %if "%{_host_base_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
364 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
365 %define DepMod /sbin/depmod
368 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
369 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
370 %define DepMod /sbin/depmod
373 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
374 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
378 %define CrossOpts ARCH=powerpc CC="%{__cc}"
380 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
382 %define DepMod /sbin/depmod
384 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
387 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
388 %{?with_nfsroot:Root on NFS - enabled}\
390 %define Features %(echo "%{__features}" | sed '/^$/d')
393 This package contains the Linux kernel that is used to boot and run
394 your system. It contains few device drivers for specific hardware.
395 Most hardware is instead supported by modules loaded after booting.
399 %description -l de.UTF-8
400 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
401 Linux-Betriebssystems. Der Kernel ist für grundliegende
402 Systemfunktionen verantwortlich: Speicherreservierung,
403 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
407 %description -l fr.UTF-8
408 Le package kernel contient le kernel linux (vmlinuz), la partie
409 centrale d'un système d'exploitation Linux. Le noyau traite les
410 fonctions basiques d'un système d'exploitation: allocation mémoire,
411 allocation de process, entrée/sortie de peripheriques, etc.
415 %description -l pl.UTF-8
416 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
417 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
418 się w komputerze, takiego jak sterowniki dysków itp.
423 Summary: vmlinux - uncompressed kernel image
424 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
425 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
427 Obsoletes: kernel-smp-vmlinux
430 vmlinux - uncompressed kernel image.
432 %description vmlinux -l de.UTF-8
433 vmlinux - dekompressiertes Kernel Bild.
435 %description vmlinux -l pl.UTF-8
436 vmlinux - rozpakowany obraz jÄ…dra.
439 Summary: DRM kernel modules
440 Summary(de.UTF-8): DRM Kernel Treiber
441 Summary(pl.UTF-8): Sterowniki DRM
443 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
444 Requires: %{name} = %{epoch}:%{version}-%{release}
445 Obsoletes: kernel-smp-drm
451 %description drm -l de.UTF-8
454 %description drm -l pl.UTF-8
458 Summary: PCMCIA modules
459 Summary(de.UTF-8): PCMCIA Module
460 Summary(pl.UTF-8): Moduły PCMCIA
462 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
463 Requires: %{name} = %{epoch}:%{version}-%{release}
464 Obsoletes: kernel-smp-pcmcia
465 Conflicts: pcmcia-cs < 3.1.21
466 Conflicts: pcmciautils < 004
472 %description pcmcia -l de.UTF-8
475 %description pcmcia -l pl.UTF-8
479 Summary: ALSA kernel modules
480 Summary(de.UTF-8): ALSA Kernel Module
481 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
483 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
484 Requires: %{name} = %{epoch}:%{version}-%{release}
485 Obsoletes: kernel-smp-sound-alsa
488 %description sound-alsa
489 ALSA (Advanced Linux Sound Architecture) sound drivers.
491 %description sound-alsa -l de.UTF-8
492 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
494 %description sound-alsa -l pl.UTF-8
495 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
498 Summary: OSS kernel modules
499 Summary(de.UTF-8): OSS Kernel Module
500 Summary(pl.UTF-8): Sterowniki dźwięku OSS
502 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
503 Requires: %{name} = %{epoch}:%{version}-%{release}
504 Obsoletes: kernel-smp-sound-oss
507 %description sound-oss
508 OSS (Open Sound System) drivers.
510 %description sound-oss -l de.UTF-8
511 OSS (Open Sound System) Treiber.
513 %description sound-oss -l pl.UTF-8
514 Sterowniki dźwięku OSS (Open Sound System).
517 Summary: Header files for the Linux kernel
518 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
519 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
520 Group: Development/Building
521 Provides: %{name}-headers(netfilter) = 20070806
525 These are the C header files for the Linux kernel, which define
526 structures and constants that are needed when rebuilding the kernel or
527 building kernel modules.
529 %description headers -l de.UTF-8
530 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
531 Strukturen und Konstante beinhalten, die beim rekompilieren des
532 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
534 %description headers -l pl.UTF-8
535 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
536 oraz budowania modułów jądra.
538 %package module-build
539 Summary: Development files for building kernel modules
540 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
541 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
542 Group: Development/Building
543 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
544 Conflicts: rpmbuild(macros) < 1.652
547 %description module-build
548 Development files from kernel source tree needed to build Linux kernel
549 modules from external packages.
551 %description module-build -l de.UTF-8
552 Development Dateien des Linux-Kernels die beim kompilieren externer
553 Kernel Module gebraucht werden.
555 %description module-build -l pl.UTF-8
556 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
557 Linuksa z zewnętrznych pakietów.
560 Summary: Kernel source tree
561 Summary(de.UTF-8): Der Kernel Quelltext
562 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
563 Group: Development/Building
564 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
566 %if "%{_rpmversion}" >= "5"
571 This is the source code for the Linux kernel. You can build a custom
572 kernel that is better tuned to your particular hardware.
574 %description source -l de.UTF-8
575 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
576 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
577 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
578 im Kernel-Source definiert sind. Die Source-Dateien können auch
579 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
580 Hardware ausgerichtet ist.
582 %description source -l fr.UTF-8
583 Le package pour le kernel-source contient le code source pour le noyau
584 linux. Ces sources sont nécessaires pour compiler la plupart des
585 programmes C, car il dépend de constantes définies dans le code
586 source. Les sources peuvent être aussi utilisée pour compiler un noyau
587 personnalisé pour avoir de meilleures performances sur des matériels
590 %description source -l pl.UTF-8
591 Pakiet zawiera kod źródłowy jądra systemu.
594 Summary: Kernel documentation
595 Summary(de.UTF-8): Kernel Dokumentation
596 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
599 %if "%{_rpmversion}" >= "5"
604 This is the documentation for the Linux kernel, as found in
605 /usr/src/linux/Documentation directory.
607 %description doc -l de.UTF-8
608 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
609 Verzeichniss vorgefunden werden kann.
611 %description doc -l pl.UTF-8
612 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
613 /usr/src/linux/Documentation.
617 ln -s %{SOURCE7} kernel-module-build.pl
618 ln -s %{SOURCE10} Makefile
621 %if "%{postver}" != ".0"
625 %if %{without vanilla}
627 %if %{with fbcondecor}
636 # kernel-pom-ng-IPV4OPTSSTRIP.patch
639 # kernel-owner-xid.patch
644 # kernel-layer7.patch
670 # kernel-rndis_host-wm5.patch
673 # hostap enhancements from/for aircrack-ng
676 # TechniSat_CableStar_Combo_HD_CI
721 # Do not remove this, please!
724 # Fix EXTRAVERSION in main Makefile
725 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
727 # cleanup backups after patching
728 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
732 cat > %{targetobj}.mk <<'EOF'
733 # generated by %{name}.spec
734 KERNELSRC := %{srcdir}
735 KERNELOUTPUT := %{objdir}
737 SRCARCH := %{target_arch_dir}
738 ARCH := %{_target_base_arch}
739 Q := %{!?with_verbose:@}
740 MAKE_OPTS := %{MakeOpts}
741 DEFCONFIG := %{defconfig}
747 # CONFIG_SOUND is not set
748 # CONFIG_AUDIT is not set
749 # CONFIG_TR is not set
750 # CONFIG_BT is not set
751 # CONFIG_VIDEO_DEV is not set
752 # CONFIG_DVB_CORE is not set
753 # CONFIG_HAMRADIO is not set
754 # CONFIG_ARCNET is not set
755 # CONFIG_FB is not set
756 # CONFIG_DRM is not set
757 # CONFIG_WATCHDOG is not set
758 # CONFIG_INPUT_JOYSTICK is not set
759 # CONFIG_DEBUG_KERNEL is not set
760 # CONFIG_ISDN is not set
761 # CONFIG_AGP is not set
762 # CONFIG_SECURITY is not set
763 # CONFIG_PARIDE is not set
764 # CONFIG_CPU_FREQ is not set
765 # CONFIG_GAMEPORT is not set
766 # CONFIG_KVM is not set
767 # CONFIG_PHONE is not set
768 # CONFIG_STRICT_DEVMEM is not set
769 # CONFIG_IMA is not set
770 # CONFIG_MEDIA_SUPPORT is not set
771 # CONFIG_UWB is not set
772 # CONFIG_PWM is not set
775 CONFIG_AUFS_BR_RAMFS=y
777 CONFIG_BLK_DEV_LOOP=y
790 Config="kernel-%{target_arch_dir}.config"
791 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
793 # prepare local and important options
794 cat <<-EOCONFIG > important.config
795 LOCALVERSION="-%{localversion}"
799 CONFIG_DEBUG_SLAB_LEAK=y
800 CONFIG_DEBUG_PREEMPT=y
801 CONFIG_RT_DEADLOCK_DETECT=y
808 %ifarch i686 athlon pentium3 pentium4
817 %if %{without pcmcia}
821 %if %{with fbcondecor}
825 CONFIG_FB_TILEBLITTING=n
826 CONFIG_FB_CON_DECOR=y
836 RescueConfig rescue.config
838 # prepare kernel-style config file from multiple config files
839 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
841 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
844 %if %{without vanilla}
859 %{SOURCE41} %{?0:patches} \
862 $RPM_SOURCE_DIR/$Config
866 install -d arch/%{target_arch_dir}
867 BuildConfig > %{defconfig}
868 ln -sf %{defconfig} .config
872 TARGETOBJ=%{targetobj} \
873 %{?with_verbose:V=1} \
876 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
880 TARGETOBJ=%{targetobj} \
881 %{?with_verbose:V=1} \
885 rm -rf $RPM_BUILD_ROOT
886 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
888 %{?with_verbose:V=1} \
890 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
891 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
892 KERNELRELEASE=%{kernel_release}
894 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
896 # create directories which may be missing, to simplyfy %files
897 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
899 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
900 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
901 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
903 # no point embed content for %ghost files. empty them
911 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
912 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
916 install -d $RPM_BUILD_ROOT/boot
917 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
918 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
919 %ifarch %{ix86} %{x8664}
920 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
921 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
924 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
925 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
928 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
929 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
930 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
932 %ifarch alpha sparc sparc64
933 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
934 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
935 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
937 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
938 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
941 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
942 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
946 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
950 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
951 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
953 %if "%{_target_base_arch}" != "%{_host_base_arch}"
954 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
958 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
960 install -d $RPM_BUILD_ROOT/etc/sysconfig
961 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
964 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
966 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
967 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
969 rm -f $RPM_BUILD_ROOT/COPYING
972 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
973 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
974 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
975 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
976 # copy arch/x86/include/generated
977 for dir in $(cd %{objdir} && find arch -name generated -type d); do
978 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
979 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
982 # version.h location changed in 3.7, but a lot of external modules don't know about it
983 # add a compatibility symlink
984 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
986 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
987 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
989 # collect module-build files and directories
990 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
992 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
993 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
996 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
999 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1001 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1003 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
1004 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
1008 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1009 install -d $RPM_BUILD_ROOT%{_docdir}
1010 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1012 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1013 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1014 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1015 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1017 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
1021 rm -rf $RPM_BUILD_ROOT
1024 if [ -x /sbin/new-kernel-pkg ]; then
1025 /sbin/new-kernel-pkg --remove %{kernel_release}
1029 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1030 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1032 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1033 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1034 %if 0%{?alt_kernel:1}
1035 mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1036 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
1039 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1040 mv -f /boot/System.map{,.old} 2> /dev/null
1041 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1042 ln -sf System.map-%{kernel_release} /boot/System.map
1043 %if 0%{?alt_kernel:1}
1044 mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1045 mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
1046 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
1047 ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
1051 %depmod %{kernel_release}
1054 # use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
1055 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1056 if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
1057 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
1059 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1060 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1061 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1062 %if 0%{?alt_kernel:1}
1063 mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
1064 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}
1068 # if dracut is present then generate full-featured initramfs
1069 if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
1070 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
1073 # update boot loaders when old package files are gone from filesystem
1074 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1075 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1076 /sbin/update-grub >/dev/null
1079 if [ -x /sbin/new-kernel-pkg ]; then
1080 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1082 if [ -x /sbin/rc-boot ]; then
1083 /sbin/rc-boot 1>&2 || :
1087 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1088 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1089 mv -f /boot/vmlinux{,.old} 2> /dev/null
1090 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1091 %if 0%{?alt_kernel:1}
1092 mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
1093 ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
1098 %depmod %{kernel_release}
1101 %depmod %{kernel_release}
1104 %depmod %{kernel_release}
1107 %depmod %{kernel_release}
1110 %depmod %{kernel_release}
1113 %depmod %{kernel_release}
1116 %depmod %{kernel_release}
1119 %depmod %{kernel_release}
1122 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1125 if [ "$1" = "0" ]; then
1126 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1127 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1128 rm -f %{_prefix}/src/linux%{_alt_kernel}
1133 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1134 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1135 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1137 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1138 if [ "$1" = 0 ]; then
1139 rm -f /lib/modules/%{kernel_release}/{build,source}
1143 %defattr(644,root,root,755)
1144 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
1145 %ifarch sparc sparc64
1146 /boot/vmlinux.aout-%{kernel_release}
1149 /boot/efi/vmlinuz-%{kernel_release}
1151 /boot/vmlinuz-%{kernel_release}
1152 /boot/System.map-%{kernel_release}
1153 /boot/config-%{kernel_release}
1154 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1155 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
1156 /lib/firmware/%{kernel_release}
1158 %dir /lib/modules/%{kernel_release}
1159 %dir /lib/modules/%{kernel_release}/kernel
1160 /lib/modules/%{kernel_release}/kernel/arch
1161 /lib/modules/%{kernel_release}/kernel/crypto
1162 /lib/modules/%{kernel_release}/kernel/drivers
1164 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1166 /lib/modules/%{kernel_release}/kernel/fs
1167 /lib/modules/%{kernel_release}/kernel/kernel
1168 /lib/modules/%{kernel_release}/kernel/lib
1169 /lib/modules/%{kernel_release}/kernel/net
1170 /lib/modules/%{kernel_release}/kernel/mm
1172 %dir /lib/modules/%{kernel_release}/kernel/sound
1173 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1174 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1176 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1177 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1178 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1181 %dir /lib/modules/%{kernel_release}/misc
1183 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1184 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1185 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1186 %if %{without rescuecd}
1187 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1188 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1189 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1190 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1191 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1193 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1194 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1195 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1196 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1197 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1198 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1199 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
1200 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1203 /lib/modules/%{kernel_release}/kernel/sound
1205 /lib/modules/%{kernel_release}/kernel/security
1207 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1210 /lib/modules/%{kernel_release}/modules.order
1211 /lib/modules/%{kernel_release}/modules.builtin*
1213 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1214 %ghost /lib/modules/%{kernel_release}/modules.alias
1215 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1216 %ghost /lib/modules/%{kernel_release}/modules.dep
1217 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1218 %ghost /lib/modules/%{kernel_release}/modules.devname
1219 %ghost /lib/modules/%{kernel_release}/modules.softdep
1220 %ghost /lib/modules/%{kernel_release}/modules.symbols
1221 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1223 # symlinks pointing to kernelsrcdir
1224 %ghost /lib/modules/%{kernel_release}/build
1225 %ghost /lib/modules/%{kernel_release}/source
1227 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1229 %defattr(644,root,root,755)
1230 /boot/vmlinux-%{kernel_release}
1235 %defattr(644,root,root,755)
1236 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1241 %defattr(644,root,root,755)
1242 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1243 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1244 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1245 %if %{without rescuecd}
1246 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1247 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1248 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1249 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1251 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1252 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1253 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1254 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1255 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1256 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1257 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
1258 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1263 %defattr(644,root,root,755)
1264 /lib/modules/%{kernel_release}/kernel/sound
1265 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1266 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1267 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1269 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1272 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1273 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1274 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1275 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1280 %defattr(644,root,root,755)
1281 /lib/modules/%{kernel_release}/kernel/sound/oss
1285 %files headers -f files.headers_exclude_kbuild
1286 %defattr(644,root,root,755)
1287 %dir %{_kernelsrcdir}
1288 %{_kernelsrcdir}/include
1289 %dir %{_kernelsrcdir}/arch
1290 %dir %{_kernelsrcdir}/arch/[!K]*
1291 %{_kernelsrcdir}/arch/*/include
1292 %dir %{_kernelsrcdir}/security
1293 %dir %{_kernelsrcdir}/security/selinux
1294 %{_kernelsrcdir}/security/selinux/include
1295 %{_kernelsrcdir}/.config
1296 %{_kernelsrcdir}/Module.symvers
1298 %files module-build -f files.mb_include_modulebuild_and_dirs
1299 %defattr(644,root,root,755)
1301 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1303 %exclude %dir %{_kernelsrcdir}/arch/um
1304 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1305 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1306 %{_kernelsrcdir}/drivers/lguest/lg.h
1307 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1308 %{_kernelsrcdir}/kernel/bounds.c
1309 %{_kernelsrcdir}/scripts/basic/*.c
1310 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1311 %{_kernelsrcdir}/scripts/kconfig/*.in
1312 %{_kernelsrcdir}/scripts/kconfig/*_shipped
1313 %{_kernelsrcdir}/scripts/kconfig/*.pl
1314 %{_kernelsrcdir}/scripts/kconfig/*.glade
1315 %{_kernelsrcdir}/scripts/kconfig/*.gperf
1316 %{_kernelsrcdir}/scripts/kconfig/*.cc
1317 %{_kernelsrcdir}/scripts/kconfig/*.y
1318 %{_kernelsrcdir}/scripts/kconfig/*.l
1319 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1320 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1321 %{_kernelsrcdir}/scripts/kconfig/l*.h
1322 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
1323 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
1324 %{_kernelsrcdir}/scripts/kconfig/lxdialog
1325 %{_kernelsrcdir}/scripts/mod/*.c
1326 %{_kernelsrcdir}/scripts/mod/modpost.h
1327 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
1328 %{_kernelsrcdir}/scripts/mkmakefile
1329 %{_kernelsrcdir}/scripts/module-common.lds
1330 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
1331 %{_kernelsrcdir}/scripts/*.c
1332 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
1333 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1334 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1335 %exclude %dir %{_kernelsrcdir}/security
1336 %exclude %dir %{_kernelsrcdir}/security/selinux
1340 %defattr(644,root,root,755)
1341 %dir %{_docdir}/%{name}-%{version}
1343 %{_docdir}/%{name}-%{version}/[!jkz]*
1344 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1345 %{_docdir}/%{name}-%{version}/kbuild
1346 %{_docdir}/%{name}-%{version}/kdump
1347 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1348 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1349 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1353 %files source -f files.source_exclude_modulebuild_and_dirs
1354 %defattr(644,root,root,755)
1355 %{_kernelsrcdir}/arch/*/[!Mik]*
1356 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1357 %{_kernelsrcdir}/arch/ia64/install.sh
1358 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1359 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1360 %{_kernelsrcdir}/arch/m68k/install.sh
1361 %{_kernelsrcdir}/arch/parisc/install.sh
1362 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1363 %{_kernelsrcdir}/arch/ia64/kvm
1364 %{_kernelsrcdir}/arch/powerpc/kvm
1366 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1368 %{_kernelsrcdir}/arch/arm/kvm
1369 %{_kernelsrcdir}/arch/s390/kvm
1370 %{_kernelsrcdir}/arch/x86/kvm
1371 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1372 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1373 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1374 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1375 %{_kernelsrcdir}/block
1376 %{_kernelsrcdir}/crypto
1377 %{_kernelsrcdir}/drivers
1378 %{_kernelsrcdir}/firmware
1380 %{_kernelsrcdir}/init
1381 %{_kernelsrcdir}/ipc
1382 %{_kernelsrcdir}/kernel
1383 %exclude %{_kernelsrcdir}/kernel/bounds.c
1384 %{_kernelsrcdir}/lib
1386 %{_kernelsrcdir}/net
1387 %{_kernelsrcdir}/virt
1388 %{_kernelsrcdir}/samples
1389 %{_kernelsrcdir}/scripts/*
1390 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1391 %exclude %{_kernelsrcdir}/scripts/Makefile*
1392 %exclude %{_kernelsrcdir}/scripts/basic
1393 %exclude %{_kernelsrcdir}/scripts/kconfig
1394 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1395 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1396 %exclude %{_kernelsrcdir}/scripts/mod
1397 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1398 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1399 %exclude %{_kernelsrcdir}/scripts/*.c
1400 %exclude %{_kernelsrcdir}/scripts/*.sh
1401 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1402 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1403 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1404 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1405 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1406 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1407 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1408 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1409 %{_kernelsrcdir}/sound
1410 %{_kernelsrcdir}/security
1411 %exclude %{_kernelsrcdir}/security/selinux/include
1412 %{_kernelsrcdir}/tools/*
1413 %{_kernelsrcdir}/usr
1414 %{_kernelsrcdir}/COPYING
1415 %{_kernelsrcdir}/CREDITS
1416 %{_kernelsrcdir}/MAINTAINERS
1417 %{_kernelsrcdir}/README
1418 %{_kernelsrcdir}/REPORTING-BUGS