2 # LATEST VERSION CHECKER:
3 # # curl -s https://www.kernel.org/finger_banner
6 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
8 # HOWTO update configuration files:
10 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
11 # - sort configuration files using:
12 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
13 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
16 %bcond_without source # don't build kernel-source package
17 %bcond_without doc # don't build kernel-doc package
19 %bcond_with verbose # verbose build (V=1)
21 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
22 %bcond_with pae # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
23 %bcond_with nfsroot # build with root on NFS support
25 %bcond_without ipv6 # ipv6 support
27 %bcond_without aufs # aufs4 support
29 %bcond_with rt # real-time kernel (CONFIG_PREEMPT_RT) for low latencies
31 %bcond_with vanilla # don't include any patches
32 %bcond_with rescuecd # build kernel for our rescue
33 %bcond_with myown # build with your own config (kernel-myown.config)
35 %{?debug:%define with_verbose 1}
58 # define this to '-%{basever}' for longterm branch
59 %define versuffix %{nil}
61 # __alt_kernel is list of features, empty string if none set
62 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
63 # alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
64 %define __alt_kernel %{nil}
66 %if "%{__alt_kernel}" != ""
67 %define alt_kernel %{__alt_kernel}
70 # these override whatever name was picked from bconds
71 %if %{with myown} && "%{_alt_kernel}" == ""
72 %define alt_kernel myown
75 %define alt_kernel rescuecd
78 %define alt_kernel vanilla
81 %define alt_kernel pae
87 # kernel release (used in filesystem and eventually in uname -r)
88 # modules will be looked from /lib/modules/%{kernel_release}
89 # localversion is just that without version for "> localversion"
90 %define localversion %{rel}
91 %define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
95 Summary: The Linux kernel (the core of the Linux operating system)
96 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
97 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
98 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
99 Summary(pl.UTF-8): JÄ…dro Linuksa
100 Name: kernel%{versuffix}%{_alt_kernel}
101 Version: %{basever}%{postver}
106 Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%{basever}.tar.xz
107 # Source0-md5: 72d623b959a11850b57406f0b9fe3946
108 %if "%{postver}" != ".0"
109 Patch0: https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
110 # Patch0-md5: 0142493264333f7e26b16ddbf96bb843
112 Source1: kernel.sysconfig
114 Source3: kernel-autoconf.h
115 Source4: kernel-config.h
116 Source6: kernel-config.awk
117 Source7: kernel-module-build.pl
118 Source8: kernel-track-config-change.awk
119 # not used by kernel.spec, but it's good to have it in SOURCES
120 Source9: kernel-config-sort.pl
121 Source10: kernel.make
123 Source20: kernel-multiarch.config
124 Source21: kernel-x86.config
125 Source22: kernel-sparc.config
126 Source23: kernel-alpha.config
127 Source24: kernel-powerpc.config
128 Source26: kernel-arm.config
129 Source27: kernel-arm64.config
131 Source41: kernel-patches.config
132 Source44: kernel-rt.config
134 Source58: kernel-inittmpfs.config
136 Patch2: android-enable-building-binder-as-module.patch
137 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
138 Patch3: kernel-fbcondecor.patch
139 Patch6: linux-wistron-nx.patch
141 # netfilter related stuff mostly based on patch-o-matic-ng
142 # snapshot 20070806 with some fixes. Some modules
143 # were ported to nf_conntrack.
145 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
149 # by Baggins request:
150 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
151 Patch55: kernel-atm-vbr.patch
152 Patch56: kernel-atmdd.patch
154 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
155 Patch59: kernel-rndis_host-wm5.patch
157 # see update-source.sh
158 Patch145: kernel-aufs.patch
159 Patch147: kernel-aufs-make.patch
161 # Show normal colors in menuconfig with ncurses ABI 6
162 Patch250: kernel-fix_256colors_menuconfig.patch
164 # https://rt.wiki.kernel.org/
165 # https://www.kernel.org/pub/linux/kernel/projects/rt/4.9/patch-4.9.6-rt4.patch.xz
166 Patch500: kernel-rt.patch
168 Patch2000: kernel-small_fixes.patch
169 Patch2001: kernel-pwc-uncompress.patch
172 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
173 Patch7000: kernel-inittmpfs.patch
176 Patch8000: rpi-sound.patch
177 Patch8001: kernel-pinebook-pro.patch
178 Patch8002: atheros-disallow-retrain-nongen1-pcie.patch
179 Patch8004: ath-regd.patch
180 Patch8005: rkvdec-hevc.patch
182 URL: https://www.kernel.org/
184 BuildRequires: /sbin/depmod
185 BuildRequires: bc >= 1.06.95
186 BuildRequires: binutils >= 3:2.23
187 BuildRequires: bison >= 2.0
188 %ifarch sparc sparc64
189 BuildRequires: elftoaout
191 BuildRequires: elfutils-devel
192 BuildRequires: flex >= 2.5.35
193 BuildRequires: gcc >= 6:7.2.0-6
194 BuildRequires: gcc-c++
195 BuildRequires: gcc-plugin-devel
196 BuildRequires: hostname
197 BuildRequires: kmod >= %{kmod_ver}
198 BuildRequires: libstdc++-devel
199 BuildRequires: make >= 1:3.81
200 BuildRequires: openssl-devel >= 1.0.0
201 BuildRequires: openssl-tools >= 1.0.0
202 BuildRequires: perl-base >= 5
203 BuildRequires: rpm-build >= 4.5-24
204 BuildRequires: rpmbuild(macros) >= 2.019
205 BuildRequires: tar >= 1:1.22
207 BuildRequires: uboot-mkimage
209 BuildRequires: xz >= 1:4.999.7
210 BuildConflicts: dwarves < 1.16
211 Requires(post): coreutils
212 Requires(post): geninitrd >= 12787-6
213 Requires(post): kmod >= %{kmod_ver}
214 Requires: /sbin/depmod
216 Requires: geninitrd >= 12787-6
217 Requires: kmod >= %{kmod_ver}
219 %ifarch i686 athlon pentium3 pentium4
220 Requires: cpuinfo(pae)
225 Suggests: linux-firmware
226 Provides: %{name}(netfilter) = 20070806
227 Provides: %{name}(vermagic) = %{kernel_release}
228 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100 < 0.9.0
229 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87 < 0.9.0
230 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709 < 0.9.0
231 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb < 0.9.0
232 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap < 0.9.0
233 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN < 2.0.35
234 Obsoletes: kernel-firmware < 3:2.6.33
235 Obsoletes: kernel-misc-acer_acpi < 0.3-2
236 Obsoletes: kernel-misc-fuse < 2.8.5-2
237 Obsoletes: kernel-misc-uvc < 0.215.1-10
238 Obsoletes: kernel-modules < 2.2.2-2
239 Obsoletes: kernel-net-ar81 < 1.0.1.0-3
240 Obsoletes: kernel-net-hostap < 0.4.7-2
241 Obsoletes: kernel-net-ieee80211 < 1.2.18-7
242 Obsoletes: kernel-net-ipp2p < 0.8.2.-17
243 Obsoletes: kernel-net-rt61 < 1.1.0-2.2007122707.13
244 Obsoletes: kernel-smp < 3:2.6.21
245 Conflicts: e2fsprogs < 1.29
246 Conflicts: isdn4k-utils < 3.1pre1
247 Conflicts: jfsutils < 1.1.3
248 Conflicts: libcap-libs < 1:2.34
249 Conflicts: libusb < 1.0.9
250 Conflicts: linux-firmware < 20120720
251 Conflicts: lvm2 < 2.02.40
252 Conflicts: module-init-tools < 3.16
253 Conflicts: nfs-utils < 1.0.5
254 Conflicts: oprofile < 0.9
255 Conflicts: ppp < 1:2.4.0
256 Conflicts: procps < 3.2.0
257 Conflicts: quota-tools < 3.09
258 Conflicts: reiserfsprogs < 3.6.3
259 Conflicts: rpm < 4.4.2-0.2
260 Conflicts: udev < 1:081
261 Conflicts: util-linux < 2.10o
262 Conflicts: xfsprogs < 2.6.0
264 ExclusiveArch: i686 pentium3 pentium4 athlon
266 ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha %{arm} ppc ppc64 sparc sparc64 aarch64
269 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
271 %define kmod_compress_cmd %{__xz}
273 %ifarch %{ix86} %{x8664} x32
274 %define target_arch_dir x86
277 %define target_arch_dir powerpc
279 %ifarch sparc sparc64
280 %define target_arch_dir sparc
283 %define target_arch_dir arm64
285 %ifnarch %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64 aarch64
286 %define target_arch_dir %{_target_base_arch}
289 %define defconfig arch/%{target_arch_dir}/defconfig
291 # No ELF objects there to strip (skips processing 27k files)
292 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
293 %define _noautochrpath .*%{_kernelsrcdir}/.*
294 %define _enable_debug_packages 0
296 %define initrd_dir /boot
298 %define topdir %{_builddir}/%{name}-%{version}
299 %define srcdir %{topdir}/linux-%{basever}
300 %define objdir %{topdir}/%{targetobj}
301 %define targetobj %{_target_base_arch}-gcc-%(%{__cc} -dumpversion)
303 %define _kernelsrcdir /usr/src/linux%{versuffix}%{_alt_kernel}-%{version}
305 %if "%{_target_base_arch}" != "%{_host_base_arch}"
306 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
307 %define DepMod /bin/true
309 %if "%{_host_base_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
310 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
311 %define DepMod /sbin/depmod
314 %if "%{_host_base_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
315 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
316 %define DepMod /sbin/depmod
319 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
320 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
321 %define DepMod /sbin/depmod
324 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
325 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
329 %define CrossOpts ARCH=powerpc CC="%{__cc}"
332 %define CrossOpts ARCH=arm64 CC="%{__cc}"
334 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
337 %define DepMod /sbin/depmod
339 # use 64-bit offsets for fixdeps to work with 64-bit inodes
340 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc} -D_FILE_OFFSET_BITS=64"
343 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
344 %{?with_nfsroot:Root on NFS - enabled}\
345 %{?with_rt:CONFIG_PREEMPT_RT - enabled}\
347 %define Features %(echo "%{__features}" | sed '/^$/d')
350 This package contains the Linux kernel that is used to boot and run
351 your system. It contains few device drivers for specific hardware.
352 Most hardware is instead supported by modules loaded after booting.
356 %description -l de.UTF-8
357 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
358 Linux-Betriebssystems. Der Kernel ist für grundliegende
359 Systemfunktionen verantwortlich: Speicherreservierung,
360 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
364 %description -l fr.UTF-8
365 Le package kernel contient le kernel linux (vmlinuz), la partie
366 centrale d'un système d'exploitation Linux. Le noyau traite les
367 fonctions basiques d'un système d'exploitation: allocation mémoire,
368 allocation de process, entrée/sortie de peripheriques, etc.
372 %description -l pl.UTF-8
373 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
374 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
375 się w komputerze, takiego jak sterowniki dysków itp.
380 Summary: vmlinux - uncompressed kernel image
381 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
382 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
384 Obsoletes: kernel-smp-vmlinux < 3:2.6.21
387 vmlinux - uncompressed kernel image.
389 %description vmlinux -l de.UTF-8
390 vmlinux - dekompressiertes Kernel Bild.
392 %description vmlinux -l pl.UTF-8
393 vmlinux - rozpakowany obraz jÄ…dra.
396 Summary: DRM kernel modules
397 Summary(de.UTF-8): DRM Kernel Treiber
398 Summary(pl.UTF-8): Sterowniki DRM
400 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
401 Requires: %{name} = %{epoch}:%{version}-%{release}
402 Provides: kernel(vboxvideo) = %{kernel_release}
403 Obsoletes: kernel-smp-drm < 3:2.6.21
409 %description drm -l de.UTF-8
412 %description drm -l pl.UTF-8
416 Summary: ALSA kernel modules
417 Summary(de.UTF-8): ALSA Kernel Module
418 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
420 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
421 Requires: %{name} = %{epoch}:%{version}-%{release}
422 Obsoletes: kernel-smp-sound-alsa < 3:2.6.21
425 %description sound-alsa
426 ALSA (Advanced Linux Sound Architecture) sound drivers.
428 %description sound-alsa -l de.UTF-8
429 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
431 %description sound-alsa -l pl.UTF-8
432 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
435 Summary: Header files for the Linux kernel
436 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
437 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
438 Group: Development/Building
439 Provides: %{name}-headers(netfilter) = 20070806
443 These are the C header files for the Linux kernel, which define
444 structures and constants that are needed when rebuilding the kernel or
445 building kernel modules.
447 %description headers -l de.UTF-8
448 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
449 Strukturen und Konstante beinhalten, die beim rekompilieren des
450 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
452 %description headers -l pl.UTF-8
453 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
454 oraz budowania modułów jądra.
456 %package module-build
457 Summary: Development files for building kernel modules
458 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
459 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
460 Group: Development/Building
461 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
462 Requires: elfutils-devel
464 Conflicts: rpmbuild(macros) < 2.019
467 %description module-build
468 Development files from kernel source tree needed to build Linux kernel
469 modules from external packages.
471 %description module-build -l de.UTF-8
472 Development Dateien des Linux-Kernels die beim kompilieren externer
473 Kernel Module gebraucht werden.
475 %description module-build -l pl.UTF-8
476 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
477 Linuksa z zewnętrznych pakietów.
480 Summary: Kernel source tree
481 Summary(de.UTF-8): Der Kernel Quelltext
482 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
483 Group: Development/Building
484 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
489 This is the source code for the Linux kernel. You can build a custom
490 kernel that is better tuned to your particular hardware.
492 %description source -l de.UTF-8
493 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
494 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
495 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
496 im Kernel-Source definiert sind. Die Source-Dateien können auch
497 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
498 Hardware ausgerichtet ist.
500 %description source -l fr.UTF-8
501 Le package pour le kernel-source contient le code source pour le noyau
502 linux. Ces sources sont nécessaires pour compiler la plupart des
503 programmes C, car il dépend de constantes définies dans le code
504 source. Les sources peuvent être aussi utilisée pour compiler un noyau
505 personnalisé pour avoir de meilleures performances sur des matériels
508 %description source -l pl.UTF-8
509 Pakiet zawiera kod źródłowy jądra systemu.
512 Summary: Kernel documentation
513 Summary(de.UTF-8): Kernel Dokumentation
514 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
520 This is the documentation for the Linux kernel, as found in
521 /usr/src/linux/Documentation directory.
523 %description doc -l de.UTF-8
524 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
525 Verzeichniss vorgefunden werden kann.
527 %description doc -l pl.UTF-8
528 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
529 /usr/src/linux/Documentation.
533 ln -s %{SOURCE7} kernel-module-build.pl
534 ln -s %{SOURCE10} Makefile
537 %if "%{postver}" != ".0"
541 %if %{without vanilla}
544 %if %{with fbcondecor}
552 # kernel-pom-ng-IPV4OPTSSTRIP.patch
561 # kernel-rndis_host-wm5.patch
574 %ifarch %{arm} aarch64
584 rm -f localversion-rt
595 chmod 755 tools/objtool/sync-check.sh
597 # Fix EXTRAVERSION in main Makefile
598 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
600 # cleanup backups after patching
601 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
603 find -name '*.py' -print0 | \
604 xargs -0 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
605 -e '1s,/usr/bin/env python$,%{__python},' \
606 -e '1s,/usr/bin/env python3$,%{__python3},'
608 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
609 -e '1s,/usr/bin/env python$,%{__python},' \
610 -e '1s,/usr/bin/env python3$,%{__python3},' \
611 scripts/bloat-o-meter \
613 scripts/dtc/dt-extract-compatibles \
614 scripts/jobserver-exec \
616 tools/hv/vmbus_testing \
617 tools/kvm/kvm_stat/kvm_stat \
618 tools/testing/selftests/exec/binfmt_script.py
620 find -name '*.pl' -print0 | \
621 xargs -0 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
623 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
624 scripts/dtc/dt_to_config \
627 scripts/documentation-file-ref-check \
628 scripts/get_dvb_firmware \
630 scripts/sphinx-pre-install \
633 %{__sed} -i -e '1s,/usr/bin/env bash,%{__bash},' \
634 tools/testing/selftests/powerpc/security/mitigation-patching.sh \
640 cat > %{targetobj}.mk <<'EOF'
641 # generated by %{name}.spec
642 KERNELSRC := %{srcdir}
643 KERNELOUTPUT := %{objdir}
645 SRCARCH := %{target_arch_dir}
646 ARCH := %{_target_base_arch}
647 Q := %{!?with_verbose:@}
648 MAKE_OPTS := %{MakeOpts}
649 DEFCONFIG := %{defconfig}
654 # CONFIG_SOUND is not set
655 # CONFIG_AUDIT is not set
656 # CONFIG_TR is not set
657 # CONFIG_BT is not set
658 # CONFIG_VIDEO_DEV is not set
659 # CONFIG_DVB_CORE is not set
660 # CONFIG_HAMRADIO is not set
661 # CONFIG_ARCNET is not set
662 # CONFIG_DRM is not set
663 # CONFIG_WATCHDOG is not set
664 # CONFIG_INPUT_JOYSTICK is not set
665 # CONFIG_DEBUG_KERNEL is not set
666 # CONFIG_ISDN is not set
667 # CONFIG_AGP is not set
668 # CONFIG_SECURITY is not set
669 # CONFIG_PARIDE is not set
670 # CONFIG_CPU_FREQ is not set
671 # CONFIG_GAMEPORT is not set
672 # CONFIG_KVM is not set
673 # CONFIG_PHONE is not set
674 # CONFIG_STRICT_DEVMEM is not set
675 # CONFIG_IMA is not set
676 # CONFIG_MEDIA_SUPPORT is not set
677 # CONFIG_UWB is not set
678 # CONFIG_PWM is not set
679 # CONFIG_COMEDI_NI_LABPC_ISA is not set
680 # CONFIG_FB_SYS_FILLRECT is not set
681 # CONFIG_FB_SYS_COPYAREA is not set
682 # CONFIG_FB_SYS_IMAGEBLIT is not set
683 # CONFIG_FB_SYS_FOPS is not set
684 # CONFIG_FB_HECUBA is not set
685 # CONFIG_FB_SVGALIB is not set
686 # CONFIG_FB_CIRRUS is not set
687 # CONFIG_FB_PM2 is not set
688 # CONFIG_FB_CYBER2000 is not set
689 # CONFIG_FB_ARC is not set
690 # CONFIG_FB_ASILIANT is not set
691 # CONFIG_FB_IMSTT is not set
692 # CONFIG_FB_VGA16 is not set
693 # CONFIG_FB_UVESA is not set
694 # CONFIG_FB_N411 is not set
695 # CONFIG_FB_HGA is not set
696 # CONFIG_FB_S1D13XXX is not set
697 # CONFIG_FB_NVIDIA is not set
698 # CONFIG_FB_RIVA is not set
699 # CONFIG_FB_I740 is not set
700 # CONFIG_FB_LE80578 is not set
701 # CONFIG_FB_CARILLO_RANCH is not set
702 # CONFIG_FB_MATROX is not set
703 # CONFIG_FB_RADEON is not set
704 # CONFIG_FB_ATY128 is not set
705 # CONFIG_FB_ATY is not set
706 # CONFIG_FB_S3 is not set
707 # CONFIG_FB_SAVAGE is not set
708 # CONFIG_FB_SIS is not set
709 # CONFIG_FB_VIA is not set
710 # CONFIG_FB_NEOMAGIC is not set
711 # CONFIG_FB_KYRO is not set
712 # CONFIG_FB_3DFX is not set
713 # CONFIG_FB_VOODOO1 is not set
714 # CONFIG_FB_VT8623 is not set
715 # CONFIG_FB_TRIDENT is not set
716 # CONFIG_FB_ARK is not set
717 # CONFIG_FB_PM3 is not set
718 # CONFIG_FB_CARMINE is not set
719 # CONFIG_FB_GEODE is not set
720 # CONFIG_FB_TMIO is not set
721 # CONFIG_FB_SM501 is not set
722 # CONFIG_FB_SMSCUFX is not set
723 # CONFIG_FB_UDL is not set
724 # CONFIG_FB_GOLDFISH is not set
725 # CONFIG_XEN_FBDEV_FRONTEND is not set
726 # CONFIG_FB_METRONOME is not set
727 # CONFIG_FB_MB862XX is not set
728 # CONFIG_FB_BROADSHEET is not set
729 # CONFIG_FB_AUO_K190X is not set
730 # CONFIG_FB_AUO_K1900 is not set
731 # CONFIG_FB_AUO_K1901 is not set
732 # CONFIG_FB_HYPERV is not set
735 CONFIG_AUFS_BR_RAMFS=y
737 CONFIG_BLK_DEV_LOOP=y
743 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
753 Config="kernel-%{target_arch_dir}.config"
754 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
756 # prepare local and important options
757 cat <<-EOCONFIG > important.config
758 LOCALVERSION="-%{localversion}"
761 CONFIG_DEBUG_PREEMPT=y
762 CONFIG_RT_DEADLOCK_DETECT=y
764 CONFIG_DEBUG_PREEMPT=n
771 %ifarch i686 athlon pentium3 pentium4
782 %if %{with fbcondecor}
786 CONFIG_FB_TILEBLITTING=n
787 CONFIG_FB_CON_DECOR=y
798 %if %{_ver_ge %(rpm -q --qf='%%{VERSION}' gcc) 12}
799 CONFIG_INIT_STACK_ALL_ZERO=y
800 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=n
802 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
807 RescueConfig rescue.config
809 # prepare kernel-style config file from multiple config files
810 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
812 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
815 %if %{without vanilla}
824 %{SOURCE41} %{?0:patches} \
827 $RPM_SOURCE_DIR/$Config
831 install -d arch/%{target_arch_dir}
832 BuildConfig > %{defconfig}
833 ln -sf %{defconfig} .config
837 TARGETOBJ=%{targetobj} \
838 %{?with_verbose:V=1} \
841 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
844 TARGETOBJ=%{targetobj} \
845 %{?with_verbose:V=1} \
850 ICECC_EXTRAFILES="${ICECC_EXTRAFILES:+$ICECC_EXTRAFILES:}$(test -d %{objdir}/scripts/gcc-plugins && find %{objdir}/scripts/gcc-plugins -name '*.so' | paste -s -d :)"
852 TARGETOBJ=%{targetobj} \
853 %{?with_verbose:V=1} \
857 rm -rf $RPM_BUILD_ROOT
858 %{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install \
860 %{?with_verbose:V=1} \
862 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
863 INSTALL_MOD_STRIP="--strip-debug --remove-section=.comment --remove-section=.note.GNU-stack" \
864 KERNELRELEASE=%{kernel_release}
866 %ifarch %{arm} aarch64
868 %{__make} %{MakeOpts} %{!?with_verbose:-s} dtbs_install \
870 %{?with_verbose:V=1} \
871 INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/boot/dtb-%{kernel_release}
874 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
876 # create directories which may be missing, to simplyfy %files
877 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
879 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
880 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
881 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
883 # no point embed content for %ghost files. empty them
891 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
892 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
896 install -d $RPM_BUILD_ROOT/boot
897 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
898 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
899 %ifarch %{ix86} %{x8664} x32
900 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
901 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
904 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
905 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
907 %ifarch alpha sparc sparc64
908 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
909 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
910 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
912 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
913 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
916 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
917 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
921 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
924 cp -a %{objdir}/arch/%{target_arch_dir}/boot/Image.gz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
928 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
929 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
931 %if "%{_target_base_arch}" != "%{_host_base_arch}"
932 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
935 # /etc/depmod.d /etc/modrobe.d
936 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{depmod.d,modprobe.d}/%{kernel_release}
938 install -d $RPM_BUILD_ROOT/etc/sysconfig
939 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
942 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
944 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
945 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
947 rm -f $RPM_BUILD_ROOT/COPYING
950 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
951 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
952 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
953 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
954 # copy arch/x86/include/generated
955 for dir in $(cd %{objdir} && find arch -name generated -type d); do
956 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
957 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
961 # Needed for CONFIG_STACK_VALIDATION / ORC_UNWINDER enabled builds
962 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
963 cp -a %{objdir}/tools/objtool/fixdep $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
964 cp -a %{objdir}/tools/objtool/objtool $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
967 # version.h location changed in 3.7, but a lot of external modules don't know about it
968 # add a compatibility symlink
969 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
971 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
972 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
974 # collect module-build files and directories
975 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
977 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
978 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
981 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
984 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
986 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
988 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
989 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
993 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
994 install -d $RPM_BUILD_ROOT%{_docdir}
995 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
997 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
998 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
999 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1001 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
1005 rm -rf $RPM_BUILD_ROOT
1008 if [ -x /sbin/new-kernel-pkg ]; then
1009 /sbin/new-kernel-pkg --remove %{kernel_release}
1013 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1014 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1015 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1016 mv -f /boot/System.map{,.old} 2> /dev/null
1017 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1018 ln -sf System.map-%{kernel_release} /boot/System.map
1019 %ifarch %{arm} aarch64
1020 test -L /boot/dtb.old && rm /boot/dtb.old
1021 test ! -e /boot/dtb.old && mv -f /boot/dtb{,.old} 2> /dev/null
1022 ln -sf dtb-%{kernel_release} /boot/dtb
1024 %if 0%{?alt_kernel:1}
1025 mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1026 mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
1027 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
1028 ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
1029 %ifarch %{arm} aarch64
1030 test -L /boot/dtb%{_alt_kernel}.old && rm /boot/dtb%{_alt_kernel}.old
1031 test ! -e /boot/dtb%{_alt_kernel}.old && mv -f /boot/dtb%{_alt_kernel}{,.old} 2> /dev/null
1032 ln -sf dtb-%{kernel_release} /boot/dtb%{_alt_kernel}
1037 %depmod %{kernel_release}
1040 # use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
1041 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1043 if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
1044 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
1045 initrd_file="initrd-%{kernel_release}.gz"
1048 # if dracut is present then generate full-featured initramfs
1049 if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
1050 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
1051 [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
1054 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1055 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1056 if [ -n "$initrd_file" ] ; then
1057 ln -sf "$initrd_file" %{initrd_dir}/initrd
1059 %if 0%{?alt_kernel:1}
1060 mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
1061 if [ -n "$initrd_file" ] ; then
1062 ln -sf "$initrd_file" %{initrd_dir}/initrd%{_alt_kernel}
1067 # update boot loaders when old package files are gone from filesystem
1068 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1069 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1070 /sbin/update-grub >/dev/null
1073 if [ -x /sbin/new-kernel-pkg ]; then
1074 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/$initrd_file --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1076 if [ -x /sbin/rc-boot ]; then
1077 /sbin/rc-boot 1>&2 || :
1079 if [ -x /sbin/efi-boot-update ]; then
1080 /sbin/efi-boot-update --auto || :
1084 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1085 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1086 mv -f /boot/vmlinux{,.old} 2> /dev/null
1087 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1088 %if 0%{?alt_kernel:1}
1089 mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
1090 ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
1095 %depmod %{kernel_release}
1098 %depmod %{kernel_release}
1101 %depmod %{kernel_release}
1104 %depmod %{kernel_release}
1107 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
1110 if [ "$1" = "0" ]; then
1111 if [ -L %{_prefix}/src/linux%{versuffix}%{_alt_kernel} ]; then
1112 if [ "$(readlink %{_prefix}/src/linux%{versuffix}%{_alt_kernel})" = "linux%{versuffix}%{_alt_kernel}-%{version}" ]; then
1113 rm -f %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
1118 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1119 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1120 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1122 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1123 if [ "$1" = 0 ]; then
1124 rm -f /lib/modules/%{kernel_release}/{build,source}
1128 %defattr(644,root,root,755)
1129 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
1130 %ifarch sparc sparc64
1131 /boot/vmlinux.aout-%{kernel_release}
1133 %ifarch %{arm} aarch64
1134 /boot/dtb-%{kernel_release}
1136 /boot/vmlinuz-%{kernel_release}
1137 /boot/System.map-%{kernel_release}
1138 /boot/config-%{kernel_release}
1139 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1140 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
1142 %dir /lib/modules/%{kernel_release}
1143 %dir /lib/modules/%{kernel_release}/kernel
1144 /lib/modules/%{kernel_release}/kernel/arch
1145 /lib/modules/%{kernel_release}/kernel/block
1146 /lib/modules/%{kernel_release}/kernel/crypto
1147 /lib/modules/%{kernel_release}/kernel/drivers
1149 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1151 /lib/modules/%{kernel_release}/kernel/fs
1152 /lib/modules/%{kernel_release}/kernel/kernel
1153 /lib/modules/%{kernel_release}/kernel/lib
1154 /lib/modules/%{kernel_release}/kernel/net
1155 /lib/modules/%{kernel_release}/kernel/mm
1157 %dir /lib/modules/%{kernel_release}/kernel/sound
1158 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1159 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1161 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1162 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1163 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1164 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
1167 %exclude /lib/modules/%{kernel_release}/kernel/drivers/staging/vc04_services/bcm2835-audio
1170 %dir /lib/modules/%{kernel_release}/misc
1172 /lib/modules/%{kernel_release}/kernel/sound
1174 /lib/modules/%{kernel_release}/kernel/security
1175 %ifarch %{ix86} %{x8664} x32
1176 /lib/modules/%{kernel_release}/kernel/virt
1179 %dir %{_sysconfdir}/depmod.d/%{kernel_release}
1180 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1183 /lib/modules/%{kernel_release}/modules.order
1184 /lib/modules/%{kernel_release}/modules.builtin*
1186 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1187 %ghost /lib/modules/%{kernel_release}/modules.alias
1188 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1189 %ghost /lib/modules/%{kernel_release}/modules.dep
1190 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1191 %ghost /lib/modules/%{kernel_release}/modules.devname
1192 %ghost /lib/modules/%{kernel_release}/modules.softdep
1193 %ghost /lib/modules/%{kernel_release}/modules.symbols
1194 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1196 # symlinks pointing to kernelsrcdir
1197 %ghost /lib/modules/%{kernel_release}/build
1198 %ghost /lib/modules/%{kernel_release}/source
1200 %ifarch alpha %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
1202 %defattr(644,root,root,755)
1203 /boot/vmlinux-%{kernel_release}
1208 %defattr(644,root,root,755)
1209 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1214 %defattr(644,root,root,755)
1215 /lib/modules/%{kernel_release}/kernel/sound
1216 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1217 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1218 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1220 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
1221 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1222 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1223 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1226 /lib/modules/%{kernel_release}/kernel/drivers/staging/vc04_services/bcm2835-audio
1230 %files headers -f files.headers_exclude_kbuild
1231 %defattr(644,root,root,755)
1232 %dir %{_kernelsrcdir}
1233 %{_kernelsrcdir}/include
1234 %dir %{_kernelsrcdir}/arch
1235 %dir %{_kernelsrcdir}/arch/[!K]*
1236 %{_kernelsrcdir}/arch/*/include
1237 %dir %{_kernelsrcdir}/security
1238 %dir %{_kernelsrcdir}/security/selinux
1239 %{_kernelsrcdir}/security/selinux/include
1240 %dir %{_kernelsrcdir}/tools
1241 %{_kernelsrcdir}/tools/include
1242 %dir %{_kernelsrcdir}/usr
1243 %dir %{_kernelsrcdir}/usr/include
1244 %{_kernelsrcdir}/.config
1245 %{_kernelsrcdir}/Module.symvers
1247 %files module-build -f files.mb_include_modulebuild_and_dirs
1248 %defattr(644,root,root,755)
1250 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1252 %exclude %dir %{_kernelsrcdir}/arch/um
1253 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1254 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1255 %{_kernelsrcdir}/kernel/bounds.c
1256 %{_kernelsrcdir}/scripts/basic/*.c
1257 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1258 %{_kernelsrcdir}/scripts/kconfig/*.pl
1259 %{_kernelsrcdir}/scripts/kconfig/*.glade
1260 %{_kernelsrcdir}/scripts/kconfig/*.cc
1261 %{_kernelsrcdir}/scripts/kconfig/*.y
1262 %{_kernelsrcdir}/scripts/kconfig/*.l
1263 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1264 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1265 %{_kernelsrcdir}/scripts/kconfig/l*.h
1266 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.c
1267 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.h
1268 %{_kernelsrcdir}/scripts/kconfig/preprocess.c
1269 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.c
1270 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.h
1271 %{_kernelsrcdir}/scripts/kconfig/lxdialog
1272 %{_kernelsrcdir}/scripts/mod/*.c
1273 %{_kernelsrcdir}/scripts/mod/modpost.h
1274 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
1275 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
1276 %{_kernelsrcdir}/scripts/subarch.include
1277 %{_kernelsrcdir}/scripts/*.c
1278 %{_kernelsrcdir}/scripts/*.h
1279 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
1280 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1281 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1282 %exclude %dir %{_kernelsrcdir}/security
1283 %exclude %dir %{_kernelsrcdir}/security/selinux
1284 %ifarch %{x8664} x32
1285 %attr(755,root,root) %{_kernelsrcdir}/tools/objtool/fixdep
1286 %attr(755,root,root) %{_kernelsrcdir}/tools/objtool/objtool
1291 %defattr(644,root,root,755)
1292 %dir %{_docdir}/%{name}-%{version}
1294 %{_docdir}/%{name}-%{version}/[!jkz]*
1295 %{_docdir}/%{name}-%{version}/kbuild
1296 %{_docdir}/%{name}-%{version}/kernel-hacking
1300 %files source -f files.source_exclude_modulebuild_and_dirs
1301 %defattr(644,root,root,755)
1302 %{_kernelsrcdir}/arch/*/[!Mik]*
1303 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1304 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1305 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1306 %{_kernelsrcdir}/arch/m68k/install.sh
1307 %{_kernelsrcdir}/arch/parisc/install.sh
1308 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1309 %{_kernelsrcdir}/arch/powerpc/kexec
1310 %{_kernelsrcdir}/arch/powerpc/kvm
1311 %{_kernelsrcdir}/arch/riscv/kvm
1313 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1315 %{_kernelsrcdir}/arch/arm64/kvm
1316 %{_kernelsrcdir}/arch/loongarch/kvm
1317 %{_kernelsrcdir}/arch/mips/kvm
1318 %{_kernelsrcdir}/arch/s390/kvm
1319 %{_kernelsrcdir}/arch/x86/kvm
1320 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1321 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1322 %{_kernelsrcdir}/block
1323 %{_kernelsrcdir}/certs
1324 %{_kernelsrcdir}/crypto
1325 %{_kernelsrcdir}/drivers
1327 %{_kernelsrcdir}/init
1328 %{_kernelsrcdir}/io_uring
1329 %{_kernelsrcdir}/ipc
1330 %{_kernelsrcdir}/kernel
1331 %exclude %{_kernelsrcdir}/kernel/bounds.c
1332 %{_kernelsrcdir}/lib
1334 %{_kernelsrcdir}/net
1335 %{_kernelsrcdir}/virt
1336 %{_kernelsrcdir}/rust
1337 %{_kernelsrcdir}/samples
1338 %{_kernelsrcdir}/scripts/*
1339 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1340 %exclude %{_kernelsrcdir}/scripts/Makefile*
1341 %exclude %{_kernelsrcdir}/scripts/basic
1342 %exclude %{_kernelsrcdir}/scripts/kconfig
1343 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1344 %exclude %{_kernelsrcdir}/scripts/mod
1345 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1346 %exclude %{_kernelsrcdir}/scripts/subarch.include
1347 %exclude %{_kernelsrcdir}/scripts/*.c
1348 %exclude %{_kernelsrcdir}/scripts/*.h
1349 %exclude %{_kernelsrcdir}/scripts/*.sh
1350 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1351 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1352 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1353 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1354 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1355 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1356 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1357 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1358 %{_kernelsrcdir}/sound
1359 %{_kernelsrcdir}/security
1360 %exclude %{_kernelsrcdir}/security/selinux/include
1361 %{_kernelsrcdir}/tools/*
1362 %exclude %{_kernelsrcdir}/tools/include
1363 %ifarch %{x8664} x32
1364 %exclude %{_kernelsrcdir}/tools/objtool/fixdep
1365 %exclude %{_kernelsrcdir}/tools/objtool/objtool
1367 %{_kernelsrcdir}/usr
1368 %{_kernelsrcdir}/COPYING
1369 %{_kernelsrcdir}/CREDITS
1370 %{_kernelsrcdir}/MAINTAINERS
1371 %{_kernelsrcdir}/README