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} -i -e '1s,/usr/bin/env bash,%{__bash},' \
368 tools/testing/selftests/powerpc/security/mitigation-patching.sh \
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 \
413 %{?with_verbose:V=1} \
415 mod_compress_cmd=true \
416 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
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 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
559 if [ "$1" = "0" ]; then
560 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
561 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
562 rm -f %{_prefix}/src/linux%{_alt_kernel}
567 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
568 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
569 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
571 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
572 if [ "$1" = 0 ]; then
573 rm -f /lib/modules/%{kernel_release}/{build,source}
577 %defattr(644,root,root,755)
578 /boot/vmlinuz-%{kernel_release}
579 /boot/System.map-%{kernel_release}
580 /boot/config-%{kernel_release}
581 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
583 %dir /lib/modules/%{kernel_release}
584 %dir /lib/modules/%{kernel_release}/kernel
585 /lib/modules/%{kernel_release}/kernel/arch
586 /lib/modules/%{kernel_release}/kernel/block
587 /lib/modules/%{kernel_release}/kernel/crypto
588 /lib/modules/%{kernel_release}/kernel/drivers
589 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
590 /lib/modules/%{kernel_release}/kernel/fs
591 /lib/modules/%{kernel_release}/kernel/kernel
592 /lib/modules/%{kernel_release}/kernel/lib
593 /lib/modules/%{kernel_release}/kernel/net
594 /lib/modules/%{kernel_release}/kernel/mm
595 %dir /lib/modules/%{kernel_release}/kernel/sound
596 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
597 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
598 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
599 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
600 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
601 %dir /lib/modules/%{kernel_release}/misc
602 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
603 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
604 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
605 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
606 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
607 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
608 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
609 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
610 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
611 /lib/modules/%{kernel_release}/kernel/security
612 /lib/modules/%{kernel_release}/kernel/virt
614 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
617 /lib/modules/%{kernel_release}/modules.order
618 /lib/modules/%{kernel_release}/modules.builtin*
620 # rest modules.* are ghost (regenerated by post depmod -a invocation)
621 %ghost /lib/modules/%{kernel_release}/modules.alias
622 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
623 %ghost /lib/modules/%{kernel_release}/modules.dep
624 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
625 %ghost /lib/modules/%{kernel_release}/modules.devname
626 %ghost /lib/modules/%{kernel_release}/modules.softdep
627 %ghost /lib/modules/%{kernel_release}/modules.symbols
628 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
630 # symlinks pointing to kernelsrcdir
631 %ghost /lib/modules/%{kernel_release}/build
632 %ghost /lib/modules/%{kernel_release}/source
635 %defattr(644,root,root,755)
636 /boot/vmlinux-%{kernel_release}
639 %defattr(644,root,root,755)
640 /lib/modules/%{kernel_release}/kernel/drivers/gpu
643 %defattr(644,root,root,755)
644 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
645 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
646 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
647 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
648 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
649 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
650 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
651 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
652 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
655 %defattr(644,root,root,755)
656 /lib/modules/%{kernel_release}/kernel/sound
657 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
658 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
659 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
660 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
661 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
662 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
664 %files headers -f files.headers_exclude_kbuild
665 %defattr(644,root,root,755)
666 %dir %{_kernelsrcdir}
667 %{_kernelsrcdir}/include
668 %dir %{_kernelsrcdir}/arch
669 %dir %{_kernelsrcdir}/arch/[!K]*
670 %{_kernelsrcdir}/arch/*/include
671 %dir %{_kernelsrcdir}/security
672 %dir %{_kernelsrcdir}/security/selinux
673 %{_kernelsrcdir}/security/selinux/include
674 %dir %{_kernelsrcdir}/usr
675 %dir %{_kernelsrcdir}/usr/include
676 %{_kernelsrcdir}/.config
677 %{_kernelsrcdir}/Module.symvers
679 %files module-build -f files.mb_include_modulebuild_and_dirs
680 %defattr(644,root,root,755)
681 %exclude %dir %{_kernelsrcdir}/arch/um
682 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
683 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
684 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
685 %{_kernelsrcdir}/kernel/bounds.c
686 %{_kernelsrcdir}/scripts/basic/*.c
687 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
688 %{_kernelsrcdir}/scripts/kconfig/*.pl
689 %{_kernelsrcdir}/scripts/kconfig/*.glade
690 %{_kernelsrcdir}/scripts/kconfig/*.cc
691 %{_kernelsrcdir}/scripts/kconfig/*.y
692 %{_kernelsrcdir}/scripts/kconfig/*.l
693 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
694 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
695 %{_kernelsrcdir}/scripts/kconfig/l*.h
696 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.c
697 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.h
698 %{_kernelsrcdir}/scripts/kconfig/preprocess.c
699 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.c
700 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.h
701 %{_kernelsrcdir}/scripts/kconfig/lxdialog
702 %{_kernelsrcdir}/scripts/mod/*.c
703 %{_kernelsrcdir}/scripts/mod/modpost.h
704 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
705 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
706 %{_kernelsrcdir}/scripts/subarch.include
707 %{_kernelsrcdir}/scripts/*.c
708 %{_kernelsrcdir}/scripts/*.h
709 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
710 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
711 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
712 %exclude %dir %{_kernelsrcdir}/security
713 %exclude %dir %{_kernelsrcdir}/security/selinux
717 %defattr(644,root,root,755)
718 %dir %{_docdir}/%{name}-%{version}
720 %{_docdir}/%{name}-%{version}/[!jkz]*
721 %{_docdir}/%{name}-%{version}/kbuild
722 %{_docdir}/%{name}-%{version}/kernel-hacking
726 %files source -f files.source_exclude_modulebuild_and_dirs
727 %defattr(644,root,root,755)
728 %{_kernelsrcdir}/arch/*/[!Mik]*
729 %{_kernelsrcdir}/arch/*/kernel/[!M]*
730 %{_kernelsrcdir}/arch/ia64/install.sh
731 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
732 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
733 %{_kernelsrcdir}/arch/m68k/install.sh
734 %{_kernelsrcdir}/arch/parisc/install.sh
735 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
736 %{_kernelsrcdir}/arch/arm64/kvm
737 %{_kernelsrcdir}/arch/mips/kvm
738 %{_kernelsrcdir}/arch/powerpc/kexec
739 %{_kernelsrcdir}/arch/powerpc/kvm
740 %{_kernelsrcdir}/arch/s390/kvm
741 %{_kernelsrcdir}/arch/x86/kvm
742 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
743 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
744 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
745 %{_kernelsrcdir}/block
746 %{_kernelsrcdir}/certs
747 %{_kernelsrcdir}/crypto
748 %{_kernelsrcdir}/drivers
750 %{_kernelsrcdir}/init
752 %{_kernelsrcdir}/kernel
753 %exclude %{_kernelsrcdir}/kernel/bounds.c
757 %{_kernelsrcdir}/virt
758 %{_kernelsrcdir}/samples
759 %{_kernelsrcdir}/scripts/*
760 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
761 %exclude %{_kernelsrcdir}/scripts/Makefile*
762 %exclude %{_kernelsrcdir}/scripts/basic
763 %exclude %{_kernelsrcdir}/scripts/kconfig
764 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
765 %exclude %{_kernelsrcdir}/scripts/mod
766 %exclude %{_kernelsrcdir}/scripts/setlocalversion
767 %exclude %{_kernelsrcdir}/scripts/*.c
768 %exclude %{_kernelsrcdir}/scripts/*.h
769 %exclude %{_kernelsrcdir}/scripts/*.sh
770 %exclude %dir %{_kernelsrcdir}/scripts/selinux
771 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
772 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
773 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
774 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
775 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
776 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
777 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
778 %{_kernelsrcdir}/sound
779 %{_kernelsrcdir}/security
780 %exclude %{_kernelsrcdir}/security/selinux/include
781 %{_kernelsrcdir}/tools/*
783 %{_kernelsrcdir}/COPYING
784 %{_kernelsrcdir}/CREDITS
785 %{_kernelsrcdir}/LICENSES
786 %{_kernelsrcdir}/MAINTAINERS
787 %{_kernelsrcdir}/README