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 5.10-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/v5.x/linux-%{basever}.tar.xz
30 # Source0-md5: 753adc474bf799d569dec4f165ed92c3
31 %if "%{postver}" != "0"
32 Source1: http://www.kernel.org/pub/linux/kernel/v5.x/patch-%{version}.xz
33 # Source1-md5: 08c72ea21b9ced650622874ee15bb8e3
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: gcc-plugin-devel
50 BuildRequires: xz >= 1:4.999.7
52 BuildRequires: hostname
54 BuildRequires: openssl-devel
55 BuildRequires: perl-base
56 BuildRequires: rpm >= 4.5-74
57 BuildRequires: rpmbuild(macros) >= 1.652
58 Requires(post): coreutils
59 Requires(post): dracut
60 Requires(post): kmod >= 12-2
61 Requires: /sbin/depmod
64 Requires: kmod >= 12-2
66 Requires: cpuinfo(pae)
70 Suggests: linux-firmware
71 Provides: %{name}(netfilter) = 20070806
72 Provides: %{name}(vermagic) = %{kernel_release}
73 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
74 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
75 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
76 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
77 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
78 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
79 Obsoletes: kernel-firmware
80 Obsoletes: kernel-misc-acer_acpi
81 Obsoletes: kernel-misc-fuse
82 Obsoletes: kernel-misc-uvc
83 Obsoletes: kernel-modules
84 Obsoletes: kernel-net-ar81
85 Obsoletes: kernel-net-hostap
86 Obsoletes: kernel-net-ieee80211
87 Obsoletes: kernel-net-ipp2p
88 Obsoletes: kernel-net-rt61
90 Conflicts: e2fsprogs < 1.29
91 Conflicts: isdn4k-utils < 3.1pre1
92 Conflicts: jfsutils < 1.1.3
93 Conflicts: linux-firmware < 20120720
94 Conflicts: lvm2 < 2.02.40
95 Conflicts: module-init-tools < 3.16
96 Conflicts: nfs-utils < 1.0.5
97 Conflicts: oprofile < 0.9
98 Conflicts: ppp < 1:2.4.0
99 Conflicts: procps < 3.2.0
100 Conflicts: quota-tools < 3.09
101 Conflicts: reiserfsprogs < 3.6.3
102 Conflicts: rpm < 4.4.2-0.2
103 Conflicts: udev < 1:081
104 Conflicts: util-linux < 2.10o
105 Conflicts: xfsprogs < 2.6.0
106 ExclusiveArch: i686 x86_64
108 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
111 %define target_arch_dir x86
113 %define target_arch_dir %{_target_base_arch}
116 %define defconfig arch/%{target_arch_dir}/defconfig
118 # No ELF objects there to strip (skips processing 27k files)
119 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
120 %define _noautochrpath .*%{_kernelsrcdir}/.*
121 %define _enable_debug_packages 0
123 %define initrd_dir /boot
125 %define topdir %{_builddir}/%{name}-%{version}
126 %define srcdir %{topdir}/linux-%{basever}
127 %define objdir %{topdir}/%{targetobj}
128 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
130 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
132 %if "%{_target_base_arch}" != "%{_host_base_arch}"
133 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-tld-linux-
134 %define DepMod /bin/true
136 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
137 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
138 %define DepMod /sbin/depmod
142 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
143 %define DepMod /sbin/depmod
145 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
148 This package contains the Linux kernel that is used to boot and run
149 your system. It contains few device drivers for specific hardware.
150 Most hardware is instead supported by modules loaded after booting.
152 %description -l de.UTF-8
153 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
154 Linux-Betriebssystems. Der Kernel ist für grundliegende
155 Systemfunktionen verantwortlich: Speicherreservierung,
156 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
158 %description -l fr.UTF-8
159 Le package kernel contient le kernel linux (vmlinuz), la partie
160 centrale d'un système d'exploitation Linux. Le noyau traite les
161 fonctions basiques d'un système d'exploitation: allocation mémoire,
162 allocation de process, entrée/sortie de peripheriques, etc.
164 %description -l pl.UTF-8
165 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
166 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
167 się w komputerze, takiego jak sterowniki dysków itp.
170 Summary: vmlinux - uncompressed kernel image
171 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
172 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
174 Obsoletes: kernel-smp-vmlinux
177 vmlinux - uncompressed kernel image.
179 %description vmlinux -l de.UTF-8
180 vmlinux - dekompressiertes Kernel Bild.
182 %description vmlinux -l pl.UTF-8
183 vmlinux - rozpakowany obraz jądra.
186 Summary: DRM kernel modules
187 Summary(de.UTF-8): DRM Kernel Treiber
188 Summary(pl.UTF-8): Sterowniki DRM
190 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
191 Requires: %{name} = %{epoch}:%{version}-%{release}
192 Obsoletes: kernel-smp-drm
198 %description drm -l de.UTF-8
201 %description drm -l pl.UTF-8
205 Summary: PCMCIA modules
206 Summary(de.UTF-8): PCMCIA Module
207 Summary(pl.UTF-8): Moduły PCMCIA
209 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
210 Requires: %{name} = %{epoch}:%{version}-%{release}
211 Obsoletes: kernel-smp-pcmcia
212 Conflicts: pcmcia-cs < 3.1.21
213 Conflicts: pcmciautils < 004
219 %description pcmcia -l de.UTF-8
222 %description pcmcia -l pl.UTF-8
226 Summary: ALSA kernel modules
227 Summary(de.UTF-8): ALSA Kernel Module
228 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
230 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
231 Requires: %{name} = %{epoch}:%{version}-%{release}
232 Obsoletes: kernel-smp-sound-alsa
235 %description sound-alsa
236 ALSA (Advanced Linux Sound Architecture) sound drivers.
238 %description sound-alsa -l de.UTF-8
239 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
241 %description sound-alsa -l pl.UTF-8
242 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
245 Summary: Header files for the Linux kernel
246 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
247 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
248 Group: Development/Building
249 Provides: %{name}-headers(netfilter) = 20070806
253 These are the C header files for the Linux kernel, which define
254 structures and constants that are needed when rebuilding the kernel or
255 building kernel modules.
257 %description headers -l de.UTF-8
258 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
259 Strukturen und Konstante beinhalten, die beim rekompilieren des
260 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
262 %description headers -l pl.UTF-8
263 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
264 oraz budowania modułów jądra.
266 %package module-build
267 Summary: Development files for building kernel modules
268 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
269 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
270 Group: Development/Building
271 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
272 Conflicts: rpmbuild(macros) < 1.652
275 %description module-build
276 Development files from kernel source tree needed to build Linux kernel
277 modules from external packages.
279 %description module-build -l de.UTF-8
280 Development Dateien des Linux-Kernels die beim kompilieren externer
281 Kernel Module gebraucht werden.
283 %description module-build -l pl.UTF-8
284 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
285 Linuksa z zewnętrznych pakietów.
288 Summary: Kernel source tree
289 Summary(de.UTF-8): Der Kernel Quelltext
290 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
291 Group: Development/Building
292 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
296 This is the source code for the Linux kernel. You can build a custom
297 kernel that is better tuned to your particular hardware.
299 %description source -l de.UTF-8
300 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
301 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
302 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
303 im Kernel-Source definiert sind. Die Source-Dateien können auch
304 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
305 Hardware ausgerichtet ist.
307 %description source -l fr.UTF-8
308 Le package pour le kernel-source contient le code source pour le noyau
309 linux. Ces sources sont nécessaires pour compiler la plupart des
310 programmes C, car il dépend de constantes définies dans le code
311 source. Les sources peuvent être aussi utilisée pour compiler un noyau
312 personnalisé pour avoir de meilleures performances sur des matériels
315 %description source -l pl.UTF-8
316 Pakiet zawiera kod źródłowy jądra systemu.
319 Summary: Kernel documentation
320 Summary(de.UTF-8): Kernel Dokumentation
321 Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
326 This is the documentation for the Linux kernel, as found in
327 /usr/src/linux/Documentation directory.
329 %description doc -l de.UTF-8
330 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
331 Verzeichniss vorgefunden werden kann.
333 %description doc -l pl.UTF-8
334 Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
335 /usr/src/linux/Documentation.
339 ln -s %{SOURCE2} kernel-module-build.pl
340 ln -s %{SOURCE3} Makefile
343 %if "%{postver}" != "0"
344 %{__xz} -dc %{SOURCE1} | patch -p1 -s
347 # Fix EXTRAVERSION in main Makefile
348 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:-%{alt_kernel}}#g' Makefile
350 # cleanup backups after patching
351 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
353 find -name '*.py' -print0 | \
354 xargs -0 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
355 -e '1s,/usr/bin/env python$,%{__python},' \
356 -e '1s,/usr/bin/env python3$,%{__python3},'
358 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
359 -e '1s,/usr/bin/env python$,%{__python},' \
360 -e '1s,/usr/bin/env python3$,%{__python3},' \
361 drivers/staging/greybus/tools/lbtest \
362 scripts/bloat-o-meter \
364 scripts/jobserver-exec \
366 tools/hv/vmbus_testing \
367 tools/kvm/kvm_stat/kvm_stat \
368 tools/testing/selftests/exec/binfmt_script
370 find -name '*.pl' -print0 | \
371 xargs -0 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
373 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
374 scripts/dtc/dt_to_config \
377 scripts/documentation-file-ref-check \
378 scripts/get_dvb_firmware \
380 scripts/sphinx-pre-install \
383 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\\1,' \
386 %{__sed} -i -e '1s,/usr/bin/awk,/bin/awk,' \
387 scripts/ld-version.sh
391 cat > %{targetobj}.mk <<'EOF'
392 # generated by %{name}.spec
393 KERNELSRC := %{srcdir}
394 KERNELOUTPUT := %{objdir}
396 SRCARCH := %{target_arch_dir}
397 ARCH := %{_target_base_arch}
398 Q := %{!?with_verbose:@}
399 MAKE_OPTS := %{MakeOpts}
400 DEFCONFIG := %{defconfig}
404 install -d arch/%{target_arch_dir}
406 cat %{SOURCE10} > %{defconfig}
409 cat %{SOURCE11} > %{defconfig}
411 sed -i "s:CONFIG_LOCALVERSION=\"\":CONFIG_LOCALVERSION=\"-%{localversion}\":" %{defconfig}
413 ln -sf %{defconfig} .config
417 TARGETOBJ=%{targetobj} \
418 %{?with_verbose:V=1} \
423 TARGETOBJ=%{targetobj} \
424 %{?with_verbose:V=1} \
428 rm -rf $RPM_BUILD_ROOT
429 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install \
431 %{?with_verbose:V=1} \
433 mod_compress_cmd=true \
434 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
435 KERNELRELEASE=%{kernel_release}
437 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
439 # create directories which may be missing, to simplyfy %files
440 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
442 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
443 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
444 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
446 # no point embed content for %ghost files. empty them
454 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
455 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
459 install -d $RPM_BUILD_ROOT/boot
460 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
461 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
462 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
463 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
466 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
468 %if "%{_target_base_arch}" != "%{_host_base_arch}"
469 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
473 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
476 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
478 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
479 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
481 rm -f $RPM_BUILD_ROOT/COPYING
484 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
485 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
486 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
487 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
488 # copy arch/x86/include/generated
489 for dir in $(cd %{objdir} && find arch -name generated -type d); do
490 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
491 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
494 # version.h location changed in 3.7, but a lot of external modules don't know about it
495 # add a compatibility symlink
496 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
498 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
499 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
501 # collect module-build files and directories
502 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
504 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
505 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
508 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
511 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
513 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
515 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
516 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
520 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
521 install -d $RPM_BUILD_ROOT%{_docdir}
522 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
524 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
525 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
526 #%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
527 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
529 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
533 rm -rf $RPM_BUILD_ROOT
536 if [ -x /sbin/new-kernel-pkg ]; then
537 /sbin/new-kernel-pkg --remove %{kernel_release}
541 %depmod %{kernel_release}
545 if [ -x /sbin/dracut ]; then
546 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
549 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
550 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-yes})" = "yes" ]; then
551 /sbin/update-grub >/dev/null
556 %depmod %{kernel_release}
559 %depmod %{kernel_release}
562 %depmod %{kernel_release}
565 %depmod %{kernel_release}
568 %depmod %{kernel_release}
571 %depmod %{kernel_release}
574 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
577 if [ "$1" = "0" ]; then
578 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
579 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
580 rm -f %{_prefix}/src/linux%{_alt_kernel}
585 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
586 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
587 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
589 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
590 if [ "$1" = 0 ]; then
591 rm -f /lib/modules/%{kernel_release}/{build,source}
595 %defattr(644,root,root,755)
596 /boot/vmlinuz-%{kernel_release}
597 /boot/System.map-%{kernel_release}
598 /boot/config-%{kernel_release}
599 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
601 %dir /lib/modules/%{kernel_release}
602 %dir /lib/modules/%{kernel_release}/kernel
603 /lib/modules/%{kernel_release}/kernel/arch
604 /lib/modules/%{kernel_release}/kernel/block
605 /lib/modules/%{kernel_release}/kernel/crypto
606 /lib/modules/%{kernel_release}/kernel/drivers
607 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
608 /lib/modules/%{kernel_release}/kernel/fs
609 /lib/modules/%{kernel_release}/kernel/kernel
610 /lib/modules/%{kernel_release}/kernel/lib
611 /lib/modules/%{kernel_release}/kernel/net
612 /lib/modules/%{kernel_release}/kernel/mm
613 %dir /lib/modules/%{kernel_release}/kernel/sound
614 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
615 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
616 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
617 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
618 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
619 %dir /lib/modules/%{kernel_release}/misc
620 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
621 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
622 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
623 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
624 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
625 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
626 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
627 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
628 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
629 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
630 /lib/modules/%{kernel_release}/kernel/security
631 /lib/modules/%{kernel_release}/kernel/virt
633 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
636 /lib/modules/%{kernel_release}/modules.order
637 /lib/modules/%{kernel_release}/modules.builtin*
639 # rest modules.* are ghost (regenerated by post depmod -a invocation)
640 %ghost /lib/modules/%{kernel_release}/modules.alias
641 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
642 %ghost /lib/modules/%{kernel_release}/modules.dep
643 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
644 %ghost /lib/modules/%{kernel_release}/modules.devname
645 %ghost /lib/modules/%{kernel_release}/modules.softdep
646 %ghost /lib/modules/%{kernel_release}/modules.symbols
647 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
649 # symlinks pointing to kernelsrcdir
650 %ghost /lib/modules/%{kernel_release}/build
651 %ghost /lib/modules/%{kernel_release}/source
654 %defattr(644,root,root,755)
655 /boot/vmlinux-%{kernel_release}
658 %defattr(644,root,root,755)
659 /lib/modules/%{kernel_release}/kernel/drivers/gpu
662 %defattr(644,root,root,755)
663 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
664 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
665 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
666 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
667 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
668 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
669 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
670 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
671 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
672 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
675 %defattr(644,root,root,755)
676 /lib/modules/%{kernel_release}/kernel/sound
677 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
678 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
679 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
680 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
681 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
682 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
684 %files headers -f files.headers_exclude_kbuild
685 %defattr(644,root,root,755)
686 %dir %{_kernelsrcdir}
687 %{_kernelsrcdir}/include
688 %dir %{_kernelsrcdir}/arch
689 %dir %{_kernelsrcdir}/arch/[!K]*
690 %{_kernelsrcdir}/arch/*/include
691 %dir %{_kernelsrcdir}/security
692 %dir %{_kernelsrcdir}/security/selinux
693 %{_kernelsrcdir}/security/selinux/include
694 %dir %{_kernelsrcdir}/usr
695 %dir %{_kernelsrcdir}/usr/include
696 %{_kernelsrcdir}/.config
697 %{_kernelsrcdir}/Module.symvers
699 %files module-build -f files.mb_include_modulebuild_and_dirs
700 %defattr(644,root,root,755)
701 %exclude %dir %{_kernelsrcdir}/arch/um
702 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
703 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
704 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
705 %{_kernelsrcdir}/kernel/bounds.c
706 %{_kernelsrcdir}/scripts/basic/*.c
707 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
708 %{_kernelsrcdir}/scripts/kconfig/*.pl
709 %{_kernelsrcdir}/scripts/kconfig/*.glade
710 %{_kernelsrcdir}/scripts/kconfig/*.cc
711 %{_kernelsrcdir}/scripts/kconfig/*.y
712 %{_kernelsrcdir}/scripts/kconfig/*.l
713 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
714 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
715 %{_kernelsrcdir}/scripts/kconfig/l*.h
716 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.c
717 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.h
718 %{_kernelsrcdir}/scripts/kconfig/preprocess.c
719 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.c
720 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.h
721 %{_kernelsrcdir}/scripts/kconfig/lxdialog
722 %{_kernelsrcdir}/scripts/mod/*.c
723 %{_kernelsrcdir}/scripts/mod/modpost.h
724 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
725 %{_kernelsrcdir}/scripts/mkmakefile
726 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
727 %{_kernelsrcdir}/scripts/*.c
728 %{_kernelsrcdir}/scripts/*.h
729 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
730 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
731 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
732 %exclude %dir %{_kernelsrcdir}/security
733 %exclude %dir %{_kernelsrcdir}/security/selinux
737 %defattr(644,root,root,755)
738 %dir %{_docdir}/%{name}-%{version}
740 %{_docdir}/%{name}-%{version}/[!jkz]*
741 %{_docdir}/%{name}-%{version}/kbuild
742 %{_docdir}/%{name}-%{version}/kernel-hacking
746 %files source -f files.source_exclude_modulebuild_and_dirs
747 %defattr(644,root,root,755)
748 %{_kernelsrcdir}/arch/*/[!Mik]*
749 %{_kernelsrcdir}/arch/*/kernel/[!M]*
750 %{_kernelsrcdir}/arch/ia64/install.sh
751 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
752 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
753 %{_kernelsrcdir}/arch/m68k/install.sh
754 %{_kernelsrcdir}/arch/parisc/install.sh
755 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
756 %{_kernelsrcdir}/arch/arm64/kvm
757 %{_kernelsrcdir}/arch/mips/kvm
758 %{_kernelsrcdir}/arch/powerpc/kexec
759 %{_kernelsrcdir}/arch/powerpc/kvm
760 %{_kernelsrcdir}/arch/s390/kvm
761 %{_kernelsrcdir}/arch/x86/kvm
762 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
763 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
764 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
765 %{_kernelsrcdir}/block
766 %{_kernelsrcdir}/certs
767 %{_kernelsrcdir}/crypto
768 %{_kernelsrcdir}/drivers
770 %{_kernelsrcdir}/init
772 %{_kernelsrcdir}/kernel
773 %exclude %{_kernelsrcdir}/kernel/bounds.c
777 %{_kernelsrcdir}/virt
778 %{_kernelsrcdir}/samples
779 %{_kernelsrcdir}/scripts/*
780 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
781 %exclude %{_kernelsrcdir}/scripts/Makefile*
782 %exclude %{_kernelsrcdir}/scripts/basic
783 %exclude %{_kernelsrcdir}/scripts/kconfig
784 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
785 %exclude %{_kernelsrcdir}/scripts/mkmakefile
786 %exclude %{_kernelsrcdir}/scripts/mod
787 %exclude %{_kernelsrcdir}/scripts/setlocalversion
788 %exclude %{_kernelsrcdir}/scripts/*.c
789 %exclude %{_kernelsrcdir}/scripts/*.h
790 %exclude %{_kernelsrcdir}/scripts/*.sh
791 %exclude %dir %{_kernelsrcdir}/scripts/selinux
792 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
793 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
794 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
795 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
796 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
797 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
798 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
799 %{_kernelsrcdir}/sound
800 %{_kernelsrcdir}/security
801 %exclude %{_kernelsrcdir}/security/selinux/include
802 %{_kernelsrcdir}/tools/*
804 %{_kernelsrcdir}/COPYING
805 %{_kernelsrcdir}/CREDITS
806 %{_kernelsrcdir}/LICENSES
807 %{_kernelsrcdir}/MAINTAINERS
808 %{_kernelsrcdir}/README