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