/[packages]/backports/8/kernel/current/SPECS/kernel.spec
ViewVC logotype

Contents of /backports/8/kernel/current/SPECS/kernel.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1861162 - (show annotations) (download)
Fri Jun 3 19:32:07 2022 UTC (22 months, 2 weeks ago) by tmb
File size: 54778 byte(s)
- revert: "hwmon: (k10temp): Load the driver on models A0h-AFh"
- revert: "x86/amd_nb: Add AMD Family 19h A0-AF IDs"


1 # -*- Mode: rpm-spec -*-
2 #
3 # This Specfile is based on kernel-tmb spec done by
4 # Thomas Backlund <tmb@mandriva.org>
5 #
6 # The mkflavour() macroization done by Anssi Hannula <anssi@mandriva.org>
7 #
8 # ----------------------------------------------------------------------------
9 # Consult this page for extra docs:
10 #
11 # https://wiki.mageia.org/en/Kernel_update_workflow
12 #
13 # (feel free to adjust the wiki-page when adding or removing features
14 # to the spec file).
15 #
16 # After building a new kernel, remember to push:
17 #
18 # kmod-virtualbox
19 # kmod-vboxadditions
20 # kmod-xtables-addons
21 # drakx-installer-images (both core and nonfree)
22 # ----------------------------------------------------------------------------
23 #
24 # Aarch64 still has problems with multithreaded rpmbuild 4.15-rc
25 %if 0%{?mageia} >= 8
26 %ifarch aarch64
27 %global _smp_nthreads_max 1
28 %endif
29 %endif
30
31 #
32 # Mageia kernels use kernel.org versioning
33 #
34 %define kernelversion 5
35 # WARNING: when patchlevel is bumped, please update drakx/kernel/list_modules.pm for new modules!!!
36 %define patchlevel 18
37 # sublevel is now used for -stable patches
38 %define sublevel 1
39
40 # Package release
41 %define mgarel 3
42
43 # kernel Makefile extraversion is substituted by
44 # rcX which are either 0 (empty), X (as in rcX)
45 %define rcX 0
46
47 # kernel base name (also name of srpm)
48 %define kname kernel
49
50 # Patch tarball tag
51 %define ktag mga
52
53 %define rpmtag %{distsuffix}%{mgaver}
54 %if %{rcX}
55 %define rpmrel %mkrel 0.rc%{rcX}.%{mgarel}
56 %else
57 %define rpmrel %mkrel %{mgarel}
58 %endif
59
60 # fakerel and fakever never change, they are used to fool
61 # rpm/urpmi/smart and ensure the kernels are installed,
62 # not upgraded so old kernel is not overwritten or removed
63 %define fakever 1
64 %define fakerel %mkrel 1
65
66 # version defines
67 %define kversion %{kernelversion}.%{patchlevel}.%{sublevel}
68 %define kverrel %{kversion}-%{rpmrel}
69
70 # When we are using a rcX patch, the tarball is a sublevel -1
71 %if %{rcX}
72 %if %sublevel
73 %define tar_ver %{kernelversion}.%{patchlevel}
74 %else
75 %define tar_ver %{kernelversion}.%(expr %{patchlevel} - 1)
76 %endif
77 %else
78 %define tar_ver %{kernelversion}.%{patchlevel}
79 %endif
80
81 # Used for not making too long names for rpms or search paths
82 %if %rcX
83 %define buildrpmrel 0.rc%{rcX}.%{mgarel}%{rpmtag}
84 %else
85 %define buildrpmrel %{mgarel}%{rpmtag}
86 %endif
87 %define buildrel %{kversion}-%{buildrpmrel}
88
89 # Having different top level names for packges means that you have to remove
90 # them by hard :(
91 %define top_dir_name %{kname}-%{_arch}
92
93 %define build_dir ${RPM_BUILD_DIR}/%{top_dir_name}
94 %define src_dir %{build_dir}/linux-%{tar_ver}
95
96 # Disable useless debug rpms...
97 %global _enable_debug_packages %{nil}
98 %global debug_package %{nil}
99 %global __debug_package %{nil}
100 %global __debug_install_post %{nil}
101 %global _build_id_links none
102
103 # no bytecompiling wanted as it breaks build on selftests we dont even ship
104 # for older buildsystems
105 %global _python_bytecompile_build 0
106 # for systems with >= rpm-mageia-setup-2.29-1.mga7
107 %global __brp_python_bytecompile %nil
108
109 # Build defines
110 %define build_doc 1
111 %define build_uheaders 1
112 %define build_source 1
113 %define build_devel 1
114
115 %define build_debug 0
116
117 # Build desktop i586 / 4GB
118 %ifarch %{ix86}
119 %define build_desktop586 1
120 %endif
121
122 # Build desktop (i686 / 64GB) / x86_64 / arm / aarch64
123 %define build_desktop 1
124
125 # Build server (i686 / 64GB)/x86_64 / aarch64
126 %ifnarch %{arm}
127 %define build_server 1
128 %else
129 %define build_server 0
130 %endif
131
132 # build cpupower
133 %ifnarch %{arm} aarch64
134 %define build_cpupower 1
135 %else
136 %define build_cpupower 0
137 %endif
138
139 # build perf
140 %define build_perf 1
141
142 # bpf
143 %define build_bpftool 1
144 %define build_libbpf 1
145
146 # compress modules with xz
147 %ifnarch %{arm}
148 %define build_modxz 1
149 %else
150 %define build_modxz 0
151 %endif
152 # End of user definitions
153
154 # buildtime override flags
155 %{?_without_desktop586: %global build_desktop586 0}
156 %{?_without_desktop: %global build_desktop 0}
157 %{?_without_server: %global build_server 0}
158 %{?_without_doc: %global build_doc 0}
159 %{?_without_uheaders: %global build_uheaders 0}
160 %{?_without_source: %global build_source 0}
161 %{?_without_devel: %global build_devel 0}
162 %{?_without_debug: %global build_debug 0}
163 %{?_without_perf: %global build_perf 0}
164 %{?_without_cpupower: %global build_cpupower 0}
165 %{?_without_bpftool: %global build_bpftool 0}
166 %{?_without_libbpf: %global build_libbpf 0}
167 %{?_without_modxz: %global build_modxz 0}
168
169 %{?_with_desktop586: %global build_desktop586 1}
170 %{?_with_desktop: %global build_desktop 1}
171 %{?_with_server: %global build_server 1}
172 %{?_with_doc: %global build_doc 1}
173 %{?_with_uheaders: %global build_uheaders 1}
174 %{?_with_source: %global build_source 1}
175 %{?_with_devel: %global build_devel 1}
176 %{?_with_debug: %global build_debug 1}
177 %{?_with_perf: %global build_perf 1}
178 %{?_with_cpupower: %global build_cpupower 1}
179 %{?_with_bpftool: %global build_bpftool 1}
180 %{?_with_libbpf: %global build_libbpf 1}
181 %{?_with_modxz: %global build_modxz 1}
182
183 # For the .nosrc.rpm
184 %define build_nosrc 0
185 %{?_with_nosrc: %global build_nosrc 1}
186
187 %if %(if [ -z "$CC" ] ; then echo 0; else echo 1; fi)
188 %define kmake %make_build CC="$CC"
189 %else
190 %define kmake %make_build
191 %endif
192 # there are places where parallel make don't work
193 %define smake make
194
195 # Parallelize xargs invocations on smp machines
196 %define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\
197 && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\
198 [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-P $RPM_BUILD_NCPUS")
199
200 # arm(64) arch matching
201 %define target_arch %(echo %{_arch} | sed -e 's/arm.*/arm/' -e 's/aarch64/arm64/')
202
203
204 #
205 # SRC RPM description
206 #
207 Summary: Linux kernel built for Mageia
208 Name: %{kname}
209 Version: %{kversion}
210 Release: %{rpmrel}
211 License: GPLv2
212 Group: System/Kernel and hardware
213 ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
214 ExclusiveOS: Linux
215 URL: https://www.kernel.org/
216
217 ####################################################################
218 #
219 # Sources
220 #
221 ### This is for full SRC RPM
222 Source0: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.xz
223 Source1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.sign
224 ### This is for stripped SRC RPM
225 %if %build_nosrc
226 NoSource: 0
227 %endif
228 # This is for disabling *config, mrproper, prepare, scripts on -devel rpms
229 Source2: disable-mrproper-in-devel-rpms.patch
230
231 Source4: README.kernel-sources
232
233 # for creating stable queue patchlist
234 Source5: generate-patchlist.sh
235
236 # copy to patched source tree along with the defconfigs and run it
237 Source10: defconfig-updater.sh
238 Source09: defconfig-updater-simple.sh
239 # x86_64 defconfigs
240 Source11: defconfig-x86_64-desktop
241 Source12: defconfig-x86_64-server
242 # i386 defconfigs
243 Source13: defconfig-i386-desktop586
244 Source14: defconfig-i386-desktop
245 Source15: defconfig-i386-server
246 # arm64 defconfigs
247 Source16: defconfig-arm64-desktop
248 Source17: defconfig-arm64-server
249 # arm defconfigs
250 Source18: defconfig-arm-desktop
251
252 # config and systemd service file from fedora
253 Source50: cpupower.service
254 Source51: cpupower.config
255
256 ####################################################################
257 #
258 # Patches
259
260 #
261 # Patch0 to Patch10 are for core kernel upgrades.
262 #
263
264 %if %sublevel
265 Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{kernelversion}.%{patchlevel}.%{sublevel}.xz
266 %endif
267 %if %{rcX}
268 # (tmb) Created with:
269 # wget https://git.kernel.org/torvalds/p/v5.10-rc7/v5.9 -O patch-5.10-rc7
270 # xz -6e patch-5.10-rc7
271 Patch2: patch-%{kernelversion}.%{patchlevel}-rc%{rcX}.xz
272 %endif
273
274 ###
275 ### Stable Queue can be big
276 ### Patches from 100-999
277 ###
278 ### add patches here by copying contents of kernel matching queue-x.y from:
279 ### https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/
280 ### to SOURCES, generate patchlist with generate-patchlist.sh and paste it here
281 ###
282
283 ###
284 ### Arch
285 ### Patches from 1000
286 ###
287
288 # laptop needing pci=assign-busses (#18989, needs to be submitted upstream)
289 Patch1000: x86-pci-toshiba-equium-a60-assign-busses.patch
290
291 # If users choose a bad video mode, allow to jump to
292 # a working one (TTL: forever)
293 Patch1001: x86-boot-video-80x25-if-break.patch
294
295 # Allow poweroff on UP machines running SMP kernels
296 Patch1005: x86-default_poweroff_up_machines.patch
297
298 # raise vmalloc to fix https://bugs.mageia.org/show_bug.cgi?id=904
299 Patch1010: x86-increase-default-minimum-vmalloc-area-by-64MB-to-192MB.patch
300
301 # slows down boot
302 Patch1015: Revert-cpufreq-pcc-Enable-autoload-of-pcc-cpufreq-fo.patch
303
304 # AMD Zen mwait optimization v3
305 Patch1020: x86-Use-HLT-in-default_idle-when-idle-nomwait-cmdlin.patch
306 Patch1021: x86-Remove-vendor-checks-from-prefer_mwait_c1_over_h.patch
307 Patch1022: x86-Fix-comment-for-X86_FEATURE_ZEN.patch
308
309 # init
310 Patch1050: init-add-hostname-kernel-parameter.patch
311
312 ###
313 ### ACPI
314 ###
315
316 # CLEVO M360S acpi irq workaround
317 Patch1100: acpi-CLEVO-M360S-disable_acpi_irq.patch
318
319 # Clevo M720SR freezes with C3
320 Patch1105: acpi-processor-M720SR-limit-to-C2.patch
321
322 # ACPI PM fixes (TTL: 5.18)
323 Patch1130: x86-ACPI-State-Optimize-C3-entry-on-AMD-CPUs.patch
324
325 ###
326 ### Block
327 ###
328
329 # FIXME: Don't know know why this is needed
330 Patch1200: scsi-megaraid-new-sysfs-name.patch
331
332 # adds aliases to support upgrade from old dm-raid45 patch
333 Patch1215: dm-raid-aliases.patch
334
335 # disable floppy autoloading (mga #4696)
336 Patch1220: block-floppy-disable-pnp-modalias.patch
337
338 ###
339 ### Crypto
340 ###
341
342 ###
343 ### dma
344 ###
345
346 ###
347 ### File-system
348 ###
349
350 # aufs diffed from: https://github.com/sfjro/aufs5-linux/tree/aufs5.18 (mga#8314)
351 Patch1310: fs-aufs5.18.patch
352 # symbol exports needed for modular aufs
353 Patch1311: fs-aufs5.18-symbol-exports.patch
354 # set aufs tristate
355 Patch1312: fs-aufs5.18-tristate.patch
356
357 # nfsd
358 Patch1320: nfsd-destroy-percpu-stats-counters-after-reply-cache.patch
359
360 ###
361 ### FireWire
362 ###
363
364 # adding module aliases to ease upgrade from ieee1394
365 Patch1400: firewire-ieee1394-module-aliases.patch
366
367 ###
368 ### Firmware
369 ###
370
371 ###
372 ### GPU/DRM
373 ###
374
375 # mga compat option
376 Patch1500: drm-gpu-drm-treat-nokmsboot-as-nomodeset.patch
377
378 # amdgpu
379 # switch SI and CIK from radeon to amdgpu
380 Patch1520: drm-amdgpu-SI-and-CIK-enabled-by-default.patch
381
382 # new Q57 Host Bridge id
383 Patch1530: char-agp-intel-new-Q57-id.patch
384
385 # i915
386 # TGL
387 Patch1546: drm-i915-psr-Disable-PSR2-selective-fetch-for-all-TGL-steps.patch
388
389 # https://bugzilla.kernel.org/show_bug.cgi?id=206653#c19
390 Patch1552: i2c_nvidia_gpu-change-err-into-info.patch
391
392 # 5.16.3 regression
393 Patch1560: Revert-drm-nouveau-pmu-gm200-avoid-touching-PMU-outs.patch
394
395 ###
396 ### gpio
397 ###
398
399 ###
400 ### hwmon
401 ###
402
403 ###
404 ### i2c
405 ###
406
407 ###
408 ### iommu
409 ###
410
411 Patch1650: iommu-amd-increase-timeout-waiting-for-ga-log-enablement.patch
412
413 ###
414 ### Input
415 ###
416
417 Patch1700: input-i8042-quirks-for-Fujitsu-Lifebook-A544-and-Lif.patch
418
419 ###
420 ### HID
421 ###
422
423 ###
424 ### kernel
425 ###
426
427 # CVE-2021-4204
428 Patch1800: bpf-prevent-helper-argument-PTR_TO_ALLOC_MEM-to-have-offset-other-than-0.patch
429
430 ###
431 ### MFD
432 ###
433
434 ###
435 ### MM
436 ###
437
438 # 5.18 regression
439 Patch1850: mm-lru_cache_disable-use-synchronize_rcu_expedited.patch
440 #
441 Patch1851: mm-page_alloc-always-attempt-to-allocate-at-least-on.patch
442 Patch1852: hugetlb-fix-huge_pmd_unshare-address-update.patch
443
444 ###
445 ### Network
446 ###
447
448 # SiS 190 fixes
449 Patch1900: net-sis190-fix-list-usage.patch
450
451 # netfilter IFWLOG support
452 Patch1910: net-netfilter-IFWLOG.patch
453 Patch1911: net-netfilter-IFWLOG-mdv.patch
454 Patch1912: net-netfilter-IFWLOG-2.6.35-buildfix.patch
455 Patch1913: net-netfilter-IFWLOG-2.6.37-buildfix.patch
456 Patch1914: net-ipv4-netfilter-ipt_IFWLOG-3.6-buildfix.patch
457 Patch1915: net-netfilter-IFWLOG-3.7-buildfix.patch
458 Patch1916: net-netfilter-IFWLOG-remove-unused-label.patch
459 Patch1917: net-netfilter-ipt_IFWLOG-4.12-buildfix.patch
460 Patch1918: net-netfilter-IFWLOG-5.0-buildfix.patch
461
462 # netfilter psd support
463 Patch1920: net-netfilter-psd.patch
464 Patch1921: net-netfilter-psd-mdv.patch
465 Patch1922: net-netfilter-psd-2.6.35-buildfix.patch
466 Patch1923: net-netfilter-psd-fix-redefines.patch
467
468 # sec fix
469 Patch1925: netfilter-nf_tables-disallow-non-stateful-expression-in-sets-earlier.patch
470
471 # rtw88 wifi
472 # add alias for the replaced r8822be staging driver
473 Patch1930: net-wireless-rtw88-add-r8822be-alias.patch
474 # add alias for the replaced 8723de 3rdparty driver
475 Patch1931: net-wireless-rtw88-add-8723de-alias.patch
476
477 # iwlfiwi
478 Patch1980: net-wireless-iwlwifi-add-new-pci-id-for-6235.patch
479
480 ###
481 ### PCI
482 ###
483
484 ###
485 ### pinctrl
486 ###
487
488 ###
489 ### Platform
490 ###
491
492 # Allow access to Shuttle WMI interface controls
493 # (Mainly allow turning on/off webcam and wireless on Shuttle DA18IE and DA18IM)
494 Patch2050: platform-x86-add-shuttle-wmi-driver.patch
495 Patch2051: platform-x86-shuttle-wmi-drop-devinit-exit.patch
496 Patch2052: platform-x86-shuttle-wmi-4.2-buildfix.patch
497 Patch2053: platform-x86-shuttle-wmi-4.13-buildfix.patch
498 Patch2054: platform-x86-shuttle-wmi-kernel-5.5.patch
499
500 ###
501 ### PM
502 ###
503
504 ###
505 ### Sound
506 ###
507
508 ###
509 ### SPI
510 ###
511
512 ###
513 ### Staging
514 ###
515
516 ###
517 ### Thermal
518 ###
519
520 ###
521 ### Thunderbolt
522 ###
523
524 ###
525 ### USB
526 ###
527
528 Patch2300: hid-usbhid-IBM-BladeCenterHS20-quirk.patch
529
530 Patch2310: usb-storage-unusual_devs-add-id.patch
531 Patch2311: usb-storage-unusual_devs-add-id-2.6.37-buildfix.patch
532
533 ###
534 ### V4L
535 ###
536
537 # pwc driver name in /proc/bus/devices, /sys fix and "advertisement" removal
538 Patch2400: media-usb-pwc-lie-in-proc-usb-devices.patch
539
540 ###
541 ### Video
542 ###
543
544 # Mageia framebuffer boot logo
545 Patch2500: video-mageia-logo.patch
546
547 # fbdev
548 Patch2510: video-fbdev-vesafb-Fix-a-use-after-free-due-early-fb_info-cleanup.patch
549
550 ###
551 ### Virt
552 ###
553
554 # fix gcc-10 build
555 Patch2550: KVM-squelch-uninitialized-variable-warning.patch
556
557 # sec fix
558 Patch2555: KVM-x86-avoid-calling-x86-emulator-without-a-decoded.patch
559
560 ###
561 ### Tools
562 ###
563
564 # wipe powerpc refrence so we can nuke dangling symlinks (mga#17676)
565 Patch2600: tools-testing-selftest-Makefile-remove-powerpc-reference.patch
566
567 # fix perf build
568 Patch2605: tools-perf-ui-include-slang.patch
569
570 ###
571 ### UAPI
572 ###
573
574 Patch2700: uapi-avoid-namespace-conflict-in-linux-posix_types.h.patch
575
576 ###
577 ### 3rdparty
578 ###
579
580 Patch3000: 3rd-3rdparty-tree.patch
581 Patch3001: 3rd-3rdparty-merge.patch
582
583 # add rtl8812 support (mga#21043)
584 # from https://github.com/aircrack-ng/rtl8812au.git
585 Patch3200: 3rd-rtl8812au.patch
586 Patch3201: 3rd-rtl8812au-Kconfig-Makefile.patch
587 Patch3202: 3rd-rtl8812au-rename.patch
588 Patch3203: 3rd-rtl8812au-kernel-5.17.patch
589 Patch3204: 3rd-rtl8812au-kernel-5.18.patch
590
591 # add rtl8723de support (mga#22559)
592 Patch3300: 3rd-rtl8723de.patch
593 Patch3301: 3rd-rtl8723de-Kconfig-Makefile.patch
594 Patch3302: 3rd-rtl8723de-fix-redefine.patch
595 Patch3303: 3rd-rtl8723de-nodebug.patch
596 Patch3304: 3rd-rtl8223de-kernel-5.6.patch
597 Patch3305: 3rd-rtl8723de-add-kernel-5.8-support.patch
598
599 # viahss
600 Patch3400: 3rd-viahss-0.92.patch
601 Patch3401: 3rd-viahss-config.patch
602 Patch3402: 3rd-viahss-module-license.patch
603 Patch3403: 3rd-viahss-2.6.35-buildfix.patch
604 Patch3404: 3rd-viahss-3.0-buildfix.patch
605 Patch3405: 3rd-viahss-Kconfig-Makefile.patch
606
607 # fix Kconfig files for 3rdparty:
608 Patch3900: 3rd-fix-kconfig.patch
609
610 ###
611 ### Python fixes
612 ###
613 Patch4000: linux-5.18-python3.patch
614
615 ###
616 ### TTY
617 ###
618
619 ###
620 ### Security fixes
621 ###
622 Patch5002: CVE-2019-12379.patch
623 #
624 # CVE-2020-16119
625 # https://bugzilla.redhat.com/show_bug.cgi?id=1886374
626 # https://bugzilla.redhat.com/show_bug.cgi?id=1888083
627 Patch5003: CVE-2020-16119-DCCP-CCID-structure-use-after-free.patch
628
629 ###
630 ### Cosmetic fixes (e.g. typos, spelling, etc.)
631 ###
632
633 # broken rtla cleaner
634 Patch6000: hack-broken-rtla-cleaner.patch
635
636
637 ### Fixes from FC kernel
638 # Inspur Advantech PCI ids
639 Patch7000: 0001-scsi-smartpqi-add-inspur-advantech-ids.patch
640 # Vulcan AHCI PCI bar (aarch64)
641 Patch7001: 0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch
642
643 #END
644 ####################################################################
645
646 # Defines for the things that are needed for all the kernels
647 #
648 %define common_desc_kernel The kernel package contains the Linux kernel (vmlinuz), the core of your \
649 Mageia operating system. The kernel handles the basic functions \
650 of the operating system: memory allocation, process allocation, device \
651 input and output, etc.
652
653 %define common_desc_kernel_smp This kernel relies on in-kernel smp alternatives to switch between up & smp \
654 mode depending on detected hardware. To force the kernel to boot in single \
655 processor mode, use the "nosmp" boot parameter.
656
657 ### Global Requires/Provides
658 %define requires1 bootloader-utils >= 1.16-1
659 %define requires2 dracut >= 046-2
660 %define requires3 kmod >= 12-2
661 %define requires4 sysfsutils >= 2.1.0-16
662 %define requires5 kernel-firmware >= 20190603-1
663 # ldetect-lst with SI/CIK swich from radeon to amdgpu
664 %define requires6 ldetect-lst >= 0.6.25-1
665
666 %define kprovides1 %{kname} = %{kverrel}
667 %define kprovides2 kernel = %{tar_ver}
668 %define kprovides3 alsa = 1.0.26
669 %define kprovides_server drbd-api = 88
670
671 # conflict dkms packages that dont support kernel-5.12
672 %define kconflicts1 dkms-broadcom-wl < 6.30.223.271-61
673 %define kconflicts2 dkms-nvidia-current < 470.74-1
674 %define kconflicts3 dkms-nvidia390 < 390.144-1
675 %define kconflicts4 dkms-nvidia340 < 340.108-15
676 %define kconflicts5 dkms-nvidia304 < 304.137-3
677 %define kconflicts6 dkms-virtualbox < 6.1.20-1
678 %define kconflicts7 dkms-xtables-addons < 3.17-1
679 # (tmb) conflict older btrfs-progs to get the new in same transaction and in initrd
680 %define kconflicts8 btrfs-progs < 5.10-1
681 # (tmb) conflict too old radeon-firmware to get the uvd firmwares in initrd
682 %define kconflicts9 radeon-firmware < 20201218-1
683 # (tmb) conflict old firmware to get the firmwares in initrd
684 %define kconflicts10 kernel-firmware-nonfree < 20201230-1
685 # (tmb) conflict old microcode to get updated ones in initrd for early loading
686 %define kconflicts11 microcode < 0.20201118-2
687 # (tmb) conflict old theme to get mga8 theme in initrd
688 %define kconflicts12 mageia-gfxboot-theme < 4.5.14.11-2
689 # (tmb) conflict too old grub2(-efi)
690 %define kconflicts13 grub2 < 2.02.0-15
691 %define kconflicts14 grub2-efi < 2.02.0-15
692 # (tmb) conflict too old efibootmgr
693 %define kconflicts15 efibootmgr < 16-3
694 # (tmb) force new theme in initrd
695 %define kconflicts16 mageia-theme < 8.0-2
696
697 Autoreqprov: no
698
699 %if 0%{?mageia} >= 9
700 BuildRequires: gcc >= 11.1.0-0.RC.6
701 BuildRequires: binutils >= 1:2.36.1-7
702 %else
703 BuildRequires: gcc >= 8.4.0-1
704 BuildRequires: binutils >= 1:2.33.1-1
705 %endif
706 BuildRequires: kmod >= 12-2
707 BuildRequires: bc
708 # for crypto stuff
709 BuildRequires: pkgconfig(openssl)
710 # since 4.16
711 BuildRequires: bison
712 BuildRequires: diffutils
713 BuildRequires: elfutils-devel
714 BuildRequires: flex
715 # for headers_install
716 BuildRequires: rsync
717 # for cpupower
718 %if %{build_cpupower}
719 BuildRequires: pkgconfig(libpci)
720 %endif
721 # for perf
722 %if %{build_perf}
723 BuildRequires: audit-devel
724 BuildRequires: binutils-devel
725 BuildRequires: gtk2-devel
726 BuildRequires: libunwind-devel
727 BuildRequires: newt-devel
728 BuildRequires: python3-devel
729 BuildRequires: zlib-devel
730 BuildRequires: asciidoc
731 BuildRequires: xmlto-notex
732 BuildRequires: perl-devel
733 %if 0%{?mageia} >= 8
734 BuildRequires: systemtap-sdt-devel
735 BuildRequires: babeltrace-devel
736 %else
737 BuildRequires: libbabeltrace-devel
738 %endif
739 %ifarch %{ix86} x86_64
740 BuildRequires: numa-devel
741 %endif
742 %endif
743 %if %{build_bpftool}
744 BuildRequires: python3-docutils
745 BuildRequires: cap-devel
746 %endif
747
748 %description
749 %common_desc_kernel
750 %ifnarch %{arm}
751 %common_desc_kernel_smp
752 %endif
753
754 # mkflavour() name flavour processor
755 # name: the flavour name in the package name
756 # flavour: first parameter of CreateKernel()
757 %define mkflavour() \
758 %package -n %{kname}-%{1}-%{buildrel} \
759 Version: %{fakever} \
760 Release: %{fakerel} \
761 Provides: %kprovides1 %kprovides2 %kprovides3 \
762 %{expand:%%{?kprovides_%{1}:Provides: %{kprovides_%{1}}}} \
763 Provides: %{kname}-%{1} \
764 Requires(pre): %requires1 %requires2 %requires3 %requires4 \
765 Requires: %requires2 %requires5 %requires6 \
766 Conflicts: %kconflicts1 %kconflicts2 %kconflicts3 \
767 Conflicts: %kconflicts4 %kconflicts5 %kconflicts6 \
768 Conflicts: %kconflicts7 %kconflicts8 %kconflicts9 \
769 Conflicts: %kconflicts10 %kconflicts11 %kconflicts12 \
770 Conflicts: %kconflicts13 %kconflicts14 %kconflicts15 \
771 Conflicts: %kconflicts16 \
772 %if 0%{?mageia} >= 8 \
773 Obsoletes: crda \
774 Obsoletes: crda-devel \
775 Obsoletes: fuse-exfat \
776 %endif \
777 Provides: should-restart = system \
778 Provides: installonlypkg(kernel) \
779 Recommends: iw cpupower microcode \
780 Recommends: %{kname}-%{1}-latest \
781 %ifarch %{ix86} \
782 Conflicts: arch(x86_64) \
783 %endif \
784 Summary: %{expand:%{summary_%(echo %{1} | sed -e "s/-/_/")}} \
785 Group: System/Kernel and hardware \
786 %description -n %{kname}-%{1}-%{buildrel} \
787 %common_desc_kernel %{expand:%{info_%(echo %{1} | sed -e "s/-/_/")}} \
788 %ifnarch %{arm} \
789 %common_desc_kernel_smp \
790 %endif \
791 \
792 %if %build_devel \
793 %package -n %{kname}-%{1}-devel-%{buildrel} \
794 Version: %{fakever} \
795 Release: %{fakerel} \
796 Requires: glibc-devel ncurses-devel make gcc perl \
797 Requires: gcc >= 5.5.0-1 \
798 %ifarch x86_64 \
799 Requires: pkgconfig(libelf) \
800 %endif \
801 Summary: The kernel-devel files for %{kname}-%{1}-%{buildrel} \
802 Group: Development/Kernel \
803 Provides: %{kname}-devel = %{kverrel} \
804 Provides: %{kname}-%{1}-devel \
805 Recommends: %{kname}-%{1}-devel-latest \
806 %ifarch %{ix86} \
807 Conflicts: arch(x86_64) \
808 %endif \
809 %description -n %{kname}-%{1}-devel-%{buildrel} \
810 This package contains the kernel files (headers and build tools) \
811 that should be enough to build additional drivers for \
812 use with %{kname}-%{1}-%{buildrel}. \
813 \
814 If you want to build your own kernel, you need to install the full \
815 %{kname}-source-%{buildrel} rpm. \
816 \
817 %endif \
818 \
819 %if %build_debug \
820 %package -n %{kname}-%{1}-%{buildrel}-debuginfo \
821 Version: %{fakever} \
822 Release: %{fakerel} \
823 Summary: Files with debuginfo for %{kname}-%{1}-%{buildrel} \
824 Group: Development/Debug \
825 Provides: kernel-debug = %{kverrel} \
826 %ifarch %{ix86} \
827 Conflicts: arch(x86_64) \
828 %endif \
829 %description -n %{kname}-%{1}-%{buildrel}-debuginfo \
830 This package contains the files with debuginfo to aid in debug tasks \
831 when using %{kname}-%{1}-%{buildrel}. \
832 \
833 If you need to look at debug information or use some application that \
834 needs debugging info from the kernel, this package may help. \
835 \
836 %endif \
837 \
838 %package -n %{kname}-%{1}-latest \
839 Version: %{kversion} \
840 Release: %{rpmrel} \
841 Summary: Virtual rpm for latest %{kname}-%{1} \
842 Group: System/Kernel and hardware \
843 Requires: %{kname}-%{1}-%{buildrel} \
844 %ifarch %{ix86} \
845 Conflicts: arch(x86_64) \
846 %endif \
847 Obsoletes: vboxadditions-kernel-%{1}-latest \
848 Obsoletes: kernel-tmb-%{1}-latest \
849 %description -n %{kname}-%{1}-latest \
850 This package is a virtual rpm that aims to make sure you always have the \
851 latest %{kname}-%{1} installed... \
852 \
853 %if %build_devel \
854 %package -n %{kname}-%{1}-devel-latest \
855 Version: %{kversion} \
856 Release: %{rpmrel} \
857 Summary: Virtual rpm for latest %{kname}-%{1}-devel \
858 Group: Development/Kernel \
859 Requires: %{kname}-%{1}-devel-%{buildrel} \
860 %ifarch %{ix86} \
861 Conflicts: arch(x86_64) \
862 %endif \
863 Provides: %{kname}-devel-latest \
864 Obsoletes: kernel-tmb-%{1}-devel-latest \
865 %description -n %{kname}-%{1}-devel-latest \
866 This package is a virtual rpm that aims to make sure you always have the \
867 latest %{kname}-%{1}-devel installed... \
868 \
869 %endif \
870 \
871 %posttrans -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1}-posttrans \
872 %postun -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1}-postun \
873 \
874 %if %build_devel \
875 %post -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-post \
876 %preun -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-preun \
877 %postun -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-postun \
878 %endif \
879 \
880 %files -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1} \
881 %files -n %{kname}-%{1}-latest \
882 \
883 %if %build_devel \
884 %files -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1} \
885 %files -n %{kname}-%{1}-devel-latest \
886 %endif \
887 \
888 %if %build_debug \
889 %files -n %{kname}-%{1}-%{buildrel}-debuginfo -f kernel_debug_files.%{1} \
890 %endif
891
892 %ifarch %{ix86}
893 #
894 # kernel-desktop586: i586, smp-alternatives, 4GB
895 #
896 %if %build_desktop586
897 %define summary_desktop586 Linux kernel for desktop use with i586 and less than 4GB RAM
898 %define info_desktop586 This kernel is compiled for desktop use, single or \
899 multiple i586 processor(s)/core(s) and less than 4GB RAM (usually 3-3.5GB \
900 detected, if you need/want to use all 4GB or more, install kernel-server), \
901 using HZ_1000, voluntary preempt, CFS cpu scheduler and cfq i/o scheduler.
902 %mkflavour desktop586
903 %endif
904 %endif
905
906 #
907 # kernel-desktop: i686, smp-alternatives, 64 GB / x86_64 / arm / aarch64
908 #
909 %if %build_desktop
910 %ifarch %{ix86}
911 %define summary_desktop Linux Kernel for desktop use with i686 and up to 64GB RAM
912 %define info_desktop This kernel is compiled for desktop use, single or \
913 multiple i686 processor(s)/core(s) and up to 64GB RAM, using HZ_1000, \
914 voluntary preempt, CFS cpu scheduler and cfq i/o scheduler.
915 %else
916 %define summary_desktop Linux Kernel for desktop use with %{_arch}
917 %define info_desktop This kernel is compiled for desktop use, single or \
918 multiple %{_arch} processor(s)/core(s), using HZ_1000, voluntary preempt, \
919 CFS cpu scheduler and cfq i/o scheduler.
920 %endif
921 %mkflavour desktop
922 %endif
923
924 #
925 # kernel-server: i686, smp-alternatives, 64 GB / x86_64 / aarch64
926 #
927 %if %build_server
928 %ifarch %{ix86}
929 %define summary_server Linux Kernel for server use with i686 & 64GB RAM
930 %define info_server This kernel is compiled for server use, single or \
931 multiple i686 processor(s)/core(s) and up to 64GB RAM using PAE, using \
932 no preempt, HZ_100, CFS cpu scheduler and cfq i/o scheduler.
933 %else
934 %define summary_server Linux Kernel for server use with %{_arch}
935 %define info_server This kernel is compiled for server use, single or \
936 multiple %{_arch} processor(s)/core(s), using no preempt, HZ_100, \
937 CFS cpu scheduler and cfq i/o scheduler.
938 %endif
939 %mkflavour server
940 %endif
941
942 #
943 # kernel-source
944 #
945 %if %build_source
946 %package -n %{kname}-source-%{buildrel}
947 Version: %{fakever}
948 Release: %{fakerel}
949 Requires: glibc-devel, ncurses-devel, make, gcc, perl, diffutils
950 Summary: The Linux source code for %{kname}-%{buildrel}
951 Group: Development/Kernel
952 Autoreqprov: no
953 Provides: kernel-source = %{kverrel}
954 Buildarch: noarch
955
956 %description -n %{kname}-source-%{buildrel}
957 The %{kname}-source package contains the source code files for the Mageia
958 kernel. Theese source files are only needed if you want to build your
959 own custom kernel that is better tuned to your particular hardware.
960
961 If you only want the files needed to build 3rdparty (nVidia, Ati, dkms-*,...)
962 drivers against, install the *-devel-* rpm that is matching your kernel.
963
964 #
965 # kernel-source-latest: virtual rpm
966 #
967 %package -n %{kname}-source-latest
968 Version: %{kversion}
969 Release: %{rpmrel}
970 Summary: Virtual rpm for latest %{kname}-source
971 Group: Development/Kernel
972 Requires: %{kname}-source-%{buildrel}
973 Buildarch: noarch
974
975 %description -n %{kname}-source-latest
976 This package is a virtual rpm that aims to make sure you always have the
977 latest %{kname}-source installed...
978 %endif
979
980 #
981 # kernel-doc: documentation for the Linux kernel
982 #
983 %if %build_doc
984 %package -n %{kname}-doc
985 Version: %{kversion}
986 Release: %{rpmrel}
987 Summary: Various documentation bits found in the %{kname} source
988 Group: Documentation
989 Buildarch: noarch
990
991 %description -n %{kname}-doc
992 This package contains documentation files from the %{kname} source.
993 Various bits of information about the Linux kernel and the device drivers
994 shipped with it are documented in these files. You also might want install
995 this package if you need a reference to the options that can be passed to
996 Linux kernel modules at load time.
997 %endif
998
999 #
1000 # kernel userspace-headers
1001 #
1002 %if %{build_uheaders}
1003 %package -n %{kname}-userspace-headers
1004 Version: %{kversion}
1005 Release: %{rpmrel}
1006 Summary: Linux kernel header files for userspace
1007 Group: System/Kernel and hardware
1008 %rename linux-userspace-headers
1009 Provides: kernel-headers = 1:%{version}-%{release}
1010
1011 %description -n %{kname}-userspace-headers
1012 C header files from the Linux kernel. The header files define structures
1013 and constants that are needed for building most standard programs.
1014
1015 This package is not suitable for building kernel modules.
1016 %endif
1017
1018 #
1019 # kernel/tools
1020 #
1021 %if %{build_perf}
1022 %package -n perf
1023 Version: %{kversion}
1024 Release: %{rpmrel}
1025 Summary: perf tool and the supporting documentation
1026 Group: System/Kernel and hardware
1027
1028 %description -n perf
1029 the perf tool and the supporting documentation.
1030 %endif
1031
1032 %if %{build_cpupower}
1033 %package -n cpupower
1034 Version: %{kversion}
1035 Release: %{rpmrel}
1036 Summary: the cpupower tools
1037 Group: System/Kernel and hardware
1038 Requires(post): rpm-helper >= 0.24.8-1
1039 Requires(preun): rpm-helper >= 0.24.8-1
1040 Obsoletes: cpufreq cpufrequtils
1041
1042 %description -n cpupower
1043 the cpupower tools.
1044
1045 %post -n cpupower
1046 %_post_service cpupower
1047
1048 %preun -n cpupower
1049 %_preun_service cpupower
1050
1051 %package -n cpupower-devel
1052 Version: %{kversion}
1053 Release: %{rpmrel}
1054 Summary: devel files for cpupower
1055 Group: Development/Kernel
1056 Requires: cpupower = %{kversion}-%{rpmrel}
1057 Conflicts: %{_lib}cpufreq-devel
1058
1059 %description -n cpupower-devel
1060 This package contains the development files for cpupower.
1061 %endif
1062
1063 %if %{build_bpftool}
1064 %package -n bpftool
1065 Summary: Inspection and simple manipulation of eBPF programs and maps
1066 Group: System/Kernel and hardware
1067
1068 %description -n bpftool
1069 This package contains the bpftool, which allows inspection and simple
1070 manipulation of eBPF programs and maps.
1071 %endif
1072
1073 %if %{build_libbpf}
1074 %package -n %{_lib}bpf0
1075 Summary: The bpf library from kernel source
1076 Group: System/Libraries
1077
1078 %description -n %{_lib}bpf0
1079 This package contains the kernel source bpf library.
1080
1081 %package -n %{_lib}bpf-devel
1082 Summary: Developement files for the bpf library from kernel source
1083 Group: Development/Kernel
1084 Requires: %{_lib}bpf0
1085
1086 %description -n %{_lib}bpf-devel
1087 This package includes libraries and header files needed for development
1088 of applications which use bpf library from kernel source.
1089 %endif
1090
1091 #
1092 # End packages - here begins build stage
1093 #
1094 %prep
1095 %setup -q -n %top_dir_name -c
1096
1097 cd %src_dir
1098
1099 %autopatch -p1
1100
1101 # PATCH END
1102
1103 #
1104 # Setup Begin
1105 #
1106
1107 # install x86 defconfigs
1108 install -m 644 %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} arch/x86/configs/
1109 # install arm64 defconfigs
1110 install -m 644 %{SOURCE16} %{SOURCE17} arch/arm64/configs/
1111 # install arm defconfigs
1112 install -m 644 %{SOURCE18} arch/arm/configs/
1113
1114 # make sure the kernel has the sublevel we know it has...
1115 LC_ALL=C perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile
1116
1117 # get rid of unwanted files
1118 find . -name '*~' -o -name '*.orig' -o -name '*.append' | %kxargs rm -f
1119
1120 # fix missing exec flag on file introduced in 4.14.10-rc1
1121 chmod 755 tools/objtool/sync-check.sh
1122
1123 %build
1124 # Common target directories
1125 %define _kerneldir /usr/src/kernel-%{kversion}-%{buildrpmrel}
1126 %define _bootdir /boot
1127 %define _modulesdir /lib/modules
1128 %define _efidir %{_bootdir}/efi/mageia
1129
1130 # Directories definition needed for building
1131 %define temp_root %{build_dir}/temp-root
1132 %define temp_source %{temp_root}%{_kerneldir}
1133 %define temp_boot %{temp_root}%{_bootdir}
1134 %define temp_modules %{temp_root}%{_modulesdir}
1135
1136 PrepareKernel() {
1137 name=$1
1138 extension=$2
1139
1140 echo "Make config for kernel $extension"
1141
1142 %smake ARCH=%{target_arch} -s mrproper
1143
1144 if [ "%{target_arch}" == "i386" -o "%{target_arch}" == "x86_64" ]; then
1145 conf_dir=arch/x86/configs
1146 else
1147 conf_dir=arch/%{target_arch}/configs
1148 fi
1149 if [ -z "$name" ]; then
1150 cp $conf_dir/defconfig-%{target_arch}-desktop .config
1151 else
1152 cp $conf_dir/defconfig-%{target_arch}-$name .config
1153 fi
1154
1155 # make sure EXTRAVERSION says what we want it to say
1156 LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -$extension/" Makefile
1157
1158 %smake ARCH=%{target_arch} oldconfig
1159 }
1160
1161 BuildKernel() {
1162 KernelVer=$1
1163
1164 echo "Building kernel $KernelVer"
1165
1166 %kmake ARCH=%{target_arch} -s all
1167
1168 # Start installing stuff
1169 install -d %{temp_boot}
1170 install -m 644 System.map %{temp_boot}/System.map-$KernelVer
1171 install -m 644 .config %{temp_boot}/config-$KernelVer
1172 xz -c Module.symvers > %{temp_boot}/symvers-$KernelVer.xz
1173
1174 %ifarch %{arm}
1175 IMAGE=zImage
1176 %else
1177 %ifarch aarch64
1178 IMAGE=Image.gz
1179 %else
1180 IMAGE=bzImage
1181 %endif
1182 %endif
1183 cp -f arch/%{target_arch}/boot/$IMAGE %{temp_boot}/vmlinuz-$KernelVer
1184
1185 %ifarch %{arm} aarch64
1186 install -d %{temp_root}%{_libdir}/linux-$KernelVer/
1187 find arch/%{target_arch}/boot/dts/ -name *.dtb -execdir install -D -m644 {} %{temp_root}%{_libdir}/linux-$KernelVer/{} \;
1188 %endif
1189
1190 # modules
1191 install -d %{temp_modules}/$KernelVer
1192 %smake ARCH=%{target_arch} INSTALL_MOD_PATH=%{temp_root} KERNELRELEASE=$KernelVer modules_install
1193 }
1194
1195 SaveDevel() {
1196 devel_flavour=$1
1197
1198 DevelRoot=/usr/src/kernel-%{kversion}-$devel_flavour-%{buildrpmrel}
1199 TempDevelRoot=%{temp_root}$DevelRoot
1200
1201 mkdir -p $TempDevelRoot
1202 for i in $(find . -name 'Makefile*'); do cp -R --parents $i $TempDevelRoot;done
1203 for i in $(find . -name 'Kconfig*' -o -name 'Kbuild*'); do cp -R --parents $i $TempDevelRoot;done
1204 cp -fR include $TempDevelRoot
1205 cp -fR scripts $TempDevelRoot
1206 cp -fR kernel/bounds.c $TempDevelRoot/kernel
1207 cp -fR tools/include $TempDevelRoot/tools/
1208 # needed for selinux
1209 cp -R --parents security/selinux/include/*.h $TempDevelRoot
1210 %ifarch %{arm}
1211 cp -fR arch/%{target_arch}/tools $TempDevelRoot/arch/%{target_arch}/
1212 cp -fR arch/%{target_arch}/kernel/signal.h $TempDevelRoot/arch/%{target_arch}/kernel/
1213 %endif
1214 %ifarch aarch64
1215 cp -fR arch/x86/entry/syscalls/syscall_32.tbl $TempDevelRoot/arch/x86/entry/syscalls/
1216 cp -fR arch/arm64/kernel/vdso/*.{S,sh} $TempDevelRoot/arch/arm64/kernel/vdso/
1217 cp -fR arch/arm64/kernel/vdso/vgettimeofday.c $TempDevelRoot/arch/arm64/kernel/vdso/
1218 cp -fR arch/arm64/tools/{cpucaps,gen-cpucaps.awk} $TempDevelRoot/arch/arm64/tools/
1219 # aarch64 build wants x86 syscall tables
1220 cp -fR arch/x86/entry/syscalls/syscall_{32,64}.tbl $TempDevelRoot/arch/x86/entry/syscalls/
1221 cp -fR lib/vdso/gettimeofday.c $TempDevelRoot/lib/vdso/
1222 %endif
1223 %ifarch %{ix86} x86_64
1224 cp -fR arch/x86/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/x86/kernel/
1225 cp -fR arch/x86/kernel/asm-offsets_{32,64}.c $TempDevelRoot/arch/x86/kernel/
1226 cp -fR arch/x86/lib/insn.c $TempDevelRoot/arch/x86/lib/
1227 cp -fR arch/x86/purgatory/* $TempDevelRoot/arch/x86/purgatory/
1228 cp -fR arch/x86/entry/syscalls/syscall* $TempDevelRoot/arch/x86/entry/syscalls/
1229 cp -fR arch/x86/include $TempDevelRoot/arch/x86/
1230 cp -fR arch/x86/tools $TempDevelRoot/arch/x86/
1231 %else
1232 cp -fR arch/%{target_arch}/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/%{target_arch}/kernel/
1233 for f in $(find arch/%{target_arch} -name include); do cp -fR --parents $f $TempDevelRoot; done
1234 %endif
1235 cp -fR .config Module.symvers $TempDevelRoot
1236
1237 # Needed for truecrypt build (Danny)
1238 cp -fR drivers/md/dm.h $TempDevelRoot/drivers/md/
1239
1240 # needed by include/generated/timeconst.h
1241 cp -fR kernel/time/timeconst.bc $TempDevelRoot/kernel/time/
1242
1243 # Needed for lirc_gpio (#39004)
1244 cp -fR drivers/media/pci/bt8xx/bttv{,p}.h $TempDevelRoot/drivers/media/pci/bt8xx/
1245 cp -fR drivers/media/pci/bt8xx/bt848.h $TempDevelRoot/drivers/media/pci/bt8xx/
1246 cp -fR drivers/media/common/btcx-risc.h $TempDevelRoot/drivers/media/common/
1247
1248 # aufs has a special file needed
1249 cp -fR fs/aufs/magic.mk $TempDevelRoot/fs/aufs/
1250
1251 # rtl8812au
1252 mkdir -p $TempDevelRoot/3rdparty/rtl8812au/hal/phydm/
1253 cp -fR 3rdparty/rtl8812au/hal/phydm/phydm.mk $TempDevelRoot/3rdparty/rtl8812au/hal/phydm/
1254
1255 %ifarch x86_64
1256 # orc unwinder needs theese
1257 cp -fR tools/build/Build{,.include} $TempDevelRoot/tools/build
1258 cp -fR tools/build/fixdep.c $TempDevelRoot/tools/build
1259 cp -fR tools/lib/{rbtree.c,ctype.c,str_error_r.c,string.c} $TempDevelRoot/tools/lib
1260 cp -fR tools/lib/subcmd/* $TempDevelRoot/tools/lib/subcmd
1261 cp -fR tools/objtool/* $TempDevelRoot/tools/objtool
1262 cp -fR tools/scripts/utilities.mak $TempDevelRoot/tools/scripts
1263 mkdir -p $TempDevelRoot/tools/arch/x86/tools
1264 cp -fR tools/arch/x86/tools/gen-insn-attr-x86.awk $TempDevelRoot/tools/arch/x86/tools/
1265 mkdir -p $TempDevelRoot/tools/arch/x86/lib
1266 cp -fR tools/arch/x86/lib/{inat.c,insn.c,x86-opcode-map.txt} $TempDevelRoot/tools/arch/x86/lib/
1267 mkdir -p $TempDevelRoot/tools/arch/x86/include/asm
1268 cp -fR tools/arch/x86/include/asm/{asm.h,emulate_prefix.h,inat.h,inat_types.h,insn.h,nops.h,orc_types.h} $TempDevelRoot/tools/arch/x86/include/asm/
1269 %endif
1270
1271 for i in alpha arc avr32 blackfin c6x cris csky frv h8300 hexagon ia64 m32r m68k m68knommu metag microblaze \
1272 mips mn10300 nds32 nios2 openrisc parisc powerpc riscv s390 score sh sparc tile unicore32 xtensa; do
1273 rm -rf $TempDevelRoot/arch/$i
1274 rm -rf $TempDevelRoot/scripts/dtc/include-prefixes/$i
1275 rm -rf $TempDevelRoot/tools/arch/$i
1276 done
1277
1278 %ifnarch %{arm} aarch64
1279 rm -rf $TempDevelRoot/arch/arm*
1280 rm -rf $TempDevelRoot/include/kvm/arm*
1281 rm -rf $TempDevelRoot/include/soc
1282 rm -rf $TempDevelRoot/scripts/dtc/include-prefixes/arm*
1283 rm -rf $TempDevelRoot/tools/arch/arm*
1284 %endif
1285 %ifnarch %{ix86} x86_64
1286 rm -rf $TempDevelRoot/arch/x86
1287 rm -rf $TempDevelRoot/tools/arch/x86
1288 # arch/x86/ras/Kconfig is included by drivers/ras/Kconfig
1289 # and kconfig's source command seems to be evaluated even under a false conditional
1290 mkdir -p $TempDevelRoot/arch/x86/ras
1291 cp -fR arch/x86/ras/Kconfig $TempDevelRoot/arch/x86/ras
1292 %endif
1293
1294 # Clean the scripts tree, and make sure everything is ok (sanity check)
1295 # running prepare+scripts (tree was already "prepared" in build)
1296 pushd $TempDevelRoot >/dev/null
1297 %smake ARCH=%{target_arch} -s prepare scripts
1298 %smake ARCH=%{target_arch} -s clean
1299 popd >/dev/null
1300 rm -f $TempDevelRoot/.config.old
1301
1302 # fix permissions
1303 chmod -R a+rX $TempDevelRoot
1304
1305 # disable mrproper in -devel rpms
1306 patch -p1 --fuzz=0 -d $TempDevelRoot -i %{SOURCE2}
1307
1308 kernel_devel_files=../kernel_devel_files.$devel_flavour
1309
1310
1311 ### Create the kernel_devel_files.*
1312 cat > $kernel_devel_files <<EOF
1313 %dir $DevelRoot
1314 %dir $DevelRoot/arch
1315 %dir $DevelRoot/include
1316 $DevelRoot/3rdparty
1317 $DevelRoot/Documentation
1318 %ifarch %{arm} aarch64
1319 $DevelRoot/arch/arm
1320 $DevelRoot/arch/arm64
1321 %endif
1322 $DevelRoot/arch/um
1323 %ifarch %{ix86} x86_64
1324 $DevelRoot/arch/x86
1325 %else
1326 $DevelRoot/arch/x86/ras
1327 %endif
1328 $DevelRoot/block
1329 $DevelRoot/certs
1330 $DevelRoot/crypto
1331 $DevelRoot/drivers
1332 $DevelRoot/fs
1333 $DevelRoot/include/acpi
1334 $DevelRoot/include/asm-generic
1335 $DevelRoot/include/clocksource
1336 $DevelRoot/include/config
1337 $DevelRoot/include/crypto
1338 $DevelRoot/include/drm
1339 $DevelRoot/include/dt-bindings
1340 $DevelRoot/include/generated
1341 $DevelRoot/include/keys
1342 $DevelRoot/include/kunit
1343 $DevelRoot/include/kvm
1344 $DevelRoot/include/linux
1345 $DevelRoot/include/math-emu
1346 $DevelRoot/include/media
1347 $DevelRoot/include/memory
1348 $DevelRoot/include/misc
1349 $DevelRoot/include/net
1350 $DevelRoot/include/pcmcia
1351 $DevelRoot/include/ras
1352 $DevelRoot/include/rdma
1353 $DevelRoot/include/scsi
1354 %ifarch %{arm} aarch64
1355 $DevelRoot/include/soc
1356 %endif
1357 $DevelRoot/include/sound
1358 $DevelRoot/include/target
1359 $DevelRoot/include/trace
1360 $DevelRoot/include/uapi
1361 $DevelRoot/include/vdso/*.h
1362 $DevelRoot/include/video
1363 $DevelRoot/include/xen
1364 $DevelRoot/init
1365 $DevelRoot/ipc
1366 $DevelRoot/kernel
1367 $DevelRoot/lib
1368 $DevelRoot/mm
1369 $DevelRoot/net
1370 $DevelRoot/samples
1371 $DevelRoot/scripts
1372 $DevelRoot/security
1373 $DevelRoot/sound
1374 $DevelRoot/tools
1375 $DevelRoot/usr
1376 $DevelRoot/virt
1377 $DevelRoot/.config
1378 $DevelRoot/Kbuild
1379 $DevelRoot/Kconfig
1380 $DevelRoot/Makefile
1381 $DevelRoot/Module.symvers
1382 $DevelRoot/arch/Kconfig
1383 %doc README.kernel-sources
1384 EOF
1385
1386
1387 ### Create -devel Post script on the fly
1388 cat > $kernel_devel_files-post <<EOF
1389 if [ -d /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel} ]; then
1390 rm -f /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel}/{build,source}
1391 ln -sf $DevelRoot /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel}/build
1392 ln -sf $DevelRoot /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel}/source
1393 fi
1394 EOF
1395
1396
1397 ### Create -devel Preun script on the fly
1398 cat > $kernel_devel_files-preun <<EOF
1399 if [ -L /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel}/build ]; then
1400 rm -f /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel}/build
1401 fi
1402 if [ -L /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel}/source ]; then
1403 rm -f /lib/modules/%{kversion}-$devel_flavour-%{buildrpmrel}/source
1404 fi
1405 exit 0
1406 EOF
1407
1408 ### Create -devel Postun script on the fly
1409 cat > $kernel_devel_files-postun <<EOF
1410 rm -rf /usr/src/kernel-%{kversion}-$devel_flavour-%{buildrpmrel} >/dev/null
1411 EOF
1412 }
1413
1414 SaveDebug() {
1415 debug_flavour=$1
1416
1417 install -m 644 vmlinux \
1418 %{temp_boot}/vmlinux-%{kversion}-$debug_flavour-%{buildrpmrel}
1419 kernel_debug_files=../kernel_debug_files.$debug_flavour
1420 echo "%{_bootdir}/vmlinux-%{kversion}-$debug_flavour-%{buildrpmrel}" \
1421 >> $kernel_debug_files
1422
1423 find %{temp_modules}/%{kversion}-$debug_flavour-%{buildrpmrel}/kernel \
1424 -name "*.ko" | \
1425 %kxargs -I '{}' objcopy --only-keep-debug '{}' '{}'.debug
1426 find %{temp_modules}/%{kversion}-$debug_flavour-%{buildrpmrel}/kernel \
1427 -name "*.ko" | %kxargs -I '{}' \
1428 sh -c 'cd `dirname {}`; \
1429 objcopy --add-gnu-debuglink=`basename {}`.debug \
1430 --strip-debug `basename {}`'
1431
1432 pushd %{temp_modules}
1433 find %{kversion}-$debug_flavour-%{buildrpmrel}/kernel \
1434 -name "*.ko.debug" > debug_module_list
1435 popd
1436 cat %{temp_modules}/debug_module_list | \
1437 sed 's|\(.*\)|%{_modulesdir}/\1|' >> $kernel_debug_files
1438 cat %{temp_modules}/debug_module_list | \
1439 sed 's|\(.*\)|%exclude %{_modulesdir}/\1|' \
1440 >> ../kernel_exclude_debug_files.$debug_flavour
1441 rm -f %{temp_modules}/debug_module_list
1442 }
1443
1444 CreateFiles() {
1445 kernel_flavour=$1
1446
1447 kernel_files=../kernel_files.$kernel_flavour
1448
1449 ker="vmlinuz"
1450 ### Create the kernel_files.*
1451 cat > $kernel_files <<EOF
1452 %{_bootdir}/System.map-%{kversion}-$kernel_flavour-%{buildrpmrel}
1453 %{_bootdir}/symvers-%{kversion}-$kernel_flavour-%{buildrpmrel}.xz
1454 %{_bootdir}/config-%{kversion}-$kernel_flavour-%{buildrpmrel}
1455 %{_bootdir}/$ker-%{kversion}-$kernel_flavour-%{buildrpmrel}
1456 %dir %{_modulesdir}/%{kversion}-$kernel_flavour-%{buildrpmrel}/
1457 %{_modulesdir}/%{kversion}-$kernel_flavour-%{buildrpmrel}/kernel
1458 %{_modulesdir}/%{kversion}-$kernel_flavour-%{buildrpmrel}/modules.*
1459 %doc README.kernel-sources
1460 %ifarch %arm aarch64
1461 %dir %{_libdir}/linux-%{kversion}-$kernel_flavour-%{buildrpmrel}
1462 %{_libdir}/linux-%{kversion}-$kernel_flavour-%{buildrpmrel}/*.dtb
1463 %endif
1464 EOF
1465
1466 %if %build_debug
1467 cat ../kernel_exclude_debug_files.$kernel_flavour >> $kernel_files
1468 %endif
1469
1470 ### Create kernel Posttrans script
1471 cat > $kernel_files-posttrans <<EOF
1472 %if %build_devel
1473 # create kernel-devel symlinks if matching -devel- rpm is installed
1474 if [ -d /usr/src/kernel-%{kversion}-$kernel_flavour-%{buildrpmrel} ]; then
1475 ln -sf /usr/src/kernel-%{kversion}-$kernel_flavour-%{buildrpmrel} /lib/modules/%{kversion}-$kernel_flavour-%{buildrpmrel}/build
1476 ln -sf /usr/src/kernel-%{kversion}-$kernel_flavour-%{buildrpmrel} /lib/modules/%{kversion}-$kernel_flavour-%{buildrpmrel}/source
1477 fi
1478 %endif
1479 if [ -z "$DURING_INSTALL" ] ; then
1480 if [ -x /usr/sbin/dkms_autoinstaller -a -d /usr/src/kernel-%{kversion}-$kernel_flavour-%{buildrpmrel} ]; then
1481 /usr/sbin/dkms_autoinstaller start %{kversion}-$kernel_flavour-%{buildrpmrel}
1482 fi
1483 fi
1484 /sbin/installkernel %{kversion}-$kernel_flavour-%{buildrpmrel}
1485 pushd /boot > /dev/null
1486 if [ -e initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img ]; then
1487 ln -sf vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel} vmlinuz-$kernel_flavour
1488 ln -sf vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel} vmlinuz
1489 ln -sf initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img initrd-$kernel_flavour.img
1490 ln -sf initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img initrd.img
1491 fi
1492 popd > /dev/null
1493 EOF
1494
1495 ### Create kernel Postun script on the fly
1496 cat > $kernel_files-postun <<EOF
1497 pushd /boot > /dev/null
1498 if [ -f "vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel}" ]; then
1499 echo "The kernel is still installed in postun, probably a reinstall, skipping cleanup." >&2
1500 exit
1501 fi
1502 if [ -L vmlinuz-$kernel_flavour ]; then
1503 if [ "$(readlink vmlinuz-$kernel_flavour)" = "vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel}" ]; then
1504 rm -f vmlinuz-$kernel_flavour
1505 fi
1506 fi
1507 if [ -L initrd-$kernel_flavour.img ]; then
1508 if [ "$(readlink initrd-$kernel_flavour.img)" = "initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img" ]; then
1509 rm -f initrd-$kernel_flavour.img
1510 fi
1511 fi
1512 popd > /dev/null
1513 rm -rf /lib/modules/%{kversion}-$kernel_flavour-%{buildrpmrel} >/dev/null
1514 /sbin/kernel_remove_initrd %{kversion}-$kernel_flavour-%{buildrpmrel}
1515 /sbin/installkernel -R %{kversion}-$kernel_flavour-%{buildrpmrel}
1516 if [ -d /var/lib/dkms ]; then
1517 rm -f /var/lib/dkms/*/kernel-%{kversion}-$devel_flavour-%{buildrpmrel}-%{_target_cpu} >/dev/null
1518 rm -rf /var/lib/dkms/*/*/%{kversion}-$devel_flavour-%{buildrpmrel} >/dev/null
1519 rm -f /var/lib/dkms-binary/*/kernel-%{kversion}-$devel_flavour-%{buildrpmrel}-%{_target_cpu} >/dev/null
1520 rm -rf /var/lib/dkms-binary/*/*/%{kversion}-$devel_flavour-%{buildrpmrel} >/dev/null
1521 fi
1522 EOF
1523 }
1524
1525
1526 CreateKernel() {
1527 flavour=$1
1528
1529 PrepareKernel $flavour $flavour-%{buildrpmrel}
1530
1531 BuildKernel %{kversion}-$flavour-%{buildrpmrel}
1532 %if %build_devel
1533 SaveDevel $flavour
1534 %endif
1535 %if %build_debug
1536 SaveDebug $flavour
1537 %endif
1538 CreateFiles $flavour
1539 }
1540
1541
1542 ###
1543 # DO it...
1544 ###
1545
1546
1547 # Create a simulacro of buildroot
1548 rm -rf %{temp_root}
1549 install -d %{temp_root}
1550
1551
1552 # make sure we are in the directory
1553 cd %src_dir
1554
1555 %ifarch %{ix86}
1556 %if %build_desktop586
1557 CreateKernel desktop586
1558 %endif
1559 %endif
1560
1561 %if %build_desktop
1562 CreateKernel desktop
1563 %endif
1564
1565 %if %build_server
1566 CreateKernel server
1567 %endif
1568
1569 # set extraversion to match srpm to get nice version reported by the tools
1570 LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{rpmrel}/" Makefile
1571
1572 # build perf
1573 %if %{build_perf}
1574 # perf
1575 %smake -s -C tools/perf NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 \
1576 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 NO_JVMTI=1 prefix=%{_prefix} lib=%{_lib} all
1577 %smake -C tools/perf -s prefix=%{_prefix} man
1578 %endif
1579
1580 %if %{build_cpupower}
1581 # cpupower
1582 # make sure version-gen.sh is executable.
1583 chmod +x tools/power/cpupower/utils/version-gen.sh
1584 %make_build -C tools/power/cpupower CPUFREQ_BENCH=false
1585 %endif
1586
1587 # build bpftool
1588 %if %{build_bpftool}
1589 pushd tools/bpf/bpftool
1590 make
1591 popd
1592 %endif
1593
1594 # build libbpf
1595 %if %{build_libbpf}
1596 pushd tools/lib/bpf
1597 make V=1
1598 popd
1599 %endif
1600
1601 # We don't make to repeat the depend code at the install phase
1602 %if %build_source
1603 PrepareKernel "" %{buildrpmrel}custom
1604 %smake ARCH=%{target_arch} -s mrproper
1605 %endif
1606
1607
1608 ###
1609 ### install
1610 ###
1611 %install
1612 install -m 644 %{SOURCE4} .
1613
1614 cd %src_dir
1615
1616 # Directories definition needed for installing
1617 %define target_source %{buildroot}%{_kerneldir}
1618 %define target_boot %{buildroot}%{_bootdir}
1619 %define target_modules %{buildroot}%{_modulesdir}
1620 %define target_headers %{buildroot}%{_prefix}
1621
1622 # We want to be able to test several times the install part
1623 rm -rf %{buildroot}
1624 cp -a %{temp_root} %{buildroot}
1625
1626 # Create directories infastructure
1627 %if %build_source
1628 install -d %{target_source}
1629
1630 tar cf - . | tar xf - -C %{target_source}
1631 chmod -R a+rX %{target_source}
1632
1633 # we remove all the source files that we don't ship
1634 # first architecture files
1635 for i in alpha arc avr32 blackfin c6x cris csky frv h8300 hexagon ia64 m32r m68k m68knommu metag microblaze \
1636 mips nds32 nios2 openrisc parisc powerpc riscv s390 score sh sh64 sparc tile unicore32 v850 xtensa mn10300; do
1637 rm -rf %{target_source}/arch/$i
1638 rm -rf %{target_source}/scripts/dtc/include-prefixes/$i
1639 rm -rf %{target_source}/tools/arch/$i
1640 rm -rf %{target_source}/tools/testing/selftests/$i
1641 done
1642 %ifnarch %{arm} aarch64
1643 rm -rf %{target_source}/include/kvm/arm*
1644 rm -rf %{target_source}/scripts/dtc/include-prefixes/arm*
1645 rm -rf %{target_source}/tools/arch/arm*
1646 %endif
1647
1648 # other misc files
1649 rm -f %{target_source}/{.clang-format,.config.old,.config.cmd,.lst,.mailmap,.get_maintainer.ignore}
1650 rm -f %{target_source}/{.missing-syscalls.d,.cocciconfig,.gitattributes}
1651 rm -rf %{target_source}/.tmp_depmod/
1652
1653 # more cleaning
1654 pushd %{target_source}
1655 # lots of gitignore files
1656 find -iname ".gitignore" -delete
1657 # clean tools tree
1658 %smake -C tools clean
1659 %smake -C tools/build clean
1660 %smake -C tools/build/feature clean
1661 # dont ship generated vdso.so*
1662 %ifarch aarch64
1663 rm -f arch/arm64/kernel/vdso/vdso.so*
1664 %endif
1665 popd
1666
1667 # nuke last as it gets re-created
1668 rm -f %{target_source}/.cache.mk
1669
1670 #endif %build_source
1671 %endif
1672
1673 # compressing modules
1674 %if %{build_modxz}
1675 find %{target_modules} -name "*.ko" | %kxargs xz -6
1676 %else
1677 find %{target_modules} -name "*.ko" | %kxargs gzip -9
1678 %endif
1679
1680 # We used to have a copy of PrepareKernel here
1681 # Now, we make sure that the thing in the linux dir is what we want it to be
1682 for i in %{target_modules}/*; do
1683 rm -f $i/build $i/source
1684 done
1685
1686 # sniff, if we compressed all the modules, we change the stamp :(
1687 # we really need the depmod -ae here
1688 pushd %{target_modules}
1689 for i in *; do
1690 /sbin/depmod -ae -b %{buildroot} -F %{target_boot}/System.map-$i $i
1691 echo $?
1692 done
1693
1694 for i in *; do
1695 pushd $i
1696 echo "Creating modules.description for $i"
1697 modules=`find . -name "*.ko.[g,x]z"`
1698 echo $modules | xargs /sbin/modinfo \
1699 | perl -lne 'print "$name\t$1" if $name && /^description:\s*(.*)/; $name = $1 if m!^filename:\s*(.*)\.k?o!; $name =~ s!.*/!!' > modules.description
1700 popd
1701 done
1702 popd
1703
1704 # need to set extraversion to match srpm again to avoid rebuild
1705 LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{rpmrel}/" Makefile
1706
1707 # install userspace-headers
1708 %if %{build_uheaders}
1709 %smake ARCH=%{target_arch} headers_install INSTALL_HDR_PATH=%{target_headers}
1710 # for drakx
1711 cp include/linux/pci_ids.h %{target_headers}/include/linux/
1712 %endif
1713
1714 %if %{build_perf}
1715 # perf tool binary and supporting scripts/binaries
1716 %smake -s -C tools/perf V=1 DESTDIR=%{buildroot} NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 \
1717 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 NO_JVMTI=1 prefix=%{_prefix} lib=%{_lib} install
1718
1719 # perf man pages (note: implicit rpm magic compresses them later)
1720 make -C tools/perf V=1 DESTDIR=%{buildroot} prefix=%{_prefix} install-man
1721
1722 # remove perf files we dont ship
1723 rm -rf %{buildroot}/usr/lib/perf/examples
1724 rm -rf %{buildroot}/usr/lib/perf/include/bpf
1725 rm -rf %{buildroot}/usr/include/perf/perf_dlfilter.h
1726 %endif
1727
1728 %if %{build_cpupower}
1729 make -C tools/power/cpupower DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
1730 rm -f %{buildroot}%{_libdir}/*.{a,la}
1731 %find_lang cpupower
1732 mv cpupower.lang ../
1733 chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
1734 mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
1735 install -m644 %{SOURCE50} %{buildroot}%{_unitdir}/cpupower.service
1736 install -m644 %{SOURCE51} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
1737 %endif
1738
1739 # install bpftool
1740 %if %{build_bpftool}
1741 pushd tools/bpf/bpftool
1742 make DESTDIR=%{buildroot} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install
1743 popd
1744 %endif
1745
1746 # install libbpf
1747 %if %{build_libbpf}
1748 pushd tools/lib/bpf
1749 make DESTDIR=%{buildroot} prefix=%{_prefix} libdir=%{_libdir} V=1 install install_headers
1750 popd
1751 %endif
1752
1753 ###
1754 ### clean
1755 ###
1756 %clean
1757 rm -rf %{buildroot}
1758
1759
1760 # We don't want to remove this, the whole reason of its existence is to be
1761 # able to do several rpm --short-circuit -bi for testing install
1762 # phase without repeating compilation phase
1763 #rm -rf %{temp_root}
1764
1765 ###
1766 ### source and doc file lists
1767 ###
1768
1769 %if %build_source
1770 %files -n %{kname}-source-%{buildrel}
1771 %doc %{_kerneldir}/LICENSES
1772 %dir %{_kerneldir}
1773 %dir %{_kerneldir}/arch
1774 %dir %{_kerneldir}/include
1775 %{_kerneldir}/3rdparty
1776 %{_kerneldir}/Documentation
1777 %{_kerneldir}/arch/Kconfig
1778 %{_kerneldir}/arch/arm
1779 %{_kerneldir}/arch/arm64
1780 %{_kerneldir}/arch/um
1781 %{_kerneldir}/arch/x86
1782 %{_kerneldir}/block
1783 %{_kerneldir}/certs
1784 %{_kerneldir}/crypto
1785 %{_kerneldir}/drivers
1786 %{_kerneldir}/fs
1787 %{_kerneldir}/include/acpi
1788 %{_kerneldir}/include/asm-generic
1789 %{_kerneldir}/include/clocksource
1790 %{_kerneldir}/include/crypto
1791 %{_kerneldir}/include/drm
1792 %{_kerneldir}/include/dt-bindings
1793 %{_kerneldir}/include/keys
1794 %{_kerneldir}/include/kunit
1795 %{_kerneldir}/include/kvm
1796 %{_kerneldir}/include/linux
1797 %{_kerneldir}/include/math-emu
1798 %{_kerneldir}/include/media
1799 %{_kerneldir}/include/memory
1800 %{_kerneldir}/include/misc
1801 %{_kerneldir}/include/net
1802 %{_kerneldir}/include/pcmcia
1803 %{_kerneldir}/include/ras
1804 %{_kerneldir}/include/rdma
1805 %{_kerneldir}/include/scsi
1806 %{_kerneldir}/include/soc
1807 %{_kerneldir}/include/sound
1808 %{_kerneldir}/include/target
1809 %{_kerneldir}/include/trace
1810 %{_kerneldir}/include/uapi
1811 %{_kerneldir}/include/vdso/*.h
1812 %{_kerneldir}/include/video
1813 %{_kerneldir}/include/xen
1814 %{_kerneldir}/init
1815 %{_kerneldir}/ipc
1816 %{_kerneldir}/kernel
1817 %{_kerneldir}/lib
1818 %{_kerneldir}/mm
1819 %{_kerneldir}/net
1820 %{_kerneldir}/virt
1821 %{_kerneldir}/samples
1822 %{_kerneldir}/scripts
1823 %{_kerneldir}/security
1824 %{_kerneldir}/sound
1825 %{_kerneldir}/tools
1826 %{_kerneldir}/usr
1827 %{_kerneldir}/COPYING
1828 %{_kerneldir}/CREDITS
1829 %{_kerneldir}/Kbuild
1830 %{_kerneldir}/Kconfig
1831 %{_kerneldir}/MAINTAINERS
1832 %{_kerneldir}/Makefile
1833 %{_kerneldir}/README
1834 %doc README.kernel-sources
1835
1836 %files -n %{kname}-source-latest
1837 %endif
1838
1839 %if %build_doc
1840 %files -n %{kname}-doc
1841 %doc linux-%{tar_ver}/Documentation/*
1842 %endif
1843
1844 %if %build_uheaders
1845 %files -n %{kname}-userspace-headers
1846 %defattr(0644,root,root,0755)
1847 %{_includedir}/asm/
1848 %{_includedir}/asm-generic/
1849 %{_includedir}/drm/
1850 %{_includedir}/linux/
1851 %{_includedir}/misc/
1852 %{_includedir}/mtd/
1853 %{_includedir}/rdma/
1854 %{_includedir}/scsi/
1855 %{_includedir}/sound/
1856 %{_includedir}/video/
1857 %{_includedir}/xen/
1858 %endif
1859
1860 %if %{build_perf}
1861 %files -n perf
1862 %{_bindir}/perf
1863 %{_bindir}/trace
1864 %{_datadir}/perf-core/strace/groups/file
1865 %{_datadir}/perf-core/strace/groups/string
1866 %{_datadir}/doc/perf-tip/tips.txt
1867 %dir %{_libdir}/traceevent
1868 %dir %{_libdir}/traceevent/plugins
1869 %{_libdir}/traceevent/plugins/plugin_*
1870 %dir %{_prefix}/libexec/perf-core
1871 %{_prefix}/libexec/perf-core/*
1872 %{_mandir}/man[1-8]/perf*
1873 %{_sysconfdir}/bash_completion.d/perf
1874 %endif
1875
1876 %if %{build_cpupower}
1877 %files -n cpupower -f cpupower.lang
1878 %config(noreplace) %{_sysconfdir}/sysconfig/cpupower
1879 %{_bindir}/cpupower
1880 %{_datadir}/bash-completion/completions/cpupower
1881 %{_libdir}/libcpupower.so.0
1882 %{_libdir}/libcpupower.so.0.0.1
1883 %{_unitdir}/cpupower.service
1884 %{_mandir}/man[1-8]/cpupower*
1885
1886 %files -n cpupower-devel
1887 %{_libdir}/libcpupower.so
1888 %{_includedir}/cpuidle.h
1889 %{_includedir}/cpufreq.h
1890 %endif
1891
1892 %if %{build_bpftool}
1893 %files -n bpftool
1894 %{_sbindir}/bpftool
1895 %{_sysconfdir}/bash_completion.d/bpftool
1896 %{_mandir}/man8/bpftool-*.8*
1897 %{_mandir}/man8/bpftool.8*
1898 %endif
1899
1900 %if %{build_libbpf}
1901 %files -n %{_lib}bpf0
1902 %{_libdir}/libbpf.so.0
1903 %{_libdir}/libbpf.so.0.8.0
1904
1905 %files -n %{_lib}bpf-devel
1906 %{_libdir}/libbpf.a
1907 %{_libdir}/libbpf.so
1908 %{_libdir}/pkgconfig/libbpf.pc
1909 %{_includedir}/bpf/bpf.h
1910 %{_includedir}/bpf/bpf_core_read.h
1911 %{_includedir}/bpf/bpf_endian.h
1912 %{_includedir}/bpf/bpf_helper_defs.h
1913 %{_includedir}/bpf/bpf_helpers.h
1914 %{_includedir}/bpf/bpf_tracing.h
1915 %{_includedir}/bpf/btf.h
1916 %{_includedir}/bpf/libbpf.h
1917 %{_includedir}/bpf/libbpf_common.h
1918 %{_includedir}/bpf/libbpf_legacy.h
1919 %{_includedir}/bpf/libbpf_version.h
1920 %{_includedir}/bpf/skel_internal.h
1921 %{_includedir}/bpf/xsk.h
1922 %endif

  ViewVC Help
Powered by ViewVC 1.1.30