]> git.pld-linux.org Git - packages/kernel.git/blob - kernel.spec
613d0e9a0fd410134d3be60448c648a749faf8c1
[packages/kernel.git] / kernel.spec
1 #
2 # LATEST VERSION CHECKER:
3 # # curl -s https://www.kernel.org/finger_banner
4 #
5 # TODO:
6 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
7 #
8 # HOWTO update configuration files:
9 # - run build
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
14 #
15 # Conditional build:
16 %bcond_without  source          # don't build kernel-source package
17 %bcond_without  doc                     # don't build kernel-doc package
18 %bcond_without  pcmcia          # don't build pcmcia
19
20 %bcond_with     verbose         # verbose build (V=1)
21
22 %bcond_with     fbcondecor      # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
23 %bcond_with     pae             # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
24 %bcond_with     nfsroot         # build with root on NFS support
25
26 %bcond_without  ipv6            # ipv6 support
27
28 %bcond_without  aufs            # aufs4 support
29
30 %bcond_with     rt              # real-time kernel (CONFIG_PREEMPT_RT) for low latencies
31
32 %bcond_with     vanilla         # don't include any patches
33 %bcond_with     rescuecd        # build kernel for our rescue
34 %bcond_with     myown           # build with your own config (kernel-myown.config)
35
36 %{?debug:%define with_verbose 1}
37
38 %define         have_drm        1
39 %define         have_sound      1
40 %define         have_pcmcia     1
41
42 %if %{with rescuecd}
43 %define         have_drm        0
44 %define         have_sound      0
45 %endif
46
47 %if %{with myown}
48 %define         have_drm        0
49 %define         have_sound      0
50 %define         have_pcmcia     0
51 %endif
52
53 %ifarch sparc sparc64
54 %unglobal       with_pcmcia
55 %define         have_drm        0
56 %endif
57
58 %if %{without pcmcia}
59 %define         have_pcmcia     0
60 %endif
61
62 %define         rel             2
63 %define         basever         6.6
64 %define         postver         .4
65
66 # define this to '-%{basever}' for longterm branch
67 %define         versuffix       %{nil}
68
69 # __alt_kernel is list of features, empty string if none set
70 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
71 # alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
72 %define         __alt_kernel    %{nil}
73
74 %if "%{__alt_kernel}" != ""
75 %define         alt_kernel      %{__alt_kernel}
76 %endif
77
78 # these override whatever name was picked from bconds
79 %if %{with myown} && "%{_alt_kernel}" == ""
80 %define         alt_kernel      myown
81 %endif
82 %if %{with rescuecd}
83 %define         alt_kernel      rescuecd
84 %endif
85 %if %{with vanilla}
86 %define         alt_kernel      vanilla
87 %endif
88 %if %{with pae}
89 %define         alt_kernel      pae
90 %endif
91 %if %{with rt}
92 %define         alt_kernel      rt
93 %endif
94
95 # kernel release (used in filesystem and eventually in uname -r)
96 # modules will be looked from /lib/modules/%{kernel_release}
97 # localversion is just that without version for "> localversion"
98 %define         localversion    %{rel}
99 %define         kernel_release  %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
100
101 %define         kmod_ver        26-2
102
103 Summary:        The Linux kernel (the core of the Linux operating system)
104 Summary(de.UTF-8):      Der Linux-Kernel (Kern des Linux-Betriebssystems)
105 Summary(et.UTF-8):      Linuxi kernel (ehk operatsioonisüsteemi tuum)
106 Summary(fr.UTF-8):      Le Kernel-Linux (La partie centrale du systeme)
107 Summary(pl.UTF-8):      JÄ…dro Linuksa
108 Name:           kernel%{versuffix}%{_alt_kernel}
109 Version:        %{basever}%{postver}
110 Release:        %{rel}
111 Epoch:          3
112 License:        GPL v2
113 Group:          Base/Kernel
114 Source0:        https://www.kernel.org/pub/linux/kernel/v6.x/linux-%{basever}.tar.xz
115 # Source0-md5:  452098d80ba925af3a4ab35998f3aef5
116 %if "%{postver}" != ".0"
117 Patch0:         https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
118 # Patch0-md5:   0d2c1c3ef1c023d9c5f34d19eaad4cb0
119 %endif
120 Source1:        kernel.sysconfig
121
122 Source3:        kernel-autoconf.h
123 Source4:        kernel-config.h
124 Source6:        kernel-config.awk
125 Source7:        kernel-module-build.pl
126 Source8:        kernel-track-config-change.awk
127 # not used by kernel.spec, but it's good to have it in SOURCES
128 Source9:        kernel-config-sort.pl
129 Source10:       kernel.make
130
131 Source20:       kernel-multiarch.config
132 Source21:       kernel-x86.config
133 Source22:       kernel-sparc.config
134 Source23:       kernel-alpha.config
135 Source24:       kernel-powerpc.config
136 Source25:       kernel-ia64.config
137 Source26:       kernel-arm.config
138 Source27:       kernel-arm64.config
139
140 Source41:       kernel-patches.config
141 Source44:       kernel-rt.config
142
143 Source58:       kernel-inittmpfs.config
144
145 Patch2:         android-enable-building-binder-as-module.patch
146 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
147 Patch3:         kernel-fbcondecor.patch
148 Patch6:         linux-wistron-nx.patch
149
150 # netfilter related stuff mostly based on patch-o-matic-ng
151 # snapshot 20070806 with some fixes. Some modules
152 # were ported to nf_conntrack.
153
154 Patch10:        kernel-pom-ng-IPV4OPTSSTRIP.patch
155
156 ### End netfilter
157
158 # by Baggins request:
159 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
160 Patch55:        kernel-atm-vbr.patch
161 Patch56:        kernel-atmdd.patch
162
163 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
164 Patch59:        kernel-rndis_host-wm5.patch
165
166 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
167 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
168 Patch85:        kernel-hostap.patch
169
170 # see update-source.sh
171 Patch145:       kernel-aufs.patch
172 Patch147:       kernel-aufs-make.patch
173
174 # Show normal colors in menuconfig with ncurses ABI 6
175 Patch250:       kernel-fix_256colors_menuconfig.patch
176
177 # https://rt.wiki.kernel.org/
178 # https://www.kernel.org/pub/linux/kernel/projects/rt/4.9/patch-4.9.6-rt4.patch.xz
179 Patch500:       kernel-rt.patch
180
181 Patch2000:      kernel-small_fixes.patch
182 Patch2001:      kernel-pwc-uncompress.patch
183
184 # for rescuecd
185 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
186 Patch7000:      kernel-inittmpfs.patch
187
188 # ARM only
189 Patch8000:      rpi-sound.patch
190 Patch8001:      kernel-pinebook-pro.patch
191 Patch8002:      atheros-disallow-retrain-nongen1-pcie.patch
192 Patch8004:      ath-regd.patch
193 Patch8005:      rkvdec-hevc.patch
194
195 Patch9000:      neighbour-randomize-layout-crash.patch
196
197 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
198 # kernel.spec every time.
199 #Patch50000:    kernel-usb_reset.patch
200
201 URL:            https://www.kernel.org/
202 AutoReqProv:    no
203 BuildRequires:  /sbin/depmod
204 BuildRequires:  bc >= 1.06.95
205 BuildRequires:  binutils >= 3:2.23
206 BuildRequires:  bison >= 2.0
207 %ifarch sparc sparc64
208 BuildRequires:  elftoaout
209 %endif
210 BuildRequires:  elfutils-devel
211 BuildRequires:  flex >= 2.5.35
212 BuildRequires:  gcc >= 6:7.2.0-6
213 BuildRequires:  gcc-c++
214 BuildRequires:  gcc-plugin-devel
215 BuildRequires:  hostname
216 BuildRequires:  kmod >= %{kmod_ver}
217 BuildRequires:  libstdc++-devel
218 BuildRequires:  make >= 1:3.81
219 BuildRequires:  openssl-devel >= 1.0.0
220 BuildRequires:  openssl-tools >= 1.0.0
221 BuildRequires:  perl-base >= 5
222 BuildRequires:  rpm-build >= 4.5-24
223 BuildRequires:  rpmbuild(macros) >= 2.019
224 BuildRequires:  tar >= 1:1.22
225 %ifarch ppc
226 BuildRequires:  uboot-mkimage
227 %endif
228 BuildRequires:  xz >= 1:4.999.7
229 BuildConflicts: dwarves < 1.16
230 Requires(post): coreutils
231 Requires(post): geninitrd >= 12787-6
232 Requires(post): kmod >= %{kmod_ver}
233 Requires:       /sbin/depmod
234 Requires:       coreutils
235 Requires:       geninitrd >= 12787-6
236 Requires:       kmod >= %{kmod_ver}
237 %if %{with pae}
238 %ifarch i686 athlon pentium3 pentium4
239 Requires:       cpuinfo(pae)
240 %endif
241 %endif
242 Suggests:       crda
243 Suggests:       dracut
244 Suggests:       keyutils
245 Suggests:       linux-firmware
246 Provides:       %{name}(netfilter) = 20070806
247 Provides:       %{name}(vermagic) = %{kernel_release}
248 Obsoletes:      kernel%{_alt_kernel}-char-lirc-ene0100 < 0.9.0
249 Obsoletes:      kernel%{_alt_kernel}-char-lirc-it87 < 0.9.0
250 Obsoletes:      kernel%{_alt_kernel}-char-lirc-ite8709 < 0.9.0
251 Obsoletes:      kernel%{_alt_kernel}-char-lirc-mceusb < 0.9.0
252 Obsoletes:      kernel%{_alt_kernel}-char-lirc-streamzap < 0.9.0
253 Obsoletes:      kernel%{_alt_kernel}-isdn-mISDN < 2.0.35
254 Obsoletes:      kernel-firmware < 3:2.6.33
255 Obsoletes:      kernel-misc-acer_acpi < 0.3-2
256 Obsoletes:      kernel-misc-fuse < 2.8.5-2
257 Obsoletes:      kernel-misc-uvc < 0.215.1-10
258 Obsoletes:      kernel-modules < 2.2.2-2
259 Obsoletes:      kernel-net-ar81 < 1.0.1.0-3
260 Obsoletes:      kernel-net-hostap < 0.4.7-2
261 Obsoletes:      kernel-net-ieee80211 < 1.2.18-7
262 Obsoletes:      kernel-net-ipp2p < 0.8.2.-17
263 Obsoletes:      kernel-net-rt61 < 1.1.0-2.2007122707.13
264 Obsoletes:      kernel-smp < 3:2.6.21
265 Conflicts:      e2fsprogs < 1.29
266 Conflicts:      isdn4k-utils < 3.1pre1
267 Conflicts:      jfsutils < 1.1.3
268 Conflicts:      libcap-libs < 1:2.34
269 Conflicts:      libusb < 1.0.9
270 Conflicts:      linux-firmware < 20120720
271 Conflicts:      lvm2 < 2.02.40
272 Conflicts:      module-init-tools < 3.16
273 Conflicts:      nfs-utils < 1.0.5
274 Conflicts:      oprofile < 0.9
275 Conflicts:      ppp < 1:2.4.0
276 Conflicts:      procps < 3.2.0
277 Conflicts:      quota-tools < 3.09
278 Conflicts:      reiserfsprogs < 3.6.3
279 Conflicts:      rpm < 4.4.2-0.2
280 Conflicts:      udev < 1:081
281 Conflicts:      util-linux < 2.10o
282 Conflicts:      xfsprogs < 2.6.0
283 %if %{with pae}
284 ExclusiveArch:  i686 pentium3 pentium4 athlon
285 %else
286 ExclusiveArch:  i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha %{arm} ia64 ppc ppc64 sparc sparc64 aarch64
287 %endif
288 ExclusiveOS:    Linux
289 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
290
291 %define         kmod_compress_cmd       %{__xz}
292
293 %ifarch %{ix86} %{x8664} x32
294 %define         target_arch_dir         x86
295 %endif
296 %ifarch ppc ppc64
297 %define         target_arch_dir         powerpc
298 %endif
299 %ifarch sparc sparc64
300 %define         target_arch_dir         sparc
301 %endif
302 %ifarch aarch64
303 %define         target_arch_dir         arm64
304 %endif
305 %ifnarch %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64 aarch64
306 %define         target_arch_dir         %{_target_base_arch}
307 %endif
308
309 %define         defconfig       arch/%{target_arch_dir}/defconfig
310
311 # No ELF objects there to strip (skips processing 27k files)
312 %define         _noautostrip    \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
313 %define         _noautochrpath  .*%{_kernelsrcdir}/.*
314 %define         _enable_debug_packages  0
315
316 %ifarch ia64
317 %define         initrd_dir      /boot/efi
318 %else
319 %define         initrd_dir      /boot
320 %endif
321
322 %define         topdir          %{_builddir}/%{name}-%{version}
323 %define         srcdir          %{topdir}/linux-%{basever}
324 %define         objdir          %{topdir}/%{targetobj}
325 %define         targetobj       %{_target_base_arch}-gcc-%(%{__cc} -dumpversion)
326
327 %define         _kernelsrcdir   /usr/src/linux%{versuffix}%{_alt_kernel}-%{version}
328
329 %if "%{_target_base_arch}" != "%{_host_base_arch}"
330         %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
331         %define DepMod /bin/true
332
333         %if "%{_host_base_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
334         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
335         %define DepMod /sbin/depmod
336         %endif
337
338         %if "%{_host_base_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
339         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
340         %define DepMod /sbin/depmod
341         %endif
342
343         %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
344         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
345         %define DepMod /sbin/depmod
346         %endif
347
348         %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
349         %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
350         %endif
351 %else
352         %ifarch ppc ppc64
353         %define CrossOpts ARCH=powerpc CC="%{__cc}"
354         %else
355         %ifarch aarch64
356         %define CrossOpts ARCH=arm64 CC="%{__cc}"
357         %else
358         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
359         %endif
360         %endif
361         %define DepMod /sbin/depmod
362 %endif
363 # use 64-bit offsets for fixdeps to work with 64-bit inodes
364 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc} -D_FILE_OFFSET_BITS=64"
365
366 %define __features \
367 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
368 %{?with_nfsroot:Root on NFS - enabled}\
369 %{?with_rt:CONFIG_PREEMPT_RT - enabled}\
370
371 %define Features %(echo "%{__features}" | sed '/^$/d')
372
373 %description
374 This package contains the Linux kernel that is used to boot and run
375 your system. It contains few device drivers for specific hardware.
376 Most hardware is instead supported by modules loaded after booting.
377
378 %{Features}
379
380 %description -l de.UTF-8
381 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
382 Linux-Betriebssystems. Der Kernel ist für grundliegende
383 Systemfunktionen verantwortlich: Speicherreservierung,
384 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
385
386 %{Features}
387
388 %description -l fr.UTF-8
389 Le package kernel contient le kernel linux (vmlinuz), la partie
390 centrale d'un système d'exploitation Linux. Le noyau traite les
391 fonctions basiques d'un système d'exploitation: allocation mémoire,
392 allocation de process, entrée/sortie de peripheriques, etc.
393
394 %{Features}
395
396 %description -l pl.UTF-8
397 Pakiet zawiera jÄ…dro Linuksa niezbÄ™dne do prawidÅ‚owego dziaÅ‚ania
398 Twojego komputera. Zawiera w sobie sterowniki do sprzÄ™tu znajdujÄ…cego
399 siÄ™ w komputerze, takiego jak sterowniki dysków itp.
400
401 %{Features}
402
403 %package vmlinux
404 Summary:        vmlinux - uncompressed kernel image
405 Summary(de.UTF-8):      vmlinux - dekompressiertes Kernel Bild
406 Summary(pl.UTF-8):      vmlinux - rozpakowany obraz jÄ…dra
407 Group:          Base/Kernel
408 Obsoletes:      kernel-smp-vmlinux < 3:2.6.21
409
410 %description vmlinux
411 vmlinux - uncompressed kernel image.
412
413 %description vmlinux -l de.UTF-8
414 vmlinux - dekompressiertes Kernel Bild.
415
416 %description vmlinux -l pl.UTF-8
417 vmlinux - rozpakowany obraz jÄ…dra.
418
419 %package drm
420 Summary:        DRM kernel modules
421 Summary(de.UTF-8):      DRM Kernel Treiber
422 Summary(pl.UTF-8):      Sterowniki DRM
423 Group:          Base/Kernel
424 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
425 Requires:       %{name} = %{epoch}:%{version}-%{release}
426 Provides:       kernel(vboxvideo) = %{kernel_release}
427 Obsoletes:      kernel-smp-drm < 3:2.6.21
428 AutoReqProv:    no
429
430 %description drm
431 DRM kernel modules.
432
433 %description drm -l de.UTF-8
434 DRM Kernel Treiber.
435
436 %description drm -l pl.UTF-8
437 Sterowniki DRM.
438
439 %package pcmcia
440 Summary:        PCMCIA modules
441 Summary(de.UTF-8):      PCMCIA Module
442 Summary(pl.UTF-8):      ModuÅ‚y PCMCIA
443 Group:          Base/Kernel
444 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
445 Requires:       %{name} = %{epoch}:%{version}-%{release}
446 Obsoletes:      kernel-smp-pcmcia < 3:2.6.21
447 Conflicts:      pcmcia-cs < 3.1.21
448 Conflicts:      pcmciautils < 004
449 AutoReqProv:    no
450
451 %description pcmcia
452 PCMCIA modules.
453
454 %description pcmcia -l de.UTF-8
455 PCMCIA Module.
456
457 %description pcmcia -l pl.UTF-8
458 ModuÅ‚y PCMCIA.
459
460 %package sound-alsa
461 Summary:        ALSA kernel modules
462 Summary(de.UTF-8):      ALSA Kernel Module
463 Summary(pl.UTF-8):      Sterowniki dźwiÄ™ku ALSA
464 Group:          Base/Kernel
465 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
466 Requires:       %{name} = %{epoch}:%{version}-%{release}
467 Obsoletes:      kernel-smp-sound-alsa < 3:2.6.21
468 AutoReqProv:    no
469
470 %description sound-alsa
471 ALSA (Advanced Linux Sound Architecture) sound drivers.
472
473 %description sound-alsa -l de.UTF-8
474 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
475
476 %description sound-alsa -l pl.UTF-8
477 Sterowniki dźwiÄ™ku ALSA (Advanced Linux Sound Architecture).
478
479 %package headers
480 Summary:        Header files for the Linux kernel
481 Summary(de.UTF-8):      Header Dateien für den Linux-Kernel
482 Summary(pl.UTF-8):      Pliki nagłówkowe jÄ…dra Linuksa
483 Group:          Development/Building
484 Provides:       %{name}-headers(netfilter) = 20070806
485 AutoReqProv:    no
486
487 %description headers
488 These are the C header files for the Linux kernel, which define
489 structures and constants that are needed when rebuilding the kernel or
490 building kernel modules.
491
492 %description headers -l de.UTF-8
493 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
494 Strukturen und Konstante beinhalten, die beim rekompilieren des
495 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
496
497 %description headers -l pl.UTF-8
498 Pakiet zawiera pliki nagłówkowe jÄ…dra, niezbÄ™dne do rekompilacji jÄ…dra
499 oraz budowania modułów jÄ…dra.
500
501 %package module-build
502 Summary:        Development files for building kernel modules
503 Summary(de.UTF-8):      Development Dateien die beim Kernel Modul kompilationen gebraucht werden
504 Summary(pl.UTF-8):      Pliki sÅ‚użące do budowania modułów jÄ…dra
505 Group:          Development/Building
506 Requires:       %{name}-headers = %{epoch}:%{version}-%{release}
507 Requires:       elfutils-devel
508 Requires:       make
509 Conflicts:      rpmbuild(macros) < 2.019
510 AutoReqProv:    no
511
512 %description module-build
513 Development files from kernel source tree needed to build Linux kernel
514 modules from external packages.
515
516 %description module-build -l de.UTF-8
517 Development Dateien des Linux-Kernels die beim kompilieren externer
518 Kernel Module gebraucht werden.
519
520 %description module-build -l pl.UTF-8
521 Pliki ze drzewa ÅºródeÅ‚ jÄ…dra potrzebne do budowania modułów jÄ…dra
522 Linuksa z zewnÄ™trznych pakietów.
523
524 %package source
525 Summary:        Kernel source tree
526 Summary(de.UTF-8):      Der Kernel Quelltext
527 Summary(pl.UTF-8):      Kod ÅºródÅ‚owy jÄ…dra Linuksa
528 Group:          Development/Building
529 Requires:       %{name}-module-build = %{epoch}:%{version}-%{release}
530 AutoReqProv:    no
531 BuildArch:      noarch
532
533 %description source
534 This is the source code for the Linux kernel. You can build a custom
535 kernel that is better tuned to your particular hardware.
536
537 %description source -l de.UTF-8
538 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
539 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
540 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
541 im Kernel-Source definiert sind. Die Source-Dateien können auch
542 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
543 Hardware ausgerichtet ist.
544
545 %description source -l fr.UTF-8
546 Le package pour le kernel-source contient le code source pour le noyau
547 linux. Ces sources sont nécessaires pour compiler la plupart des
548 programmes C, car il dépend de constantes définies dans le code
549 source. Les sources peuvent Ãªtre aussi utilisée pour compiler un noyau
550 personnalisé pour avoir de meilleures performances sur des matériels
551 particuliers.
552
553 %description source -l pl.UTF-8
554 Pakiet zawiera kod ÅºródÅ‚owy jÄ…dra systemu.
555
556 %package doc
557 Summary:        Kernel documentation
558 Summary(de.UTF-8):      Kernel Dokumentation
559 Summary(pl.UTF-8):      Dokumentacja do jÄ…dra Linuksa
560 Group:          Documentation
561 AutoReqProv:    no
562 BuildArch:      noarch
563
564 %description doc
565 This is the documentation for the Linux kernel, as found in
566 /usr/src/linux/Documentation directory.
567
568 %description doc -l de.UTF-8
569 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
570 Verzeichniss vorgefunden werden kann.
571
572 %description doc -l pl.UTF-8
573 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
574 /usr/src/linux/Documentation.
575
576 %prep
577 %setup -qc
578 ln -s %{SOURCE7} kernel-module-build.pl
579 ln -s %{SOURCE10} Makefile
580 cd linux-%{basever}
581
582 %if "%{postver}" != ".0"
583 %patch0 -p1
584 %endif
585
586 %if %{without vanilla}
587 %patch2 -p1
588
589 %if %{with fbcondecor}
590 %patch3 -p1
591 %endif
592 %patch6 -p1
593
594 ## netfilter
595 #
596
597 # kernel-pom-ng-IPV4OPTSSTRIP.patch
598 %patch10 -p1
599
600 ##
601 # end of netfilter
602
603 %patch55 -p1
604 %patch56 -p1
605
606 # kernel-rndis_host-wm5.patch
607 %patch59 -p1
608
609 # hostap enhancements from/for aircrack-ng
610 %patch85 -p1
611
612 %if %{with aufs}
613 # aufs
614 %patch145 -p1
615 %patch147 -p1
616 %endif
617
618 %if %{with rescuecd}
619 %patch7000 -p1
620 %endif
621
622 %ifarch %{arm} aarch64
623 %patch8000 -p1
624 %patch8001 -p1
625 %patch8002 -p1
626 %patch8004 -p1
627 %patch8005 -p1
628 %endif
629
630 %patch9000 -p1
631
632 %if %{with rt}
633 %patch500 -p1
634 rm -f localversion-rt
635 %endif
636
637 %patch250 -p1
638
639 %endif # vanilla
640
641 # Small fixes:
642 %patch2000 -p1
643 %patch2001 -p1
644
645 # Do not remove this, please!
646 #%%patch50000 -p1
647
648 chmod 755 tools/objtool/sync-check.sh
649
650 # Fix EXTRAVERSION in main Makefile
651 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
652
653 # cleanup backups after patching
654 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
655
656 find -name '*.py' -print0 | \
657         xargs -0 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
658                              -e '1s,/usr/bin/env python$,%{__python},' \
659                              -e '1s,/usr/bin/env python3$,%{__python3},'
660
661 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
662             -e '1s,/usr/bin/env python$,%{__python},' \
663             -e '1s,/usr/bin/env python3$,%{__python3},' \
664         scripts/bloat-o-meter \
665         scripts/diffconfig \
666         scripts/dtc/dt-extract-compatibles \
667         scripts/jobserver-exec \
668         scripts/show_delta \
669         tools/hv/vmbus_testing \
670         tools/kvm/kvm_stat/kvm_stat \
671         tools/testing/selftests/exec/binfmt_script.py
672
673 find -name '*.pl' -print0 | \
674         xargs -0 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
675
676 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
677         scripts/dtc/dt_to_config \
678         scripts/cleanfile \
679         scripts/cleanpatch \
680         scripts/documentation-file-ref-check \
681         scripts/get_dvb_firmware \
682         scripts/kernel-doc \
683         scripts/sphinx-pre-install \
684         scripts/stackdelta
685
686 %{__sed} -i -e '1s,/usr/bin/env bash,%{__bash},' \
687         tools/testing/selftests/powerpc/security/mitigation-patching.sh \
688         scripts/config \
689         scripts/coccicheck
690
691 %build
692 install -d %{objdir}
693 cat > %{targetobj}.mk <<'EOF'
694 # generated by %{name}.spec
695 KERNELSRC       := %{srcdir}
696 KERNELOUTPUT    := %{objdir}
697
698 SRCARCH         := %{target_arch_dir}
699 ARCH            := %{_target_base_arch}
700 Q               := %{!?with_verbose:@}
701 MAKE_OPTS       := %{MakeOpts}
702 DEFCONFIG       := %{defconfig}
703 EOF
704
705 RescueConfig() {
706         set -x
707                 # CONFIG_SOUND is not set
708                 # CONFIG_AUDIT is not set
709                 # CONFIG_TR is not set
710                 # CONFIG_BT is not set
711                 # CONFIG_VIDEO_DEV is not set
712                 # CONFIG_DVB_CORE is not set
713                 # CONFIG_HAMRADIO is not set
714                 # CONFIG_ARCNET is not set
715                 # CONFIG_DRM is not set
716                 # CONFIG_WATCHDOG is not set
717                 # CONFIG_INPUT_JOYSTICK is not set
718                 # CONFIG_DEBUG_KERNEL is not set
719                 # CONFIG_ISDN is not set
720                 # CONFIG_AGP is not set
721                 # CONFIG_SECURITY is not set
722                 # CONFIG_PARIDE is not set
723                 # CONFIG_CPU_FREQ is not set
724                 # CONFIG_GAMEPORT is not set
725                 # CONFIG_KVM is not set
726                 # CONFIG_PHONE is not set
727                 # CONFIG_STRICT_DEVMEM is not set
728                 # CONFIG_IMA is not set
729                 # CONFIG_MEDIA_SUPPORT is not set
730                 # CONFIG_UWB is not set
731                 # CONFIG_PWM is not set
732                 # CONFIG_COMEDI_NI_LABPC_ISA is not set
733                 # CONFIG_FB_SYS_FILLRECT is not set
734                 # CONFIG_FB_SYS_COPYAREA is not set
735                 # CONFIG_FB_SYS_IMAGEBLIT is not set
736                 # CONFIG_FB_SYS_FOPS is not set
737                 # CONFIG_FB_HECUBA is not set
738                 # CONFIG_FB_SVGALIB is not set
739                 # CONFIG_FB_CIRRUS is not set
740                 # CONFIG_FB_PM2 is not set
741                 # CONFIG_FB_CYBER2000 is not set
742                 # CONFIG_FB_ARC is not set
743                 # CONFIG_FB_ASILIANT is not set
744                 # CONFIG_FB_IMSTT is not set
745                 # CONFIG_FB_VGA16 is not set
746                 # CONFIG_FB_UVESA is not set
747                 # CONFIG_FB_N411 is not set
748                 # CONFIG_FB_HGA is not set
749                 # CONFIG_FB_S1D13XXX is not set
750                 # CONFIG_FB_NVIDIA is not set
751                 # CONFIG_FB_RIVA is not set
752                 # CONFIG_FB_I740 is not set
753                 # CONFIG_FB_LE80578 is not set
754                 # CONFIG_FB_CARILLO_RANCH is not set
755                 # CONFIG_FB_MATROX is not set
756                 # CONFIG_FB_RADEON is not set
757                 # CONFIG_FB_ATY128 is not set
758                 # CONFIG_FB_ATY is not set
759                 # CONFIG_FB_S3 is not set
760                 # CONFIG_FB_SAVAGE is not set
761                 # CONFIG_FB_SIS is not set
762                 # CONFIG_FB_VIA is not set
763                 # CONFIG_FB_NEOMAGIC is not set
764                 # CONFIG_FB_KYRO is not set
765                 # CONFIG_FB_3DFX is not set
766                 # CONFIG_FB_VOODOO1 is not set
767                 # CONFIG_FB_VT8623 is not set
768                 # CONFIG_FB_TRIDENT is not set
769                 # CONFIG_FB_ARK is not set
770                 # CONFIG_FB_PM3 is not set
771                 # CONFIG_FB_CARMINE is not set
772                 # CONFIG_FB_GEODE is not set
773                 # CONFIG_FB_TMIO is not set
774                 # CONFIG_FB_SM501 is not set
775                 # CONFIG_FB_SMSCUFX is not set
776                 # CONFIG_FB_UDL is not set
777                 # CONFIG_FB_GOLDFISH is not set
778                 # CONFIG_XEN_FBDEV_FRONTEND is not set
779                 # CONFIG_FB_METRONOME is not set
780                 # CONFIG_FB_MB862XX is not set
781                 # CONFIG_FB_BROADSHEET is not set
782                 # CONFIG_FB_AUO_K190X is not set
783                 # CONFIG_FB_AUO_K1900 is not set
784                 # CONFIG_FB_AUO_K1901 is not set
785                 # CONFIG_FB_HYPERV is not set
786                 CONFIG_AUFS=y
787                 CONFIG_AUFS_FS=y
788                 CONFIG_AUFS_BR_RAMFS=y
789                 CONFIG_AUFS_RDU=y
790                 CONFIG_BLK_DEV_LOOP=y
791                 CONFIG_ISO9660_FS=y
792                 CONFIG_NLS_UTF8=y
793                 CONFIG_SQUASHFS=y
794                 CONFIG_FB=y
795                 CONFIG_FB_EFI=y
796                 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
797 EOCONFIG
798
799         return 0
800 }
801
802 BuildConfig() {
803         %{?debug:set -x}
804         set -e
805
806         Config="kernel-%{target_arch_dir}.config"
807         echo >&2 "Building config file for %{_target_cpu} using $Config et al."
808
809         # prepare local and important options
810         cat <<-EOCONFIG > important.config
811                 LOCALVERSION="-%{localversion}"
812
813 %if 0%{?debug:1}
814                 CONFIG_SLUB_DEBUG=y
815                 CONFIG_DEBUG_PREEMPT=y
816                 CONFIG_RT_DEADLOCK_DETECT=y
817 %else
818                 CONFIG_SLUB_DEBUG=n
819                 CONFIG_DEBUG_PREEMPT=n
820 %endif
821
822 %if %{without ipv6}
823                 CONFIG_IPV6=n
824 %endif
825
826 %ifarch i686 athlon pentium3 pentium4
827         %if %{with pae}
828                 CONFIG_HIGHMEM4G=n
829                 CONFIG_HIGHMEM64G=y
830                 CONFIG_X86_PAE=y
831                 CONFIG_NUMA=n
832         %endif
833 %endif
834
835 %if %{without pcmcia}
836                 CONFIG_PCMCIA=n
837 %endif
838
839 %if %{with fbcondecor}
840                 CONFIG_FB_S3=n
841                 CONFIG_FB_VT8623=n
842                 CONFIG_FB_ARK=n
843                 CONFIG_FB_TILEBLITTING=n
844                 CONFIG_FB_CON_DECOR=y
845 %endif
846
847 %if %{with nfsroot}
848                 CONFIG_NFS_FS=y
849                 CONFIG_ROOT_NFS=y
850 %endif
851
852 %ifarch x32
853                 CONFIG_BPF_PRELOAD=n
854 %endif
855 %if %{_ver_ge %(rpm -q --qf='%%{VERSION}' gcc) 12}
856                 CONFIG_INIT_STACK_ALL_ZERO=y
857                 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=n
858 %else
859                 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
860 %endif
861 EOCONFIG
862
863 %if %{with rescuecd}
864         RescueConfig rescue.config
865 %endif
866         # prepare kernel-style config file from multiple config files
867         %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
868 %if %{with myown}
869                 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
870 %endif
871                 important.config \
872 %if %{without vanilla}
873 %if %{with rescuecd}
874                 %{SOURCE58} \
875                 rescue.config \
876 %endif
877                 \
878 %if %{with rt}
879                 %{SOURCE44} \
880 %endif
881                 %{SOURCE41} %{?0:patches} \
882 %endif
883                 %{SOURCE20} \
884                 $RPM_SOURCE_DIR/$Config
885 }
886
887 cd %{objdir}
888 install -d arch/%{target_arch_dir}
889 BuildConfig > %{defconfig}
890 ln -sf %{defconfig} .config
891 cd -
892
893 %{__make} \
894         TARGETOBJ=%{targetobj} \
895         %{?with_verbose:V=1} \
896         oldconfig
897
898 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
899
900 %{__make} \
901         TARGETOBJ=%{targetobj} \
902         %{?with_verbose:V=1} \
903         scripts
904
905 # build kernel
906 export DTC_FLAGS=-@
907 ICECC_EXTRAFILES="${ICECC_EXTRAFILES:+$ICECC_EXTRAFILES:}$(test -d %{objdir}/scripts/gcc-plugins && find %{objdir}/scripts/gcc-plugins -name '*.so' | paste -s -d :)"
908 %{__make} \
909         TARGETOBJ=%{targetobj} \
910         %{?with_verbose:V=1} \
911         all
912
913 %install
914 rm -rf $RPM_BUILD_ROOT
915 %{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install \
916         -C %{objdir} \
917         %{?with_verbose:V=1} \
918         DEPMOD=%{DepMod} \
919         INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
920         INSTALL_MOD_STRIP="--strip-debug --remove-section=.comment --remove-section=.note.GNU-stack" \
921         KERNELRELEASE=%{kernel_release}
922
923 %ifarch %{arm} aarch64
924 export DTC_FLAGS=-@
925 %{__make} %{MakeOpts} %{!?with_verbose:-s} dtbs_install \
926         -C %{objdir} \
927         %{?with_verbose:V=1} \
928         INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/boot/dtb-%{kernel_release}
929 %endif
930
931 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
932
933 # create directories which may be missing, to simplyfy %files
934 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
935
936 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
937 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
938 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
939
940 # no point embed content for %ghost files. empty them
941 for a in \
942         dep{,.bin} \
943         alias{,.bin} \
944         devname \
945         softdep \
946         symbols{,.bin} \
947 ; do
948         test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
949         > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
950 done
951
952 # /boot
953 install -d $RPM_BUILD_ROOT/boot
954 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
955 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
956 %ifarch %{ix86} %{x8664} x32
957         cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
958         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
959 %endif
960 %ifarch ppc ppc64
961         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
962         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
963 %endif
964 %ifarch ia64
965         %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
966         cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
967         ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
968 %endif
969 %ifarch alpha sparc sparc64
970         %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
971         cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
972         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
973         %ifarch sparc
974                 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
975                 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
976         %endif
977         %ifarch sparc64
978                 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
979                 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
980         %endif
981 %endif
982 %ifarch %{arm}
983         install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
984 %endif
985 %ifarch aarch64
986         cp -a %{objdir}/arch/%{target_arch_dir}/boot/Image.gz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
987 %endif
988
989 # ghosted initrd
990 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
991 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
992
993 %if "%{_target_base_arch}" != "%{_host_base_arch}"
994 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
995 %endif
996
997 # /etc/depmod.d /etc/modrobe.d
998 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{depmod.d,modprobe.d}/%{kernel_release}
999
1000 install -d $RPM_BUILD_ROOT/etc/sysconfig
1001 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
1002
1003 # /usr/src/linux
1004 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1005
1006 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1007 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1008         l=l
1009         rm -f $RPM_BUILD_ROOT/COPYING
1010 fi
1011
1012 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1013 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
1014 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
1015 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
1016 # copy arch/x86/include/generated
1017 for dir in $(cd %{objdir} && find arch -name generated -type d); do
1018         cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
1019         find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
1020 done
1021
1022 %ifarch %{x8664} x32
1023 # Needed for CONFIG_STACK_VALIDATION / ORC_UNWINDER enabled builds
1024 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
1025 cp -a %{objdir}/tools/objtool/fixdep $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
1026 cp -a %{objdir}/tools/objtool/objtool $RPM_BUILD_ROOT%{_kernelsrcdir}/tools/objtool
1027 %endif
1028
1029 # version.h location changed in 3.7, but a lot of external modules don't know about it
1030 # add a compatibility symlink
1031 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
1032
1033 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
1034 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
1035
1036 # collect module-build files and directories
1037 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1038 fileoutdir=$(pwd)
1039 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1040 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1041 cd -
1042
1043 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
1044         ff=${f##%{objdir}/}
1045         if [ -x "$f" ]; then
1046                 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1047         else
1048                 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
1049         fi
1050         echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
1051         cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
1052 done
1053
1054 %if %{with doc}
1055 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1056 install -d $RPM_BUILD_ROOT%{_docdir}
1057 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1058
1059 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1060 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1061 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1062 %else
1063 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
1064 %endif
1065
1066 %clean
1067 rm -rf $RPM_BUILD_ROOT
1068
1069 %preun
1070 if [ -x /sbin/new-kernel-pkg ]; then
1071         /sbin/new-kernel-pkg --remove %{kernel_release}
1072 fi
1073
1074 %post
1075 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1076 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1077 %ifarch ia64
1078         mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1079         ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1080 %if 0%{?alt_kernel:1}
1081         mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1082         ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
1083 %endif
1084 %endif
1085         mv -f /boot/vmlinuz{,.old} 2> /dev/null
1086         mv -f /boot/System.map{,.old} 2> /dev/null
1087         ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1088         ln -sf System.map-%{kernel_release} /boot/System.map
1089 %ifarch %{arm} aarch64
1090         test -L /boot/dtb.old && rm /boot/dtb.old
1091         test ! -e /boot/dtb.old && mv -f /boot/dtb{,.old} 2> /dev/null
1092         ln -sf dtb-%{kernel_release} /boot/dtb
1093 %endif
1094 %if 0%{?alt_kernel:1}
1095         mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
1096         mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
1097         ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
1098         ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
1099 %ifarch %{arm} aarch64
1100         test -L /boot/dtb%{_alt_kernel}.old && rm /boot/dtb%{_alt_kernel}.old
1101         test ! -e /boot/dtb%{_alt_kernel}.old && mv -f /boot/dtb%{_alt_kernel}{,.old} 2> /dev/null
1102         ln -sf dtb-%{kernel_release} /boot/dtb%{_alt_kernel}
1103 %endif
1104 %endif
1105 fi
1106
1107 %depmod %{kernel_release}
1108
1109 %posttrans
1110 # use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
1111 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1112 initrd_file=""
1113 if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
1114         /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
1115         initrd_file="initrd-%{kernel_release}.gz"
1116 fi
1117
1118 # if dracut is present then generate full-featured initramfs
1119 if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
1120         /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
1121         [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
1122 fi
1123
1124 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1125         mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1126         if [ -n "$initrd_file" ] ; then
1127                 ln -sf "$initrd_file" %{initrd_dir}/initrd
1128         fi
1129 %if 0%{?alt_kernel:1}
1130         mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
1131         if [ -n "$initrd_file" ] ; then
1132                 ln -sf "$initrd_file" %{initrd_dir}/initrd%{_alt_kernel}
1133         fi
1134 %endif
1135 fi
1136
1137 # update boot loaders when old package files are gone from filesystem
1138 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1139         if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1140                 /sbin/update-grub >/dev/null
1141         fi
1142 fi
1143 if [ -x /sbin/new-kernel-pkg ]; then
1144         /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/$initrd_file --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1145 fi
1146 if [ -x /sbin/rc-boot ]; then
1147         /sbin/rc-boot 1>&2 || :
1148 fi
1149 if [ -x /sbin/efi-boot-update ]; then
1150         /sbin/efi-boot-update --auto || :
1151 fi
1152
1153 %post vmlinux
1154 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
1155 if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
1156         mv -f /boot/vmlinux{,.old} 2> /dev/null
1157         ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1158 %if 0%{?alt_kernel:1}
1159         mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
1160         ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
1161 %endif
1162 fi
1163
1164 %post drm
1165 %depmod %{kernel_release}
1166
1167 %postun drm
1168 %depmod %{kernel_release}
1169
1170 %post pcmcia
1171 %depmod %{kernel_release}
1172
1173 %postun pcmcia
1174 %depmod %{kernel_release}
1175
1176 %post sound-alsa
1177 %depmod %{kernel_release}
1178
1179 %postun sound-alsa
1180 %depmod %{kernel_release}
1181
1182 %post headers
1183 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
1184
1185 %postun headers
1186 if [ "$1" = "0" ]; then
1187         if [ -L %{_prefix}/src/linux%{versuffix}%{_alt_kernel} ]; then
1188                 if [ "$(readlink %{_prefix}/src/linux%{versuffix}%{_alt_kernel})" = "linux%{versuffix}%{_alt_kernel}-%{version}" ]; then
1189                         rm -f %{_prefix}/src/linux%{versuffix}%{_alt_kernel}
1190                 fi
1191         fi
1192 fi
1193
1194 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1195 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1196 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1197
1198 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1199 if [ "$1" = 0 ]; then
1200         rm -f /lib/modules/%{kernel_release}/{build,source}
1201 fi
1202
1203 %files
1204 %defattr(644,root,root,755)
1205 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
1206 %ifarch sparc sparc64
1207 /boot/vmlinux.aout-%{kernel_release}
1208 %endif
1209 %ifarch ia64
1210 /boot/efi/vmlinuz-%{kernel_release}
1211 %endif
1212 %ifarch %{arm} aarch64
1213 /boot/dtb-%{kernel_release}
1214 %endif
1215 /boot/vmlinuz-%{kernel_release}
1216 /boot/System.map-%{kernel_release}
1217 /boot/config-%{kernel_release}
1218 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1219 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
1220
1221 %dir /lib/modules/%{kernel_release}
1222 %dir /lib/modules/%{kernel_release}/kernel
1223 /lib/modules/%{kernel_release}/kernel/arch
1224 /lib/modules/%{kernel_release}/kernel/block
1225 /lib/modules/%{kernel_release}/kernel/crypto
1226 /lib/modules/%{kernel_release}/kernel/drivers
1227 %if %{have_drm}
1228 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1229 %endif
1230 /lib/modules/%{kernel_release}/kernel/fs
1231 /lib/modules/%{kernel_release}/kernel/kernel
1232 /lib/modules/%{kernel_release}/kernel/lib
1233 /lib/modules/%{kernel_release}/kernel/net
1234 /lib/modules/%{kernel_release}/kernel/mm
1235 %if %{have_sound}
1236 %dir /lib/modules/%{kernel_release}/kernel/sound
1237 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1238 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1239 %ifnarch sparc
1240 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1241 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1242 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1243 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
1244 %endif
1245 %ifarch %{arm}
1246 %exclude /lib/modules/%{kernel_release}/kernel/drivers/staging/vc04_services/bcm2835-audio
1247 %endif
1248 %endif
1249 %dir /lib/modules/%{kernel_release}/misc
1250 %if %{have_pcmcia}
1251 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1252 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1253 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1254 %if %{without rescuecd}
1255 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1256 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1257 %endif
1258 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/arcnet/com20020_cs.ko*
1259 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/can/softing/softing_cs.ko*
1260 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c574_cs.ko*
1261 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c589_cs.ko*
1262 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/axnet_cs.ko*
1263 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/pcnet_cs.ko*
1264 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/amd/nmclan_cs.ko*
1265 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/fujitsu/fmvj18x_cs.ko*
1266 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/smsc/smc91c92_cs.ko*
1267 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/xircom/xirc2ps_cs.ko*
1268 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/atmel/*_cs.ko*
1269 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/cisco/*_cs.ko*
1270 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/hostap/hostap_cs.ko*
1271 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/orinoco/*_cs.ko*
1272 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/marvell/libertas/*_cs.ko*
1273 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1274 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
1275 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1276 %endif
1277 %if %{with myown}
1278 /lib/modules/%{kernel_release}/kernel/sound
1279 %endif
1280 /lib/modules/%{kernel_release}/kernel/security
1281 %ifarch %{ix86} %{x8664} x32
1282 /lib/modules/%{kernel_release}/kernel/virt
1283 %endif
1284
1285 %dir %{_sysconfdir}/depmod.d/%{kernel_release}
1286 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1287
1288 # provided by build
1289 /lib/modules/%{kernel_release}/modules.order
1290 /lib/modules/%{kernel_release}/modules.builtin*
1291
1292 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1293 %ghost /lib/modules/%{kernel_release}/modules.alias
1294 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1295 %ghost /lib/modules/%{kernel_release}/modules.dep
1296 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1297 %ghost /lib/modules/%{kernel_release}/modules.devname
1298 %ghost /lib/modules/%{kernel_release}/modules.softdep
1299 %ghost /lib/modules/%{kernel_release}/modules.symbols
1300 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1301
1302 # symlinks pointing to kernelsrcdir
1303 %ghost /lib/modules/%{kernel_release}/build
1304 %ghost /lib/modules/%{kernel_release}/source
1305
1306 %ifarch alpha %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
1307 %files vmlinux
1308 %defattr(644,root,root,755)
1309 /boot/vmlinux-%{kernel_release}
1310 %endif
1311
1312 %if %{have_drm}
1313 %files drm
1314 %defattr(644,root,root,755)
1315 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1316 %endif
1317
1318 %if %{have_pcmcia}
1319 %files pcmcia
1320 %defattr(644,root,root,755)
1321 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1322 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1323 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1324 %if %{without rescuecd}
1325 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1326 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1327 %endif
1328 /lib/modules/%{kernel_release}/kernel/drivers/net/arcnet/com20020_cs.ko*
1329 /lib/modules/%{kernel_release}/kernel/drivers/net/can/softing/softing_cs.ko*
1330 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c574_cs.ko*
1331 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/3com/3c589_cs.ko*
1332 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/axnet_cs.ko*
1333 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/8390/pcnet_cs.ko*
1334 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/amd/nmclan_cs.ko*
1335 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/fujitsu/fmvj18x_cs.ko*
1336 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/smsc/smc91c92_cs.ko*
1337 /lib/modules/%{kernel_release}/kernel/drivers/net/ethernet/xircom/xirc2ps_cs.ko*
1338 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/atmel/*_cs.ko*
1339 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/cisco/*_cs.ko*
1340 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/hostap/hostap_cs.ko*
1341 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/intersil/orinoco/*_cs.ko*
1342 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/marvell/libertas/*_cs.ko*
1343 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1344 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
1345 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1346 %endif
1347
1348 %if %{have_sound}
1349 %files sound-alsa
1350 %defattr(644,root,root,755)
1351 /lib/modules/%{kernel_release}/kernel/sound
1352 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1353 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1354 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1355 %ifnarch sparc
1356 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
1357 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
1360 %endif
1361 %ifarch %{arm}
1362 /lib/modules/%{kernel_release}/kernel/drivers/staging/vc04_services/bcm2835-audio
1363 %endif
1364 %endif
1365
1366 %files headers -f files.headers_exclude_kbuild
1367 %defattr(644,root,root,755)
1368 %dir %{_kernelsrcdir}
1369 %{_kernelsrcdir}/include
1370 %dir %{_kernelsrcdir}/arch
1371 %dir %{_kernelsrcdir}/arch/[!K]*
1372 %{_kernelsrcdir}/arch/*/include
1373 %dir %{_kernelsrcdir}/security
1374 %dir %{_kernelsrcdir}/security/selinux
1375 %{_kernelsrcdir}/security/selinux/include
1376 %dir %{_kernelsrcdir}/tools
1377 %{_kernelsrcdir}/tools/include
1378 %dir %{_kernelsrcdir}/usr
1379 %dir %{_kernelsrcdir}/usr/include
1380 %{_kernelsrcdir}/.config
1381 %{_kernelsrcdir}/Module.symvers
1382
1383 %files module-build -f files.mb_include_modulebuild_and_dirs
1384 %defattr(644,root,root,755)
1385 %ifarch ppc ppc64
1386 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1387 %endif
1388 %exclude %dir %{_kernelsrcdir}/arch/um
1389 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1390 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1391 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1392 %{_kernelsrcdir}/kernel/bounds.c
1393 %{_kernelsrcdir}/scripts/basic/*.c
1394 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1395 %{_kernelsrcdir}/scripts/kconfig/*.pl
1396 %{_kernelsrcdir}/scripts/kconfig/*.glade
1397 %{_kernelsrcdir}/scripts/kconfig/*.cc
1398 %{_kernelsrcdir}/scripts/kconfig/*.y
1399 %{_kernelsrcdir}/scripts/kconfig/*.l
1400 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1401 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1402 %{_kernelsrcdir}/scripts/kconfig/l*.h
1403 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.c
1404 %{_kernelsrcdir}/scripts/kconfig/[m-o]*.h
1405 %{_kernelsrcdir}/scripts/kconfig/preprocess.c
1406 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.c
1407 %{_kernelsrcdir}/scripts/kconfig/[q-u]*.h
1408 %{_kernelsrcdir}/scripts/kconfig/lxdialog
1409 %{_kernelsrcdir}/scripts/mod/*.c
1410 %{_kernelsrcdir}/scripts/mod/modpost.h
1411 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
1412 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
1413 %{_kernelsrcdir}/scripts/subarch.include
1414 %{_kernelsrcdir}/scripts/*.c
1415 %{_kernelsrcdir}/scripts/*.h
1416 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
1417 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1418 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1419 %exclude %dir %{_kernelsrcdir}/security
1420 %exclude %dir %{_kernelsrcdir}/security/selinux
1421 %ifarch %{x8664} x32
1422 %attr(755,root,root) %{_kernelsrcdir}/tools/objtool/fixdep
1423 %attr(755,root,root) %{_kernelsrcdir}/tools/objtool/objtool
1424 %endif
1425
1426 %if %{with doc}
1427 %files doc
1428 %defattr(644,root,root,755)
1429 %dir %{_docdir}/%{name}-%{version}
1430
1431 %{_docdir}/%{name}-%{version}/[!jkz]*
1432 %{_docdir}/%{name}-%{version}/kbuild
1433 %{_docdir}/%{name}-%{version}/kernel-hacking
1434 %endif
1435
1436 %if %{with source}
1437 %files source -f files.source_exclude_modulebuild_and_dirs
1438 %defattr(644,root,root,755)
1439 %{_kernelsrcdir}/arch/*/[!Mik]*
1440 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1441 %{_kernelsrcdir}/arch/ia64/install.sh
1442 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1443 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1444 %{_kernelsrcdir}/arch/m68k/install.sh
1445 %{_kernelsrcdir}/arch/parisc/install.sh
1446 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1447 %{_kernelsrcdir}/arch/powerpc/kexec
1448 %{_kernelsrcdir}/arch/powerpc/kvm
1449 %{_kernelsrcdir}/arch/riscv/kvm
1450 %ifarch ppc ppc64
1451 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1452 %endif
1453 %{_kernelsrcdir}/arch/arm64/kvm
1454 %{_kernelsrcdir}/arch/mips/kvm
1455 %{_kernelsrcdir}/arch/s390/kvm
1456 %{_kernelsrcdir}/arch/x86/kvm
1457 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1458 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1459 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
1460 %{_kernelsrcdir}/block
1461 %{_kernelsrcdir}/certs
1462 %{_kernelsrcdir}/crypto
1463 %{_kernelsrcdir}/drivers
1464 %{_kernelsrcdir}/fs
1465 %{_kernelsrcdir}/init
1466 %{_kernelsrcdir}/io_uring
1467 %{_kernelsrcdir}/ipc
1468 %{_kernelsrcdir}/kernel
1469 %exclude %{_kernelsrcdir}/kernel/bounds.c
1470 %{_kernelsrcdir}/lib
1471 %{_kernelsrcdir}/mm
1472 %{_kernelsrcdir}/net
1473 %{_kernelsrcdir}/virt
1474 %{_kernelsrcdir}/rust
1475 %{_kernelsrcdir}/samples
1476 %{_kernelsrcdir}/scripts/*
1477 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1478 %exclude %{_kernelsrcdir}/scripts/Makefile*
1479 %exclude %{_kernelsrcdir}/scripts/basic
1480 %exclude %{_kernelsrcdir}/scripts/check-local-export
1481 %exclude %{_kernelsrcdir}/scripts/kconfig
1482 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1483 %exclude %{_kernelsrcdir}/scripts/mod
1484 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1485 %exclude %{_kernelsrcdir}/scripts/subarch.include
1486 %exclude %{_kernelsrcdir}/scripts/*.c
1487 %exclude %{_kernelsrcdir}/scripts/*.h
1488 %exclude %{_kernelsrcdir}/scripts/*.sh
1489 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1490 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1491 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1492 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1493 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1494 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1495 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1496 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1497 %{_kernelsrcdir}/sound
1498 %{_kernelsrcdir}/security
1499 %exclude %{_kernelsrcdir}/security/selinux/include
1500 %{_kernelsrcdir}/tools/*
1501 %exclude %{_kernelsrcdir}/tools/include
1502 %ifarch %{x8664} x32
1503 %exclude %{_kernelsrcdir}/tools/objtool/fixdep
1504 %exclude %{_kernelsrcdir}/tools/objtool/objtool
1505 %endif
1506 %{_kernelsrcdir}/usr
1507 %{_kernelsrcdir}/COPYING
1508 %{_kernelsrcdir}/CREDITS
1509 %{_kernelsrcdir}/MAINTAINERS
1510 %{_kernelsrcdir}/README
1511 %endif
This page took 0.262804 seconds and 2 git commands to generate.