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
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: a519e0b21c58c5e215ecd7435caf22ab
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/ide/ide-cs.ko*
610 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
611 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
612 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
613 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
614 /lib/modules/%{kernel_release}/kernel/security
615 /lib/modules/%{kernel_release}/kernel/virt
617 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
620 /lib/modules/%{kernel_release}/modules.order
621 /lib/modules/%{kernel_release}/modules.builtin*
623 # rest modules.* are ghost (regenerated by post depmod -a invocation)
624 %ghost /lib/modules/%{kernel_release}/modules.alias
625 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
626 %ghost /lib/modules/%{kernel_release}/modules.dep
627 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
628 %ghost /lib/modules/%{kernel_release}/modules.devname
629 %ghost /lib/modules/%{kernel_release}/modules.softdep
630 %ghost /lib/modules/%{kernel_release}/modules.symbols
631 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
633 # symlinks pointing to kernelsrcdir
634 %ghost /lib/modules/%{kernel_release}/build
635 %ghost /lib/modules/%{kernel_release}/source
638 %defattr(644,root,root,755)
639 /boot/vmlinux-%{kernel_release}
642 %defattr(644,root,root,755)
643 /lib/modules/%{kernel_release}/kernel/drivers/gpu
646 %defattr(644,root,root,755)
647 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
648 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
649 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
650 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
651 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
652 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
653 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
654 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
655 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
656 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
659 %defattr(644,root,root,755)
660 /lib/modules/%{kernel_release}/kernel/sound
661 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
662 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
663 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
664 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
665 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
666 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
668 %files headers -f files.headers_exclude_kbuild
669 %defattr(644,root,root,755)
670 %dir %{_kernelsrcdir}
671 %{_kernelsrcdir}/include
672 %dir %{_kernelsrcdir}/arch
673 %dir %{_kernelsrcdir}/arch/[!K]*
674 %{_kernelsrcdir}/arch/*/include
675 %dir %{_kernelsrcdir}/security
676 %dir %{_kernelsrcdir}/security/selinux
677 %{_kernelsrcdir}/security/selinux/include
678 %dir %{_kernelsrcdir}/usr
679 %dir %{_kernelsrcdir}/usr/include
680 %{_kernelsrcdir}/.config
681 %{_kernelsrcdir}/Module.symvers
683 %files module-build -f files.mb_include_modulebuild_and_dirs
684 %defattr(644,root,root,755)
685 %exclude %dir %{_kernelsrcdir}/arch/um
686 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
687 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
688 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
689 %{_kernelsrcdir}/kernel/bounds.c
690 %{_kernelsrcdir}/scripts/basic/*.c
691 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
692 %{_kernelsrcdir}/scripts/kconfig/*.pl
693 %{_kernelsrcdir}/scripts/kconfig/*.glade
694 %{_kernelsrcdir}/scripts/kconfig/*.cc
695 %{_kernelsrcdir}/scripts/kconfig/*.y
696 %{_kernelsrcdir}/scripts/kconfig/*.l
697 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
698 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
699 %{_kernelsrcdir}/scripts/kconfig/l*.h
700 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.c
701 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.h
702 %{_kernelsrcdir}/scripts/kconfig/preprocess.c
703 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.c
704 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.h
705 %{_kernelsrcdir}/scripts/kconfig/lxdialog
706 %{_kernelsrcdir}/scripts/mod/*.c
707 %{_kernelsrcdir}/scripts/mod/modpost.h
708 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
709 %{_kernelsrcdir}/scripts/mkmakefile
710 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
711 %{_kernelsrcdir}/scripts/subarch.include
712 %{_kernelsrcdir}/scripts/*.c
713 %{_kernelsrcdir}/scripts/*.h
714 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
715 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
716 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
717 %exclude %dir %{_kernelsrcdir}/security
718 %exclude %dir %{_kernelsrcdir}/security/selinux
722 %defattr(644,root,root,755)
723 %dir %{_docdir}/%{name}-%{version}
725 %{_docdir}/%{name}-%{version}/[!jkz]*
726 %{_docdir}/%{name}-%{version}/kbuild
727 %{_docdir}/%{name}-%{version}/kernel-hacking
731 %files source -f files.source_exclude_modulebuild_and_dirs
732 %defattr(644,root,root,755)
733 %{_kernelsrcdir}/arch/*/[!Mik]*
734 %{_kernelsrcdir}/arch/*/kernel/[!M]*
735 %{_kernelsrcdir}/arch/ia64/install.sh
736 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
737 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
738 %{_kernelsrcdir}/arch/m68k/install.sh
739 %{_kernelsrcdir}/arch/parisc/install.sh
740 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
741 %{_kernelsrcdir}/arch/arm64/kvm
742 %{_kernelsrcdir}/arch/mips/kvm
743 %{_kernelsrcdir}/arch/powerpc/kexec
744 %{_kernelsrcdir}/arch/powerpc/kvm
745 %{_kernelsrcdir}/arch/s390/kvm
746 %{_kernelsrcdir}/arch/x86/kvm
747 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
748 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
749 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
750 %{_kernelsrcdir}/block
751 %{_kernelsrcdir}/certs
752 %{_kernelsrcdir}/crypto
753 %{_kernelsrcdir}/drivers
755 %{_kernelsrcdir}/init
757 %{_kernelsrcdir}/kernel
758 %exclude %{_kernelsrcdir}/kernel/bounds.c
762 %{_kernelsrcdir}/virt
763 %{_kernelsrcdir}/samples
764 %{_kernelsrcdir}/scripts/*
765 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
766 %exclude %{_kernelsrcdir}/scripts/Makefile*
767 %exclude %{_kernelsrcdir}/scripts/basic
768 %exclude %{_kernelsrcdir}/scripts/kconfig
769 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
770 %exclude %{_kernelsrcdir}/scripts/mkmakefile
771 %exclude %{_kernelsrcdir}/scripts/mod
772 %exclude %{_kernelsrcdir}/scripts/setlocalversion
773 %exclude %{_kernelsrcdir}/scripts/*.c
774 %exclude %{_kernelsrcdir}/scripts/*.h
775 %exclude %{_kernelsrcdir}/scripts/*.sh
776 %exclude %dir %{_kernelsrcdir}/scripts/selinux
777 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
778 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
779 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
780 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
781 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
782 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
783 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
784 %{_kernelsrcdir}/sound
785 %{_kernelsrcdir}/security
786 %exclude %{_kernelsrcdir}/security/selinux/include
787 %{_kernelsrcdir}/tools/*
789 %{_kernelsrcdir}/COPYING
790 %{_kernelsrcdir}/CREDITS
791 %{_kernelsrcdir}/LICENSES
792 %{_kernelsrcdir}/MAINTAINERS
793 %{_kernelsrcdir}/README