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