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.15
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: 071d49ff4e020d58c04f9f3f76d3b594
31 %if "%{postver}" != "0"
32 Source1: http://www.kernel.org/pub/linux/kernel/v5.x/patch-%{version}.xz
33 # Source1-md5: 476b156815103c9eb936a03c130d3874
36 Source2: kernel-module-build.pl
39 Source10: kernel-x86.config
40 Source11: kernel-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)
69 Suggests: linux-firmware
70 Provides: %{name}(netfilter) = 20070806
71 Provides: %{name}(vermagic) = %{kernel_release}
72 Obsoletes: kernel-firmware
73 Obsoletes: kernel-modules
74 Conflicts: e2fsprogs < 1.29
75 Conflicts: isdn4k-utils < 3.1pre1
76 Conflicts: jfsutils < 1.1.3
77 Conflicts: linux-firmware < 20120720
78 Conflicts: lvm2 < 2.02.40
79 Conflicts: module-init-tools < 3.16
80 Conflicts: nfs-utils < 1.0.5
81 Conflicts: oprofile < 0.9
82 Conflicts: ppp < 1:2.4.0
83 Conflicts: procps < 3.2.0
84 Conflicts: quota-tools < 3.09
85 Conflicts: reiserfsprogs < 3.6.3
86 Conflicts: rpm < 4.4.2-0.2
87 Conflicts: udev < 1:081
88 Conflicts: util-linux < 2.10o
89 Conflicts: xfsprogs < 2.6.0
90 ExclusiveArch: i686 x86_64
92 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95 %define target_arch_dir x86
97 %define target_arch_dir %{_target_base_arch}
100 %define defconfig arch/%{target_arch_dir}/defconfig
102 # No ELF objects there to strip (skips processing 27k files)
103 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
104 %define _noautochrpath .*%{_kernelsrcdir}/.*
105 %define _enable_debug_packages 0
107 %define initrd_dir /boot
109 %define topdir %{_builddir}/%{name}-%{version}
110 %define srcdir %{topdir}/linux-%{basever}
111 %define objdir %{topdir}/%{targetobj}
112 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
114 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
116 %if "%{_target_base_arch}" != "%{_host_base_arch}"
117 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-tld-linux-
118 %define DepMod /bin/true
120 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
121 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
122 %define DepMod /sbin/depmod
126 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
127 %define DepMod /sbin/depmod
129 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
132 This package contains the Linux kernel that is used to boot and run
133 your system. It contains few device drivers for specific hardware.
134 Most hardware is instead supported by modules loaded after booting.
136 %description -l de.UTF-8
137 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
138 Linux-Betriebssystems. Der Kernel ist für grundliegende
139 Systemfunktionen verantwortlich: Speicherreservierung,
140 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
142 %description -l fr.UTF-8
143 Le package kernel contient le kernel linux (vmlinuz), la partie
144 centrale d'un système d'exploitation Linux. Le noyau traite les
145 fonctions basiques d'un système d'exploitation: allocation mémoire,
146 allocation de process, entrée/sortie de peripheriques, etc.
148 %description -l pl.UTF-8
149 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
150 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
151 się w komputerze, takiego jak sterowniki dysków itp.
154 Summary: vmlinux - uncompressed kernel image
155 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
156 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
158 Obsoletes: kernel-smp-vmlinux
161 vmlinux - uncompressed kernel image.
163 %description vmlinux -l de.UTF-8
164 vmlinux - dekompressiertes Kernel Bild.
166 %description vmlinux -l pl.UTF-8
167 vmlinux - rozpakowany obraz jądra.
170 Summary: DRM kernel modules
171 Summary(de.UTF-8): DRM Kernel Treiber
172 Summary(pl.UTF-8): Sterowniki DRM
174 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
175 Requires: %{name} = %{epoch}:%{version}-%{release}
176 Obsoletes: kernel-smp-drm
182 %description drm -l de.UTF-8
185 %description drm -l pl.UTF-8
189 Summary: PCMCIA modules
190 Summary(de.UTF-8): PCMCIA Module
191 Summary(pl.UTF-8): Moduły PCMCIA
193 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
194 Requires: %{name} = %{epoch}:%{version}-%{release}
195 Obsoletes: kernel-smp-pcmcia
196 Conflicts: pcmcia-cs < 3.1.21
197 Conflicts: pcmciautils < 004
203 %description pcmcia -l de.UTF-8
206 %description pcmcia -l pl.UTF-8
210 Summary: ALSA kernel modules
211 Summary(de.UTF-8): ALSA Kernel Module
212 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
214 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
215 Requires: %{name} = %{epoch}:%{version}-%{release}
216 Obsoletes: kernel-smp-sound-alsa
219 %description sound-alsa
220 ALSA (Advanced Linux Sound Architecture) sound drivers.
222 %description sound-alsa -l de.UTF-8
223 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
225 %description sound-alsa -l pl.UTF-8
226 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
229 Summary: Header files for the Linux kernel
230 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
231 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
232 Group: Development/Building
233 Provides: %{name}-headers(netfilter) = 20070806
237 These are the C header files for the Linux kernel, which define
238 structures and constants that are needed when rebuilding the kernel or
239 building kernel modules.
241 %description headers -l de.UTF-8
242 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
243 Strukturen und Konstante beinhalten, die beim rekompilieren des
244 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
246 %description headers -l pl.UTF-8
247 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
248 oraz budowania modułów jądra.
250 %package module-build
251 Summary: Development files for building kernel modules
252 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
253 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
254 Group: Development/Building
255 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
256 Conflicts: rpmbuild(macros) < 1.652
259 %description module-build
260 Development files from kernel source tree needed to build Linux kernel
261 modules from external packages.
263 %description module-build -l de.UTF-8
264 Development Dateien des Linux-Kernels die beim kompilieren externer
265 Kernel Module gebraucht werden.
267 %description module-build -l pl.UTF-8
268 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
269 Linuksa z zewnętrznych pakietów.
272 Summary: Kernel source tree
273 Summary(de.UTF-8): Der Kernel Quelltext
274 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
275 Group: Development/Building
276 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
280 This is the source code for the Linux kernel. You can build a custom
281 kernel that is better tuned to your particular hardware.
283 %description source -l de.UTF-8
284 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
285 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
286 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
287 im Kernel-Source definiert sind. Die Source-Dateien können auch
288 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
289 Hardware ausgerichtet ist.
291 %description source -l fr.UTF-8
292 Le package pour le kernel-source contient le code source pour le noyau
293 linux. Ces sources sont nécessaires pour compiler la plupart des
294 programmes C, car il dépend de constantes définies dans le code
295 source. Les sources peuvent être aussi utilisée pour compiler un noyau
296 personnalisé pour avoir de meilleures performances sur des matériels
299 %description source -l pl.UTF-8
300 Pakiet zawiera kod źródłowy jądra systemu.
303 Summary: Kernel documentation
304 Summary(de.UTF-8): Kernel Dokumentation
305 Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
310 This is the documentation for the Linux kernel, as found in
311 /usr/src/linux/Documentation directory.
313 %description doc -l de.UTF-8
314 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
315 Verzeichniss vorgefunden werden kann.
317 %description doc -l pl.UTF-8
318 Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
319 /usr/src/linux/Documentation.
323 ln -s %{SOURCE2} kernel-module-build.pl
324 ln -s %{SOURCE3} Makefile
327 %if "%{postver}" != "0"
328 %{__xz} -dc %{SOURCE1} | patch -p1 -s
331 # Fix EXTRAVERSION in main Makefile
332 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:-%{alt_kernel}}#g' Makefile
334 # cleanup backups after patching
335 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
337 find -name '*.py' -print0 | \
338 xargs -0 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
339 -e '1s,/usr/bin/env python$,%{__python},' \
340 -e '1s,/usr/bin/env python3$,%{__python3},'
342 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
343 -e '1s,/usr/bin/env python$,%{__python},' \
344 -e '1s,/usr/bin/env python3$,%{__python3},' \
345 drivers/staging/greybus/tools/lbtest \
346 scripts/bloat-o-meter \
348 scripts/jobserver-exec \
350 tools/hv/vmbus_testing \
351 tools/kvm/kvm_stat/kvm_stat \
352 tools/testing/selftests/exec/binfmt_script
354 find -name '*.pl' -print0 | \
355 xargs -0 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
357 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
358 scripts/dtc/dt_to_config \
361 scripts/documentation-file-ref-check \
362 scripts/get_dvb_firmware \
364 scripts/sphinx-pre-install \
367 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\\1,' \
370 %{__sed} -i -e '1s,/usr/bin/awk,/bin/awk,' \
371 scripts/ld-version.sh
375 cat > %{targetobj}.mk <<'EOF'
376 # generated by %{name}.spec
377 KERNELSRC := %{srcdir}
378 KERNELOUTPUT := %{objdir}
380 SRCARCH := %{target_arch_dir}
381 ARCH := %{_target_base_arch}
382 Q := %{!?with_verbose:@}
383 MAKE_OPTS := %{MakeOpts}
384 DEFCONFIG := %{defconfig}
388 install -d arch/%{target_arch_dir}
390 cat %{SOURCE10} > %{defconfig}
393 cat %{SOURCE11} > %{defconfig}
395 sed -i "s:CONFIG_LOCALVERSION=\"\":CONFIG_LOCALVERSION=\"-%{localversion}\":" %{defconfig}
397 ln -sf %{defconfig} .config
401 TARGETOBJ=%{targetobj} \
402 %{?with_verbose:V=1} \
407 TARGETOBJ=%{targetobj} \
408 %{?with_verbose:V=1} \
412 rm -rf $RPM_BUILD_ROOT
413 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install \
415 %{?with_verbose:V=1} \
417 mod_compress_cmd=true \
418 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
419 KERNELRELEASE=%{kernel_release}
421 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
423 # create directories which may be missing, to simplyfy %files
424 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
426 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
427 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
428 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
430 # no point embed content for %ghost files. empty them
438 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
439 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
443 install -d $RPM_BUILD_ROOT/boot
444 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
445 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
446 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
447 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
450 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
452 %if "%{_target_base_arch}" != "%{_host_base_arch}"
453 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
457 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
460 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
462 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
463 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
465 rm -f $RPM_BUILD_ROOT/COPYING
468 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
469 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
470 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
471 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
472 # copy arch/x86/include/generated
473 for dir in $(cd %{objdir} && find arch -name generated -type d); do
474 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
475 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
478 # version.h location changed in 3.7, but a lot of external modules don't know about it
479 # add a compatibility symlink
480 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
482 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
483 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
485 # collect module-build files and directories
486 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
488 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
489 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
492 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
495 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
497 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
499 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
500 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
504 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
505 install -d $RPM_BUILD_ROOT%{_docdir}
506 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
508 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
509 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
510 #%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
511 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
513 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
517 rm -rf $RPM_BUILD_ROOT
520 if [ -x /sbin/new-kernel-pkg ]; then
521 /sbin/new-kernel-pkg --remove %{kernel_release}
525 %depmod %{kernel_release}
529 if [ -x /sbin/dracut ]; then
530 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
533 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
534 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-yes})" = "yes" ]; then
535 /sbin/update-grub >/dev/null
540 %depmod %{kernel_release}
543 %depmod %{kernel_release}
546 %depmod %{kernel_release}
549 %depmod %{kernel_release}
552 %depmod %{kernel_release}
555 %depmod %{kernel_release}
558 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
561 if [ "$1" = "0" ]; then
562 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
563 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
564 rm -f %{_prefix}/src/linux%{_alt_kernel}
569 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
570 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
571 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
573 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
574 if [ "$1" = 0 ]; then
575 rm -f /lib/modules/%{kernel_release}/{build,source}
579 %defattr(644,root,root,755)
580 /boot/vmlinuz-%{kernel_release}
581 /boot/System.map-%{kernel_release}
582 /boot/config-%{kernel_release}
583 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
585 %dir /lib/modules/%{kernel_release}
586 %dir /lib/modules/%{kernel_release}/kernel
587 /lib/modules/%{kernel_release}/kernel/arch
588 /lib/modules/%{kernel_release}/kernel/block
589 /lib/modules/%{kernel_release}/kernel/crypto
590 /lib/modules/%{kernel_release}/kernel/drivers
591 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
592 /lib/modules/%{kernel_release}/kernel/fs
593 /lib/modules/%{kernel_release}/kernel/kernel
594 /lib/modules/%{kernel_release}/kernel/lib
595 /lib/modules/%{kernel_release}/kernel/net
596 /lib/modules/%{kernel_release}/kernel/mm
597 %dir /lib/modules/%{kernel_release}/kernel/sound
598 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
599 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
600 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
601 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
602 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
603 %dir /lib/modules/%{kernel_release}/misc
604 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
605 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
606 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
607 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
608 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
609 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
610 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
611 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
612 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
613 /lib/modules/%{kernel_release}/kernel/security
614 /lib/modules/%{kernel_release}/kernel/virt
616 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
619 /lib/modules/%{kernel_release}/modules.order
620 /lib/modules/%{kernel_release}/modules.builtin*
622 # rest modules.* are ghost (regenerated by post depmod -a invocation)
623 %ghost /lib/modules/%{kernel_release}/modules.alias
624 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
625 %ghost /lib/modules/%{kernel_release}/modules.dep
626 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
627 %ghost /lib/modules/%{kernel_release}/modules.devname
628 %ghost /lib/modules/%{kernel_release}/modules.softdep
629 %ghost /lib/modules/%{kernel_release}/modules.symbols
630 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
632 # symlinks pointing to kernelsrcdir
633 %ghost /lib/modules/%{kernel_release}/build
634 %ghost /lib/modules/%{kernel_release}/source
637 %defattr(644,root,root,755)
638 /boot/vmlinux-%{kernel_release}
641 %defattr(644,root,root,755)
642 /lib/modules/%{kernel_release}/kernel/drivers/gpu
645 %defattr(644,root,root,755)
646 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
647 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
648 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
649 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
650 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
651 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
652 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
653 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
654 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
657 %defattr(644,root,root,755)
658 /lib/modules/%{kernel_release}/kernel/sound
659 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
660 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
661 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
662 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
663 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
664 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
666 %files headers -f files.headers_exclude_kbuild
667 %defattr(644,root,root,755)
668 %dir %{_kernelsrcdir}
669 %{_kernelsrcdir}/include
670 %dir %{_kernelsrcdir}/arch
671 %dir %{_kernelsrcdir}/arch/[!K]*
672 %{_kernelsrcdir}/arch/*/include
673 %dir %{_kernelsrcdir}/security
674 %dir %{_kernelsrcdir}/security/selinux
675 %{_kernelsrcdir}/security/selinux/include
676 %dir %{_kernelsrcdir}/usr
677 %dir %{_kernelsrcdir}/usr/include
678 %{_kernelsrcdir}/.config
679 %{_kernelsrcdir}/Module.symvers
681 %files module-build -f files.mb_include_modulebuild_and_dirs
682 %defattr(644,root,root,755)
683 %exclude %dir %{_kernelsrcdir}/arch/um
684 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
685 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
686 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
687 %{_kernelsrcdir}/kernel/bounds.c
688 %{_kernelsrcdir}/scripts/basic/*.c
689 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
690 %{_kernelsrcdir}/scripts/kconfig/*.pl
691 %{_kernelsrcdir}/scripts/kconfig/*.glade
692 %{_kernelsrcdir}/scripts/kconfig/*.cc
693 %{_kernelsrcdir}/scripts/kconfig/*.y
694 %{_kernelsrcdir}/scripts/kconfig/*.l
695 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
696 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
697 %{_kernelsrcdir}/scripts/kconfig/l*.h
698 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.c
699 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.h
700 %{_kernelsrcdir}/scripts/kconfig/preprocess.c
701 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.c
702 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.h
703 %{_kernelsrcdir}/scripts/kconfig/lxdialog
704 %{_kernelsrcdir}/scripts/mod/*.c
705 %{_kernelsrcdir}/scripts/mod/modpost.h
706 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
707 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
708 %{_kernelsrcdir}/scripts/subarch.include
709 %{_kernelsrcdir}/scripts/*.c
710 %{_kernelsrcdir}/scripts/*.h
711 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
712 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
713 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
714 %exclude %dir %{_kernelsrcdir}/security
715 %exclude %dir %{_kernelsrcdir}/security/selinux
719 %defattr(644,root,root,755)
720 %dir %{_docdir}/%{name}-%{version}
722 %{_docdir}/%{name}-%{version}/[!jkz]*
723 %{_docdir}/%{name}-%{version}/kbuild
724 %{_docdir}/%{name}-%{version}/kernel-hacking
728 %files source -f files.source_exclude_modulebuild_and_dirs
729 %defattr(644,root,root,755)
730 %{_kernelsrcdir}/arch/*/[!Mik]*
731 %{_kernelsrcdir}/arch/*/kernel/[!M]*
732 %{_kernelsrcdir}/arch/ia64/install.sh
733 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
734 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
735 %{_kernelsrcdir}/arch/m68k/install.sh
736 %{_kernelsrcdir}/arch/parisc/install.sh
737 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
738 %{_kernelsrcdir}/arch/arm64/kvm
739 %{_kernelsrcdir}/arch/mips/kvm
740 %{_kernelsrcdir}/arch/powerpc/kexec
741 %{_kernelsrcdir}/arch/powerpc/kvm
742 %{_kernelsrcdir}/arch/s390/kvm
743 %{_kernelsrcdir}/arch/x86/kvm
744 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
745 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
746 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
747 %{_kernelsrcdir}/block
748 %{_kernelsrcdir}/certs
749 %{_kernelsrcdir}/crypto
750 %{_kernelsrcdir}/drivers
752 %{_kernelsrcdir}/init
754 %{_kernelsrcdir}/kernel
755 %exclude %{_kernelsrcdir}/kernel/bounds.c
759 %{_kernelsrcdir}/virt
760 %{_kernelsrcdir}/samples
761 %{_kernelsrcdir}/scripts/*
762 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
763 %exclude %{_kernelsrcdir}/scripts/Makefile*
764 %exclude %{_kernelsrcdir}/scripts/basic
765 %exclude %{_kernelsrcdir}/scripts/kconfig
766 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
767 %exclude %{_kernelsrcdir}/scripts/mod
768 %exclude %{_kernelsrcdir}/scripts/setlocalversion
769 %exclude %{_kernelsrcdir}/scripts/*.c
770 %exclude %{_kernelsrcdir}/scripts/*.h
771 %exclude %{_kernelsrcdir}/scripts/*.sh
772 %exclude %dir %{_kernelsrcdir}/scripts/selinux
773 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
774 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
775 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
776 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
777 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
778 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
779 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
780 %{_kernelsrcdir}/sound
781 %{_kernelsrcdir}/security
782 %exclude %{_kernelsrcdir}/security/selinux/include
783 %{_kernelsrcdir}/tools/*
785 %{_kernelsrcdir}/COPYING
786 %{_kernelsrcdir}/CREDITS
787 %{_kernelsrcdir}/LICENSES
788 %{_kernelsrcdir}/MAINTAINERS
789 %{_kernelsrcdir}/README