2 %bcond_without source # don't build kernel-source package
3 %bcond_without doc # don't build kernel-doc package
4 %bcond_with verbose # verbose build (V=1)
10 %define alt_kernel 4.4-vanilla
12 # kernel release (used in filesystem and eventually in uname -r)
13 # modules will be looked from /lib/modules/%{kernel_release}
14 # localversion is just that without version for "> localversion"
15 %define localversion %{rel}
16 %define kernel_release %{version}%{?alt_kernel:-%{alt_kernel}}-%{localversion}
18 Summary: The Linux kernel (the core of the Linux operating system)
19 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
20 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
21 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
22 Summary(pl.UTF-8): Jądro Linuksa
23 Name: kernel%{_alt_kernel}
24 Version: %{basever}.%{postver}
29 Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
30 # Source0-md5: 9a78fa2eb6c68ca5a40ed5af08142599
31 %if "%{postver}" != "0"
32 Source1: http://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
33 # Source1-md5: 16d63437dedd2800a9695ac344935fa0
36 Source2: kernel-module-build.pl
39 Source10: kernel-vanilla-x86.config
40 Source11: kernel-vanilla-x86_64.config
42 URL: http://www.kernel.org/
43 BuildRequires: binutils >= 3:2.18
45 BuildRequires: /sbin/depmod
46 BuildRequires: elfutils-devel
48 BuildRequires: gcc >= 5:3.2
49 BuildRequires: xz >= 1:4.999.7
51 BuildRequires: hostname
53 BuildRequires: openssl-devel
54 BuildRequires: perl-base
55 BuildRequires: rpm >= 4.5-74
56 BuildRequires: rpmbuild(macros) >= 1.652
57 Requires(post): coreutils
58 Requires(post): dracut
59 Requires(post): kmod >= 12-2
60 Requires: /sbin/depmod
63 Requires: kmod >= 12-2
65 Requires: cpuinfo(pae)
69 Suggests: linux-firmware
70 Provides: %{name}(netfilter) = 20070806
71 Provides: %{name}(vermagic) = %{kernel_release}
72 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
73 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
74 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
75 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
76 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
77 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
78 Obsoletes: kernel-firmware
79 Obsoletes: kernel-misc-acer_acpi
80 Obsoletes: kernel-misc-fuse
81 Obsoletes: kernel-misc-uvc
82 Obsoletes: kernel-modules
83 Obsoletes: kernel-net-ar81
84 Obsoletes: kernel-net-hostap
85 Obsoletes: kernel-net-ieee80211
86 Obsoletes: kernel-net-ipp2p
87 Obsoletes: kernel-net-rt61
89 Conflicts: e2fsprogs < 1.29
90 Conflicts: isdn4k-utils < 3.1pre1
91 Conflicts: jfsutils < 1.1.3
92 Conflicts: linux-firmware < 20120720
93 Conflicts: lvm2 < 2.02.40
94 Conflicts: module-init-tools < 3.16
95 Conflicts: nfs-utils < 1.0.5
96 Conflicts: oprofile < 0.9
97 Conflicts: ppp < 1:2.4.0
98 Conflicts: procps < 3.2.0
99 Conflicts: quota-tools < 3.09
100 Conflicts: reiserfsprogs < 3.6.3
101 Conflicts: rpm < 4.4.2-0.2
102 Conflicts: udev < 1:081
103 Conflicts: util-linux < 2.10o
104 Conflicts: xfsprogs < 2.6.0
105 ExclusiveArch: i686 x86_64
107 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
110 %define target_arch_dir x86
112 %define target_arch_dir %{_target_base_arch}
115 %define defconfig arch/%{target_arch_dir}/defconfig
117 # No ELF objects there to strip (skips processing 27k files)
118 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
119 %define _noautochrpath .*%{_kernelsrcdir}/.*
120 %define _enable_debug_packages 0
122 %define initrd_dir /boot
124 %define topdir %{_builddir}/%{name}-%{version}
125 %define srcdir %{topdir}/linux-%{basever}
126 %define objdir %{topdir}/%{targetobj}
127 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
129 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
131 %if "%{_target_base_arch}" != "%{_host_base_arch}"
132 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-tld-linux-
133 %define DepMod /bin/true
135 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
136 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
137 %define DepMod /sbin/depmod
141 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
142 %define DepMod /sbin/depmod
144 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
147 This package contains the Linux kernel that is used to boot and run
148 your system. It contains few device drivers for specific hardware.
149 Most hardware is instead supported by modules loaded after booting.
151 %description -l de.UTF-8
152 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
153 Linux-Betriebssystems. Der Kernel ist für grundliegende
154 Systemfunktionen verantwortlich: Speicherreservierung,
155 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
157 %description -l fr.UTF-8
158 Le package kernel contient le kernel linux (vmlinuz), la partie
159 centrale d'un système d'exploitation Linux. Le noyau traite les
160 fonctions basiques d'un système d'exploitation: allocation mémoire,
161 allocation de process, entrée/sortie de peripheriques, etc.
163 %description -l pl.UTF-8
164 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
165 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
166 się w komputerze, takiego jak sterowniki dysków itp.
169 Summary: vmlinux - uncompressed kernel image
170 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
171 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
173 Obsoletes: kernel-smp-vmlinux
176 vmlinux - uncompressed kernel image.
178 %description vmlinux -l de.UTF-8
179 vmlinux - dekompressiertes Kernel Bild.
181 %description vmlinux -l pl.UTF-8
182 vmlinux - rozpakowany obraz jądra.
185 Summary: DRM kernel modules
186 Summary(de.UTF-8): DRM Kernel Treiber
187 Summary(pl.UTF-8): Sterowniki DRM
189 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
190 Requires: %{name} = %{epoch}:%{version}-%{release}
191 Obsoletes: kernel-smp-drm
197 %description drm -l de.UTF-8
200 %description drm -l pl.UTF-8
204 Summary: PCMCIA modules
205 Summary(de.UTF-8): PCMCIA Module
206 Summary(pl.UTF-8): Moduły PCMCIA
208 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
209 Requires: %{name} = %{epoch}:%{version}-%{release}
210 Obsoletes: kernel-smp-pcmcia
211 Conflicts: pcmcia-cs < 3.1.21
212 Conflicts: pcmciautils < 004
218 %description pcmcia -l de.UTF-8
221 %description pcmcia -l pl.UTF-8
225 Summary: ALSA kernel modules
226 Summary(de.UTF-8): ALSA Kernel Module
227 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
229 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
230 Requires: %{name} = %{epoch}:%{version}-%{release}
231 Obsoletes: kernel-smp-sound-alsa
234 %description sound-alsa
235 ALSA (Advanced Linux Sound Architecture) sound drivers.
237 %description sound-alsa -l de.UTF-8
238 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
240 %description sound-alsa -l pl.UTF-8
241 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
244 Summary: OSS kernel modules
245 Summary(de.UTF-8): OSS Kernel Module
246 Summary(pl.UTF-8): Sterowniki dźwięku OSS
248 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
249 Requires: %{name} = %{epoch}:%{version}-%{release}
250 Obsoletes: kernel-smp-sound-oss
253 %description sound-oss
254 OSS (Open Sound System) drivers.
256 %description sound-oss -l de.UTF-8
257 OSS (Open Sound System) Treiber.
259 %description sound-oss -l pl.UTF-8
260 Sterowniki dźwięku OSS (Open Sound System).
263 Summary: Header files for the Linux kernel
264 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
265 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
266 Group: Development/Building
267 Provides: %{name}-headers(netfilter) = 20070806
271 These are the C header files for the Linux kernel, which define
272 structures and constants that are needed when rebuilding the kernel or
273 building kernel modules.
275 %description headers -l de.UTF-8
276 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
277 Strukturen und Konstante beinhalten, die beim rekompilieren des
278 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
280 %description headers -l pl.UTF-8
281 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
282 oraz budowania modułów jądra.
284 %package module-build
285 Summary: Development files for building kernel modules
286 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
287 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
288 Group: Development/Building
289 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
290 Conflicts: rpmbuild(macros) < 1.652
293 %description module-build
294 Development files from kernel source tree needed to build Linux kernel
295 modules from external packages.
297 %description module-build -l de.UTF-8
298 Development Dateien des Linux-Kernels die beim kompilieren externer
299 Kernel Module gebraucht werden.
301 %description module-build -l pl.UTF-8
302 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
303 Linuksa z zewnętrznych pakietów.
306 Summary: Kernel source tree
307 Summary(de.UTF-8): Der Kernel Quelltext
308 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
309 Group: Development/Building
310 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
314 This is the source code for the Linux kernel. You can build a custom
315 kernel that is better tuned to your particular hardware.
317 %description source -l de.UTF-8
318 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
319 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
320 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
321 im Kernel-Source definiert sind. Die Source-Dateien können auch
322 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
323 Hardware ausgerichtet ist.
325 %description source -l fr.UTF-8
326 Le package pour le kernel-source contient le code source pour le noyau
327 linux. Ces sources sont nécessaires pour compiler la plupart des
328 programmes C, car il dépend de constantes définies dans le code
329 source. Les sources peuvent être aussi utilisée pour compiler un noyau
330 personnalisé pour avoir de meilleures performances sur des matériels
333 %description source -l pl.UTF-8
334 Pakiet zawiera kod źródłowy jądra systemu.
337 Summary: Kernel documentation
338 Summary(de.UTF-8): Kernel Dokumentation
339 Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
344 This is the documentation for the Linux kernel, as found in
345 /usr/src/linux/Documentation directory.
347 %description doc -l de.UTF-8
348 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
349 Verzeichniss vorgefunden werden kann.
351 %description doc -l pl.UTF-8
352 Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
353 /usr/src/linux/Documentation.
357 ln -s %{SOURCE2} kernel-module-build.pl
358 ln -s %{SOURCE3} Makefile
361 %if "%{postver}" != "0"
362 %{__xz} -dc %{SOURCE1} | patch -p1 -s
365 # Fix EXTRAVERSION in main Makefile
366 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:-%{alt_kernel}}#g' Makefile
368 # cleanup backups after patching
369 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
373 cat > %{targetobj}.mk <<'EOF'
374 # generated by %{name}.spec
375 KERNELSRC := %{srcdir}
376 KERNELOUTPUT := %{objdir}
378 SRCARCH := %{target_arch_dir}
379 ARCH := %{_target_base_arch}
380 Q := %{!?with_verbose:@}
381 MAKE_OPTS := %{MakeOpts}
382 DEFCONFIG := %{defconfig}
386 install -d arch/%{target_arch_dir}
388 cat %{SOURCE10} > %{defconfig}
391 cat %{SOURCE11} > %{defconfig}
393 sed -i "s:CONFIG_LOCALVERSION=\"\":CONFIG_LOCALVERSION=\"-%{localversion}\":" %{defconfig}
395 ln -sf %{defconfig} .config
399 TARGETOBJ=%{targetobj} \
400 %{?with_verbose:V=1} \
405 TARGETOBJ=%{targetobj} \
406 %{?with_verbose:V=1} \
410 rm -rf $RPM_BUILD_ROOT
411 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
413 %{?with_verbose:V=1} \
415 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
416 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
417 KERNELRELEASE=%{kernel_release}
419 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
421 # create directories which may be missing, to simplyfy %files
422 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
424 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
425 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
426 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
428 # no point embed content for %ghost files. empty them
436 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
437 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
441 install -d $RPM_BUILD_ROOT/boot
442 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
443 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
444 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
445 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
448 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
450 %if "%{_target_base_arch}" != "%{_host_base_arch}"
451 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
455 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
458 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
460 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
461 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
463 rm -f $RPM_BUILD_ROOT/COPYING
466 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
467 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
468 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
469 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
470 # copy arch/x86/include/generated
471 for dir in $(cd %{objdir} && find arch -name generated -type d); do
472 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
473 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
476 # version.h location changed in 3.7, but a lot of external modules don't know about it
477 # add a compatibility symlink
478 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
480 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
481 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
483 # collect module-build files and directories
484 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
486 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
487 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
490 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
493 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
495 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
497 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
498 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
502 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
503 install -d $RPM_BUILD_ROOT%{_docdir}
504 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
506 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
507 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
508 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
509 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
511 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
515 rm -rf $RPM_BUILD_ROOT
518 if [ -x /sbin/new-kernel-pkg ]; then
519 /sbin/new-kernel-pkg --remove %{kernel_release}
523 %depmod %{kernel_release}
527 if [ -x /sbin/dracut ]; then
528 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
531 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
532 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-yes})" = "yes" ]; then
533 /sbin/update-grub >/dev/null
538 %depmod %{kernel_release}
541 %depmod %{kernel_release}
544 %depmod %{kernel_release}
547 %depmod %{kernel_release}
550 %depmod %{kernel_release}
553 %depmod %{kernel_release}
556 %depmod %{kernel_release}
559 %depmod %{kernel_release}
562 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
565 if [ "$1" = "0" ]; then
566 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
567 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
568 rm -f %{_prefix}/src/linux%{_alt_kernel}
573 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
574 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
575 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
577 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
578 if [ "$1" = 0 ]; then
579 rm -f /lib/modules/%{kernel_release}/{build,source}
583 %defattr(644,root,root,755)
584 /boot/vmlinuz-%{kernel_release}
585 /boot/System.map-%{kernel_release}
586 /boot/config-%{kernel_release}
587 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
588 /lib/firmware/%{kernel_release}
590 %dir /lib/modules/%{kernel_release}
591 %dir /lib/modules/%{kernel_release}/kernel
592 /lib/modules/%{kernel_release}/kernel/arch
593 /lib/modules/%{kernel_release}/kernel/crypto
594 /lib/modules/%{kernel_release}/kernel/drivers
595 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
596 /lib/modules/%{kernel_release}/kernel/fs
597 /lib/modules/%{kernel_release}/kernel/kernel
598 /lib/modules/%{kernel_release}/kernel/lib
599 /lib/modules/%{kernel_release}/kernel/net
600 /lib/modules/%{kernel_release}/kernel/mm
601 %dir /lib/modules/%{kernel_release}/kernel/sound
602 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
603 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
604 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
605 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
606 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
607 %dir /lib/modules/%{kernel_release}/misc
608 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
609 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
610 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
611 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
612 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
613 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
614 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
615 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
616 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
617 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
618 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
619 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
620 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
621 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
622 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
623 /lib/modules/%{kernel_release}/kernel/security
624 /lib/modules/%{kernel_release}/kernel/virt
626 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
629 /lib/modules/%{kernel_release}/modules.order
630 /lib/modules/%{kernel_release}/modules.builtin*
632 # rest modules.* are ghost (regenerated by post depmod -a invocation)
633 %ghost /lib/modules/%{kernel_release}/modules.alias
634 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
635 %ghost /lib/modules/%{kernel_release}/modules.dep
636 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
637 %ghost /lib/modules/%{kernel_release}/modules.devname
638 %ghost /lib/modules/%{kernel_release}/modules.softdep
639 %ghost /lib/modules/%{kernel_release}/modules.symbols
640 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
642 # symlinks pointing to kernelsrcdir
643 %ghost /lib/modules/%{kernel_release}/build
644 %ghost /lib/modules/%{kernel_release}/source
647 %defattr(644,root,root,755)
648 /boot/vmlinux-%{kernel_release}
651 %defattr(644,root,root,755)
652 /lib/modules/%{kernel_release}/kernel/drivers/gpu
655 %defattr(644,root,root,755)
656 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
657 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
658 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
659 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
660 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
661 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
662 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
663 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
664 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
665 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
666 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
667 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
668 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
669 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
670 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
673 %defattr(644,root,root,755)
674 /lib/modules/%{kernel_release}/kernel/sound
675 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
676 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
677 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
678 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
679 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
680 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
681 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
684 %defattr(644,root,root,755)
685 /lib/modules/%{kernel_release}/kernel/sound/oss
687 %files headers -f files.headers_exclude_kbuild
688 %defattr(644,root,root,755)
689 %dir %{_kernelsrcdir}
690 %{_kernelsrcdir}/include
691 %dir %{_kernelsrcdir}/arch
692 %dir %{_kernelsrcdir}/arch/[!K]*
693 %{_kernelsrcdir}/arch/*/include
694 %dir %{_kernelsrcdir}/security
695 %dir %{_kernelsrcdir}/security/selinux
696 %{_kernelsrcdir}/security/selinux/include
697 %{_kernelsrcdir}/.config
698 %{_kernelsrcdir}/Module.symvers
700 %files module-build -f files.mb_include_modulebuild_and_dirs
701 %defattr(644,root,root,755)
702 %exclude %dir %{_kernelsrcdir}/arch/um
703 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
704 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
705 %{_kernelsrcdir}/drivers/lguest/lg.h
706 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
707 %{_kernelsrcdir}/kernel/bounds.c
708 %{_kernelsrcdir}/scripts/basic/*.c
709 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
710 %{_kernelsrcdir}/scripts/kconfig/*.in
711 %{_kernelsrcdir}/scripts/kconfig/*_shipped
712 %{_kernelsrcdir}/scripts/kconfig/*.pl
713 %{_kernelsrcdir}/scripts/kconfig/*.glade
714 %{_kernelsrcdir}/scripts/kconfig/*.gperf
715 %{_kernelsrcdir}/scripts/kconfig/*.cc
716 %{_kernelsrcdir}/scripts/kconfig/*.y
717 %{_kernelsrcdir}/scripts/kconfig/*.l
718 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
719 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
720 %{_kernelsrcdir}/scripts/kconfig/l*.h
721 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
722 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
723 %{_kernelsrcdir}/scripts/kconfig/lxdialog
724 %{_kernelsrcdir}/scripts/mod/*.c
725 %{_kernelsrcdir}/scripts/mod/modpost.h
726 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
727 %{_kernelsrcdir}/scripts/mkmakefile
728 %{_kernelsrcdir}/scripts/module-common.lds
729 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
730 %{_kernelsrcdir}/scripts/*.c
731 %{_kernelsrcdir}/scripts/*.h
732 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
733 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
734 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
735 %exclude %dir %{_kernelsrcdir}/security
736 %exclude %dir %{_kernelsrcdir}/security/selinux
740 %defattr(644,root,root,755)
741 %dir %{_docdir}/%{name}-%{version}
743 %{_docdir}/%{name}-%{version}/[!jkz]*
744 %{_docdir}/%{name}-%{version}/[jkz]*.txt
745 %{_docdir}/%{name}-%{version}/kbuild
746 %{_docdir}/%{name}-%{version}/kdump
747 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
748 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
749 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
753 %files source -f files.source_exclude_modulebuild_and_dirs
754 %defattr(644,root,root,755)
755 %{_kernelsrcdir}/arch/*/[!Mik]*
756 %{_kernelsrcdir}/arch/*/kernel/[!M]*
757 %{_kernelsrcdir}/arch/ia64/install.sh
758 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
759 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
760 %{_kernelsrcdir}/arch/m68k/install.sh
761 %{_kernelsrcdir}/arch/parisc/install.sh
762 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
763 %{_kernelsrcdir}/arch/arm/kvm
764 %{_kernelsrcdir}/arch/arm64/kvm
765 %{_kernelsrcdir}/arch/mips/kvm
766 %{_kernelsrcdir}/arch/powerpc/kvm
767 %{_kernelsrcdir}/arch/s390/kvm
768 %{_kernelsrcdir}/arch/x86/kvm
769 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
770 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
771 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
772 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
773 %{_kernelsrcdir}/block
774 %{_kernelsrcdir}/certs
775 %{_kernelsrcdir}/crypto
776 %{_kernelsrcdir}/drivers
777 %{_kernelsrcdir}/firmware
779 %{_kernelsrcdir}/init
781 %{_kernelsrcdir}/kernel
782 %exclude %{_kernelsrcdir}/kernel/bounds.c
786 %{_kernelsrcdir}/virt
787 %{_kernelsrcdir}/samples
788 %{_kernelsrcdir}/scripts/*
789 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
790 %exclude %{_kernelsrcdir}/scripts/Makefile*
791 %exclude %{_kernelsrcdir}/scripts/basic
792 %exclude %{_kernelsrcdir}/scripts/kconfig
793 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
794 %exclude %{_kernelsrcdir}/scripts/mkmakefile
795 %exclude %{_kernelsrcdir}/scripts/mod
796 %exclude %{_kernelsrcdir}/scripts/module-common.lds
797 %exclude %{_kernelsrcdir}/scripts/setlocalversion
798 %exclude %{_kernelsrcdir}/scripts/*.c
799 %exclude %{_kernelsrcdir}/scripts/*.h
800 %exclude %{_kernelsrcdir}/scripts/*.sh
801 %exclude %dir %{_kernelsrcdir}/scripts/selinux
802 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
803 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
804 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
805 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
806 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
807 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
808 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
809 %{_kernelsrcdir}/sound
810 %{_kernelsrcdir}/security
811 %exclude %{_kernelsrcdir}/security/selinux/include
812 %{_kernelsrcdir}/tools/*
814 %{_kernelsrcdir}/COPYING
815 %{_kernelsrcdir}/CREDITS
816 %{_kernelsrcdir}/MAINTAINERS
817 %{_kernelsrcdir}/README
818 %{_kernelsrcdir}/REPORTING-BUGS