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: 5b31116070986a56ee2747daf53ca48c
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
780 %if %{with fbcondecor}
784 CONFIG_FB_TILEBLITTING=n
785 CONFIG_FB_CON_DECOR=y
796 %if %{_ver_ge %(rpm -q --qf='%%{VERSION}' gcc) 12}
797 CONFIG_INIT_STACK_ALL_ZERO=y
798 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=n
800 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
805 RescueConfig rescue.config
807 # prepare kernel-style config file from multiple config files
808 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
810 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
813 %if %{without vanilla}
822 %{SOURCE41} %{?0:patches} \
825 $RPM_SOURCE_DIR/$Config
829 install -d arch/%{target_arch_dir}
830 BuildConfig > %{defconfig}
831 ln -sf %{defconfig} .config
835 TARGETOBJ=%{targetobj} \
836 %{?with_verbose:V=1} \
839 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
842 TARGETOBJ=%{targetobj} \
843 %{?with_verbose:V=1} \
848 ICECC_EXTRAFILES="${ICECC_EXTRAFILES:+$ICECC_EXTRAFILES:}$(test -d %{objdir}/scripts/gcc-plugins && find %{objdir}/scripts/gcc-plugins -name '*.so' | paste -s -d :)"
850 TARGETOBJ=%{targetobj} \
851 %{?with_verbose:V=1} \
855 rm -rf $RPM_BUILD_ROOT
856 %{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install \
858 %{?with_verbose:V=1} \
860 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
861 INSTALL_MOD_STRIP="--strip-debug --remove-section=.comment --remove-section=.note.GNU-stack" \
862 KERNELRELEASE=%{kernel_release}
864 %ifarch %{arm} aarch64
866 %{__make} %{MakeOpts} %{!?with_verbose:-s} dtbs_install \
868 %{?with_verbose:V=1} \
869 INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/boot/dtb-%{kernel_release}
872 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
874 # create directories which may be missing, to simplyfy %files
875 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
877 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
878 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
879 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
881 # no point embed content for %ghost files. empty them
889 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
890 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
894 install -d $RPM_BUILD_ROOT/boot
895 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
896 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
897 %ifarch %{ix86} %{x8664} x32
898 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
899 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
902 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
903 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
905 %ifarch alpha sparc sparc64
906 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
907 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
908 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
910 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
911 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
914 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
915 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
919 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
922 cp -a %{objdir}/arch/%{target_arch_dir}/boot/Image.gz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
926 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
927 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
929 %if "%{_target_base_arch}" != "%{_host_base_arch}"
930 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
933 # /etc/depmod.d /etc/modrobe.d
934 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{depmod.d,modprobe.d}/%{kernel_release}
936 install -d $RPM_BUILD_ROOT/etc/sysconfig
937 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
940 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
942 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
943 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
945 rm -f $RPM_BUILD_ROOT/COPYING
948 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
949 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
950 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
951 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
952 # copy arch/x86/include/generated
953 for dir in $(cd %{objdir} && find arch -name generated -type d); do
954 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
955 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
959 # Needed for CONFIG_STACK_VALIDATION / ORC_UNWINDER enabled builds
960 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
961 cp -a %{objdir}/tools/objtool/fixdep $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
962 cp -a %{objdir}/tools/objtool/objtool $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
965 # version.h location changed in 3.7, but a lot of external modules don't know about it
966 # add a compatibility symlink
967 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
969 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
970 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
972 # collect module-build files and directories
973 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
975 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
976 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
979 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
982 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
984 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
986 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
987 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
991 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
992 install -d $RPM_BUILD_ROOT%{_docdir}
993 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
995 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
996 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
997 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
999 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
1003 rm -rf $RPM_BUILD_ROOT
1006 if [ -x /sbin/new-kernel-pkg ]; then
1007 /sbin/new-kernel-pkg --remove %{kernel_release}
1011 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1012 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1013 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1014 mv -f /boot/System.map{,.old} 2> /dev/null
1015 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1016 ln -sf System.map-%{kernel_release} /boot/System.map
1017 %ifarch %{arm} aarch64
1018 test -L /boot/dtb.old && rm /boot/dtb.old
1019 test ! -e /boot/dtb.old && mv -f /boot/dtb{,.old} 2> /dev/null
1020 ln -sf dtb-%{kernel_release} /boot/dtb
1022 %if 0%{?alt_kernel:1}
1023 mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1024 mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
1025 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
1026 ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
1027 %ifarch %{arm} aarch64
1028 test -L /boot/dtb%{_alt_kernel}.old && rm /boot/dtb%{_alt_kernel}.old
1029 test ! -e /boot/dtb%{_alt_kernel}.old && mv -f /boot/dtb%{_alt_kernel}{,.old} 2> /dev/null
1030 ln -sf dtb-%{kernel_release} /boot/dtb%{_alt_kernel}
1035 %depmod %{kernel_release}
1038 # use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
1039 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1041 if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
1042 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
1043 initrd_file="initrd-%{kernel_release}.gz"
1046 # if dracut is present then generate full-featured initramfs
1047 if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
1048 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
1049 [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
1052 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1053 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1054 if [ -n "$initrd_file" ] ; then
1055 ln -sf "$initrd_file" %{initrd_dir}/initrd
1057 %if 0%{?alt_kernel:1}
1058 mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
1059 if [ -n "$initrd_file" ] ; then
1060 ln -sf "$initrd_file" %{initrd_dir}/initrd%{_alt_kernel}
1065 # update boot loaders when old package files are gone from filesystem
1066 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1067 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1068 /sbin/update-grub >/dev/null
1071 if [ -x /sbin/new-kernel-pkg ]; then
1072 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/$initrd_file --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1074 if [ -x /sbin/rc-boot ]; then
1075 /sbin/rc-boot 1>&2 || :
1077 if [ -x /sbin/efi-boot-update ]; then
1078 /sbin/efi-boot-update --auto || :
1082 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1083 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1084 mv -f /boot/vmlinux{,.old} 2> /dev/null
1085 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1086 %if 0%{?alt_kernel:1}
1087 mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
1088 ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
1093 %depmod %{kernel_release}
1096 %depmod %{kernel_release}
1099 %depmod %{kernel_release}
1102 %depmod %{kernel_release}
1105 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
1108 if [ "$1" = "0" ]; then
1109 if [ -L %{_prefix}/src/linux%{versuffix}%{_alt_kernel} ]; then
1110 if [ "$(readlink %{_prefix}/src/linux%{versuffix}%{_alt_kernel})" = "linux%{versuffix}%{_alt_kernel}-%{version}" ]; then
1111 rm -f %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
1116 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1117 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1118 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1120 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1121 if [ "$1" = 0 ]; then
1122 rm -f /lib/modules/%{kernel_release}/{build,source}
1126 %defattr(644,root,root,755)
1127 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
1128 %ifarch sparc sparc64
1129 /boot/vmlinux.aout-%{kernel_release}
1131 %ifarch %{arm} aarch64
1132 /boot/dtb-%{kernel_release}
1134 /boot/vmlinuz-%{kernel_release}
1135 /boot/System.map-%{kernel_release}
1136 /boot/config-%{kernel_release}
1137 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1138 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
1140 %dir /lib/modules/%{kernel_release}
1141 %dir /lib/modules/%{kernel_release}/kernel
1142 /lib/modules/%{kernel_release}/kernel/arch
1143 /lib/modules/%{kernel_release}/kernel/block
1144 /lib/modules/%{kernel_release}/kernel/crypto
1145 /lib/modules/%{kernel_release}/kernel/drivers
1147 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1149 /lib/modules/%{kernel_release}/kernel/fs
1150 /lib/modules/%{kernel_release}/kernel/kernel
1151 /lib/modules/%{kernel_release}/kernel/lib
1152 /lib/modules/%{kernel_release}/kernel/net
1153 /lib/modules/%{kernel_release}/kernel/mm
1155 %dir /lib/modules/%{kernel_release}/kernel/sound
1156 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1157 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1159 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1160 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1161 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1162 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
1165 %exclude /lib/modules/%{kernel_release}/kernel/drivers/staging/vc04_services/bcm2835-audio
1168 %dir /lib/modules/%{kernel_release}/misc
1170 /lib/modules/%{kernel_release}/kernel/sound
1172 /lib/modules/%{kernel_release}/kernel/security
1173 %ifarch %{ix86} %{x8664} x32
1174 /lib/modules/%{kernel_release}/kernel/virt
1177 %dir %{_sysconfdir}/depmod.d/%{kernel_release}
1178 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1181 /lib/modules/%{kernel_release}/modules.order
1182 /lib/modules/%{kernel_release}/modules.builtin*
1184 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1185 %ghost /lib/modules/%{kernel_release}/modules.alias
1186 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1187 %ghost /lib/modules/%{kernel_release}/modules.dep
1188 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1189 %ghost /lib/modules/%{kernel_release}/modules.devname
1190 %ghost /lib/modules/%{kernel_release}/modules.softdep
1191 %ghost /lib/modules/%{kernel_release}/modules.symbols
1192 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1194 # symlinks pointing to kernelsrcdir
1195 %ghost /lib/modules/%{kernel_release}/build
1196 %ghost /lib/modules/%{kernel_release}/source
1198 %ifarch alpha %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
1200 %defattr(644,root,root,755)
1201 /boot/vmlinux-%{kernel_release}
1206 %defattr(644,root,root,755)
1207 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1212 %defattr(644,root,root,755)
1213 /lib/modules/%{kernel_release}/kernel/sound
1214 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1215 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1216 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1218 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
1219 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1220 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1221 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1224 /lib/modules/%{kernel_release}/kernel/drivers/staging/vc04_services/bcm2835-audio
1228 %files headers -f files.headers_exclude_kbuild
1229 %defattr(644,root,root,755)
1230 %dir %{_kernelsrcdir}
1231 %{_kernelsrcdir}/include
1232 %dir %{_kernelsrcdir}/arch
1233 %dir %{_kernelsrcdir}/arch/[!K]*
1234 %{_kernelsrcdir}/arch/*/include
1235 %dir %{_kernelsrcdir}/security
1236 %dir %{_kernelsrcdir}/security/selinux
1237 %{_kernelsrcdir}/security/selinux/include
1238 %dir %{_kernelsrcdir}/tools
1239 %{_kernelsrcdir}/tools/include
1240 %dir %{_kernelsrcdir}/usr
1241 %dir %{_kernelsrcdir}/usr/include
1242 %{_kernelsrcdir}/.config
1243 %{_kernelsrcdir}/Module.symvers
1245 %files module-build -f files.mb_include_modulebuild_and_dirs
1246 %defattr(644,root,root,755)
1248 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1250 %exclude %dir %{_kernelsrcdir}/arch/um
1251 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1252 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1253 %{_kernelsrcdir}/kernel/bounds.c
1254 %{_kernelsrcdir}/scripts/basic/*.c
1255 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1256 %{_kernelsrcdir}/scripts/kconfig/*.pl
1257 %{_kernelsrcdir}/scripts/kconfig/*.glade
1258 %{_kernelsrcdir}/scripts/kconfig/*.cc
1259 %{_kernelsrcdir}/scripts/kconfig/*.y
1260 %{_kernelsrcdir}/scripts/kconfig/*.l
1261 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1262 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1263 %{_kernelsrcdir}/scripts/kconfig/l*.h
1264 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.c
1265 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.h
1266 %{_kernelsrcdir}/scripts/kconfig/preprocess.c
1267 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.c
1268 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.h
1269 %{_kernelsrcdir}/scripts/kconfig/lxdialog
1270 %{_kernelsrcdir}/scripts/mod/*.c
1271 %{_kernelsrcdir}/scripts/mod/modpost.h
1272 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
1273 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
1274 %{_kernelsrcdir}/scripts/subarch.include
1275 %{_kernelsrcdir}/scripts/*.c
1276 %{_kernelsrcdir}/scripts/*.h
1277 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
1278 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1279 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1280 %exclude %dir %{_kernelsrcdir}/security
1281 %exclude %dir %{_kernelsrcdir}/security/selinux
1282 %ifarch %{x8664} x32
1283 %attr(755,root,root) %{_kernelsrcdir}/tools/objtool/fixdep
1284 %attr(755,root,root) %{_kernelsrcdir}/tools/objtool/objtool
1289 %defattr(644,root,root,755)
1290 %dir %{_docdir}/%{name}-%{version}
1292 %{_docdir}/%{name}-%{version}/[!jkz]*
1293 %{_docdir}/%{name}-%{version}/kbuild
1294 %{_docdir}/%{name}-%{version}/kernel-hacking
1298 %files source -f files.source_exclude_modulebuild_and_dirs
1299 %defattr(644,root,root,755)
1300 %{_kernelsrcdir}/arch/*/[!Mik]*
1301 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1302 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1303 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1304 %{_kernelsrcdir}/arch/m68k/install.sh
1305 %{_kernelsrcdir}/arch/parisc/install.sh
1306 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1307 %{_kernelsrcdir}/arch/powerpc/kexec
1308 %{_kernelsrcdir}/arch/powerpc/kvm
1309 %{_kernelsrcdir}/arch/riscv/kvm
1311 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1313 %{_kernelsrcdir}/arch/arm64/kvm
1314 %{_kernelsrcdir}/arch/loongarch/kvm
1315 %{_kernelsrcdir}/arch/mips/kvm
1316 %{_kernelsrcdir}/arch/s390/kvm
1317 %{_kernelsrcdir}/arch/x86/kvm
1318 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1319 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1320 %{_kernelsrcdir}/block
1321 %{_kernelsrcdir}/certs
1322 %{_kernelsrcdir}/crypto
1323 %{_kernelsrcdir}/drivers
1325 %{_kernelsrcdir}/init
1326 %{_kernelsrcdir}/io_uring
1327 %{_kernelsrcdir}/ipc
1328 %{_kernelsrcdir}/kernel
1329 %exclude %{_kernelsrcdir}/kernel/bounds.c
1330 %{_kernelsrcdir}/lib
1332 %{_kernelsrcdir}/net
1333 %{_kernelsrcdir}/virt
1334 %{_kernelsrcdir}/rust
1335 %{_kernelsrcdir}/samples
1336 %{_kernelsrcdir}/scripts/*
1337 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1338 %exclude %{_kernelsrcdir}/scripts/Makefile*
1339 %exclude %{_kernelsrcdir}/scripts/basic
1340 %exclude %{_kernelsrcdir}/scripts/kconfig
1341 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1342 %exclude %{_kernelsrcdir}/scripts/mod
1343 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1344 %exclude %{_kernelsrcdir}/scripts/subarch.include
1345 %exclude %{_kernelsrcdir}/scripts/*.c
1346 %exclude %{_kernelsrcdir}/scripts/*.h
1347 %exclude %{_kernelsrcdir}/scripts/*.sh
1348 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1349 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1350 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1351 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1352 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1353 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1354 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1355 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1356 %{_kernelsrcdir}/sound
1357 %{_kernelsrcdir}/security
1358 %exclude %{_kernelsrcdir}/security/selinux/include
1359 %{_kernelsrcdir}/tools/*
1360 %exclude %{_kernelsrcdir}/tools/include
1361 %ifarch %{x8664} x32
1362 %exclude %{_kernelsrcdir}/tools/objtool/fixdep
1363 %exclude %{_kernelsrcdir}/tools/objtool/objtool
1365 %{_kernelsrcdir}/usr
1366 %{_kernelsrcdir}/COPYING
1367 %{_kernelsrcdir}/CREDITS
1368 %{_kernelsrcdir}/MAINTAINERS
1369 %{_kernelsrcdir}/README