]> git.pld-linux.org Git - packages/kernel.git/blob - kernel.spec
- conflicts with util-vserver tools with broken vprocunhide
[packages/kernel.git] / kernel.spec
1 #
2 # TODO:
3 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
4 # - apparmor (needs testing)
5 # - add a subpackage (kernel-firmware?) for ~35 firmware files
6 #
7 # FUTURE:
8 # - update xen patch
9 # - pom-ng quake3-conntrack-nat -> nf_conntrack ?
10 # - pom-ng talk-conntrack-nat -> nf_conntrack ?
11 # - nf-hipac ?
12 # - pax hooks for selinux (experimental)
13 #
14 # Conditional build:
15 %bcond_without  source          # don't build kernel-source package
16 %bcond_without  pcmcia          # don't build pcmcia
17
18 %bcond_with     verbose         # verbose build (V=1)
19 %bcond_with     xen0            # added Xen0 support
20 %bcond_with     xenU            # added XenU support
21 %bcond_without  reiser4         # support for reiser4 fs (experimental)
22
23 %bcond_without  grsecurity      # don't build grsecurity nor pax at all
24 %bcond_without  grsec_minimal   # build only minimal subset (proc,link,fifo,shm)
25 %bcond_without  grsec_full      # build full grsecurity
26 %bcond_with     pax_full        # build pax and full grsecurity (ie. grsec_full && pax)
27 %bcond_with     pax             # build pax support
28
29 %bcond_with     fbcondecor      # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
30 %bcond_with     pae             # build PAE (HIGHMEM64G) support on uniprocessor
31 %bcond_with     nfsroot         # build with root on NFS support
32
33 %bcond_without  imq             # imq support
34 %bcond_without  wrr             # wrr support
35 %bcond_without  ipv6            # ipv6 support
36
37 %bcond_without  vserver         # support for VServer (enabled by default)
38 %bcond_without  tuxonice        # support for tuxonice (ex-suspend2) (enabled by default)
39 %bcond_without  apparmor        # build kernel with apparmor (exerimental mix)
40
41 %bcond_with     rescuecd        # build kernel for our rescue
42
43 %bcond_without  smp             # build uniprocessor instead of SMP kernel
44 %bcond_with     myown           # build with your own config (kernel-myown.config)
45
46 %{?debug:%define with_verbose 1}
47
48 %if %{without grsecurity}
49 %undefine       with_grsec_full
50 %undefine       with_grsec_minimal
51 %undefine       with_pax
52 %undefine       with_pax_full
53 %endif
54
55 %if %{with pax_full}
56 %undefine       with_grsec_minimal
57 %define         with_grsec_full         1
58 %define         with_grsecurity         1
59 %define         with_pax                1
60 %endif
61
62 %if %{with grsec_full}
63 %undefine       with_grsec_minimal
64 %define         with_grsecurity         1
65 %if %{with pax}
66 %define         with_pax_full           1
67 %endif
68 %endif
69
70 %if %{with grsec_minimal}
71 %undefine       with_grsec_full
72 %undefine       with_pax_full
73 %define         with_grsecurity         1
74 %endif
75
76 %define         have_drm        1
77 %define         have_oss        1
78 %define         have_sound      1
79
80 %if %{with rescuecd}
81 %undefine       with_apparmor
82 %undefine       with_tuxonice
83 %undefine       with_grsec_full
84 %undefine       with_grsec_minimal
85 %undefine       with_pax
86 %undefine       with_pax_full
87 %undefine       with_vserver
88 %define         have_drm        0
89 %define         have_sound      0
90 %endif
91
92 %ifarch %{ix86} alpha ppc
93 %define         have_isa        1
94 %else
95 %define         have_isa        0
96 %endif
97
98 %ifarch sparc sparc64
99 %undefine       with_pcmcia
100 %define         have_drm        0
101 %define         have_oss        0
102 %endif
103
104 %define         basever         2.6.27
105 %define         postver         .7
106 %define         rel             1.1
107
108 %define         _enable_debug_packages                  0
109
110 %define         squashfs_version        3.4
111 %define         tuxonice_version        3.0-rc7a
112 %define         netfilter_snap          20070806
113 %define         xen_version             3.0.2
114
115 %if %{without rescuecd}
116 %define         __alt_kernel    %{?with_pax:pax}%{!?with_grsec_full:nogrsecurity}%{!?with_apparmor:noaa}%{?with_xen0:xen0}%{?with_xenU:xenU}%{?with_pae:pae}%{?with_myown:myown}
117 %else
118 %define         __alt_kernel    rescuecd
119 %endif
120
121 %if "%{__alt_kernel}" != ""
122 %define         alt_kernel      %{__alt_kernel}
123 %endif
124
125 # kernel release (used in filesystem and eventually in uname -r)
126 # modules will be looked from /lib/modules/%{kernel_release}
127 # localversion is just that without version for "> localversion"
128 %define         localversion    %{rel}
129 %define         kernel_release  %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
130
131 Summary:        The Linux kernel (the core of the Linux operating system)
132 Summary(de.UTF-8):      Der Linux-Kernel (Kern des Linux-Betriebssystems)
133 Summary(et.UTF-8):      Linuxi kernel (ehk operatsioonisüsteemi tuum)
134 Summary(fr.UTF-8):      Le Kernel-Linux (La partie centrale du systeme)
135 Summary(pl.UTF-8):      JÄ…dro Linuksa
136 Name:           kernel%{_alt_kernel}
137 Version:        %{basever}%{postver}
138 Release:        %{rel}
139 Epoch:          3
140 License:        GPL v2
141 Group:          Base/Kernel
142 Source0:        http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
143 # Source0-md5:  b3e78977aa79d3754cb7f8143d7ddabd
144 %if "%{postver}" != "%{nil}"
145 Source1:        http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
146 # Source1-md5:  1d0e83c620f3960d4d1e813f186b39f6
147 %endif
148
149 Source3:        kernel-autoconf.h
150 Source4:        kernel-config.h
151 Source5:        kernel-ppclibs.Makefile
152 Source6:        kernel-config.awk
153 Source7:        kernel-module-build.pl
154 Source8:        kernel-track-config-change.awk
155 # not used by kernel.spec, but it's good to have it in SOURCES
156 Source9:        kernel-config-sort.pl
157
158 Source20:       kernel-multiarch.config
159 Source21:       kernel-x86.config
160 Source22:       kernel-sparc.config
161 Source23:       kernel-sparc64.config
162 Source24:       kernel-alpha.config
163 Source25:       kernel-powerpc.config
164 Source26:       kernel-ia64.config
165
166 Source40:       kernel-netfilter.config
167 Source41:       kernel-patches.config
168 Source42:       kernel-tuxonice.config
169 Source43:       kernel-vserver.config
170 Source45:       kernel-grsec.config
171 Source46:       kernel-xen0.config
172 Source47:       kernel-xenU.config
173
174 Source49:       kernel-pax.config
175 Source50:       kernel-no-pax.config
176 Source51:       kernel-grsec_minimal.config
177 Source55:       kernel-imq.config
178 Source56:       kernel-reiser4.config
179 Source57:       kernel-wrr.config
180
181 Source58:       kernel-inittmpfs.config
182 Source59:       kernel-bzip2-lzma.config
183
184 # tahoe9xx http://www.tahoe.pl/drivers/tahoe9xx-2.6.24.patch
185 Patch2:         tahoe9xx-2.6.24.patch
186
187 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
188 Patch3:         kernel-fbcondecor.patch
189 Patch4:         linux-fbcon-margins.patch
190
191 # http://mesh.dl.sourceforge.net/sourceforge/squashfs/squashfs3.4.tgz
192 # squashfs3.4/kernel-patches/linux-2.6.27-rc4/squashfs3.4-patch
193 Patch5:         kernel-squashfs.patch
194 Patch6:         linux-static-dev.patch
195
196 # netfilter related stuff mostly based on patch-o-matic-ng
197 # snapshot 20061213 with some fixes related to changes in
198 # netfilter api in 2.6.19 up to 2.6.22. Some modules
199 # were ported to nf_conntrack. Some of these are unique.
200
201 Patch10:        kernel-pom-ng-IPV4OPTSSTRIP.patch
202 Patch11:        kernel-pom-ng-ipv4options.patch
203
204 Patch14:        kernel-pom-ng-ROUTE.patch
205 Patch16:        kernel-pom-ng-mms-conntrack-nat.patch
206 Patch22:        kernel-pom-ng-rsh.patch
207 Patch23:        kernel-pom-ng-rpc.patch
208
209 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
210 Patch36:        kernel-nf_rtsp.patch
211
212 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
213 Patch37:        kernel-owner-xid.patch
214
215 # based on http://www.svn.barbara.eu.org/ipt_account/attachment/wiki/Software/ipt_account-0.1.21-20070804164729.tar.gz?format=raw
216 Patch38:        kernel-ipt_account.patch
217
218 # based on http://www.intra2net.com/de/produkte/opensource/ipt_account/pom-ng-ipt_ACCOUNT-1.12.tgz
219 Patch39:        kernel-ipt_ACCOUNT.patch
220
221 # based on kernel-2.6.25-layer7-2.20.patch from
222 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
223 Patch40:        kernel-layer7.patch
224
225 # http://www.ssi.bg/~ja/nfct/ipvs-nfct-2.6.27-1.diff
226 Patch41:        kernel-ipvs-nfct.patch
227
228 # based on http://www.balabit.com/downloads/files/tproxy/tproxy-kernel-2.6.25-20080509-164605-1210344365.tar.bz2
229 #FIXME: this patch needs net_device->nd_dev feature (see net/Kconfig:NET_NS).
230 #       NET_NS depends on EXPERIMENTAL && !SYSFS && NAMESPACES while we have SYSFS enabled.
231 #       the https://lists.linux-foundation.org/pipermail/containers/2007-December/008849.html is waiting for merge.
232 #Patch42:       kernel-tproxy.patch
233
234 ### End netfilter
235
236 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
237 Patch49:        kernel-zph.patch
238
239 # based on http://www.linuximq.net/patchs/linux-2.6.24-imq.diff
240 # some people report problems when using imq with wrr.
241 # try unoficial version: http://kapturkiewicz.name/linux-2.6.25-imq1.diff
242 Patch50:        kernel-imq.patch
243
244 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.27.patch.bz2
245 Patch51:        kernel-reiser4.patch
246
247 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
248 Patch52:        kernel-wrr.patch
249
250 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
251 Patch53:        esfq-kernel.patch
252
253 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
254 Patch54:        linux-2.6-toshiba_acpi.patch
255
256 # by Baggins request:
257 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
258 Patch55:        linux-2.6-atm-vbr.patch
259 Patch56:        linux-2.6-atmdd.patch
260
261 # http://www.ntop.org/PF_RING.html 20070610
262 Patch58:        linux-PF_RING.patch
263
264 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
265 Patch59:        kernel-rndis_host-wm5.patch
266
267 Patch61:        kernel-vesa-upstream.patch
268
269 # Project suspend2 renamed to tuxonice
270 # http://www.tuxonice.net/downloads/all/tuxonice-3.0-rc7a-for-2.6.26.patch.bz2
271 Patch69:        linux-2.6-suspend2.patch
272 Patch70:        kernel-suspend2-headers.patch
273 Patch71:        linux-2.6-suspend2-page.patch
274 Patch72:        kernel-2.6-ueagle-atm-freezer.patch
275
276 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
277 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
278 Patch85:        hostap-kernel-2.6.18.patch
279
280 # http://vserver.13thfloor.at/Experimental/patch-2.6.27.3-vs2.3.0.35.7.diff
281 Patch100:       linux-2.6-vs2.3.patch
282 Patch101:       kernel-vserver-fixes.patch
283
284 # from http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-3.0.2-src.tgz
285 #Patch120: xen-3.0-2.6.16.patch
286
287 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
288 # Fix verified for that kernel version.
289 Patch130:       linux-2.6-forcedeth-WON.patch
290
291 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5_for_2.6.27-rc6.diff.gz
292 Patch140:       kernel-unionfs.patch
293 Patch141:       kernel-unionfs-apparmor.patch
294
295 Patch142:       kernel-autofs4-2.6.27-v5-update-20081027.patch
296
297 Patch150:       kernel-ppc-crtsavres.patch
298
299 Patch200:       linux-2.6-ppc-ICE-hacks.patch
300
301 # The following patch extend the routing functionality in Linux
302 # to support static routes (defined by user), new way to use the
303 # alternative routes, the reverse path protection (rp_filter),
304 # the NAT processing to use correctly the routing when multiple
305 # gateways are used.
306 # http://www.ssi.bg/~ja/routes-2.6.27-15.diff
307 Patch300:       kernel-routes.patch
308
309 Patch1000:      linux-2.6-grsec-minimal.patch
310
311 Patch2000:      kernel-small_fixes.patch
312 Patch2001:      linux-2.6.21.1-pwc-uncompress.patch
313
314 # kill some thousands of warnings
315 # (only warnings, so just remove parts of this patch if conflics)
316 Patch2500:      linux-2.6-warnings.patch
317
318 # based on https://forgesvn1.novell.com/svn/apparmor/trunk/kernel-patches/2.6.27 rev 1303
319 # repatched and adapted for vserver/grsec changes in vfs API, experimental
320 Patch5000:      kernel-apparmor.patch
321 # with grsec_full version
322 Patch5001:      kernel-apparmor-after-grsec_full.patch
323 Patch5002:      kernel-apparmor-common.patch
324
325 # for rescuecd
326 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
327 Patch7000:      kernel-inittmpfs.patch
328 ### based on http://udpcast.linux.lu/download/bzip2-lzma-kernel-2.6.26.3.patch.gz
329 # http://lkml.org/lkml/2008/10/14/268
330 Patch7001:      kernel-bzip2-lzma.patch
331
332 # not ready yet
333 Patch9997:      pax_selinux_hooks-2.6.20.patch
334
335 # based on http://www.grsecurity.net/~paxguy1/pax-linux-2.6.24.6-test45.patch
336 Patch9998:      kernel-pax.patch
337
338 # based on http://www.grsecurity.net/~spender/grsecurity-2.1.12-2.6.27.4-200810272314.patch
339 Patch9999:      linux-2.6-grsec_full.patch
340 Patch10000:     linux-2.6-grsec-caps.patch
341 Patch10001:     linux-2.6-grsec-common.patch
342 Patch10002:     kernel-grsec_fixes.patch
343
344 URL:            http://www.kernel.org/
345 BuildRequires:  binutils >= 3:2.18
346 %ifarch sparc sparc64
347 BuildRequires:  elftoaout
348 %endif
349 %ifarch ppc
350 BuildRequires:  uboot-mkimage
351 %endif
352 AutoReqProv:    no
353 BuildRequires:  /sbin/depmod
354 BuildRequires:  gcc >= 5:3.2
355 %{?with_rescuecd:BuildRequires: lzma >= 1:4.42.2}
356 # for hostname command
357 BuildRequires:  net-tools
358 BuildRequires:  perl-base
359 BuildRequires:  rpm-build >= 4.4.9-56
360 BuildRequires:  rpmbuild(macros) >= 1.217
361 Requires(post): coreutils
362 Requires(post): geninitrd >= 2.57
363 Requires(post): module-init-tools >= 0.9.9
364 Requires:       /sbin/depmod
365 Requires:       coreutils
366 Requires:       geninitrd >= 2.57
367 Requires:       module-init-tools >= 0.9.9
368 Provides:       %{name}(netfilter) = %{netfilter_snap}
369 Provides:       %{name}(vermagic) = %{kernel_release}
370 %if %{with xen0} || %{with xenU}
371 Provides:       kernel(xen) = %{_xen_version}
372 %endif
373 Obsoletes:      kernel%{_alt_kernel}-isdn-mISDN
374 Obsoletes:      kernel-misc-acer_acpi
375 Obsoletes:      kernel-misc-fuse
376 Obsoletes:      kernel-misc-uvc
377 Obsoletes:      kernel-modules
378 Obsoletes:      kernel-net-ar81
379 Obsoletes:      kernel-net-hostap
380 Obsoletes:      kernel-net-ieee80211
381 Obsoletes:      kernel-net-ipp2p
382 Obsoletes:      kernel-net-rt61
383 Obsoletes:      kernel-smp
384 Conflicts:      e2fsprogs < 1.29
385 Conflicts:      isdn4k-utils < 3.1pre1
386 Conflicts:      jfsutils < 1.1.3
387 Conflicts:      module-init-tools < 0.9.10
388 Conflicts:      nfs-utils < 1.0.5
389 Conflicts:      oprofile < 0.9
390 Conflicts:      ppp < 1:2.4.0
391 Conflicts:      procps < 3.2.0
392 Conflicts:      quota-tools < 3.09
393 %if %{with reiserfs4}
394 Conflicts:      reiser4progs < 1.0.0
395 %endif
396 Conflicts:      reiserfsprogs < 3.6.3
397 Conflicts:      udev < 1:071
398 Conflicts:      util-linux < 2.10o
399 Conflicts:      util-vserver < 0.30.215-10
400 Conflicts:      xfsprogs < 2.6.0
401 %if %{with xen0} || %{with xenU} || %{with pae}
402 ExclusiveArch:  %{ix86}
403 %if %{with pae}
404 ExcludeArch:    i386 i486 i586
405 %endif
406 %else
407 ExclusiveArch:  %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
408 %endif
409 ExclusiveOS:    Linux
410 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
411
412 %ifarch %{ix86} %{x8664}
413 %define         target_arch_dir         x86
414 %endif
415 %ifarch ppc ppc64
416 %define         target_arch_dir         powerpc
417 %endif
418 %ifnarch %{ix86} %{x8664} ppc ppc64
419 %define         target_arch_dir         %{_target_base_arch}
420 %endif
421
422 %define         defconfig       arch/%{target_arch_dir}/defconfig
423
424 # No ELF objects there to strip (skips processing 27k files)
425 %define         _noautostrip    .*%{_kernelsrcdir}/.*
426 %define         _noautochrpath  .*%{_kernelsrcdir}/.*
427
428 %ifarch ia64
429 %define         initrd_dir      /boot/efi
430 %else
431 %define         initrd_dir      /boot
432 %endif
433
434 %define         _kernelsrcdir   /usr/src/linux%{_alt_kernel}-%{version}
435
436 %if "%{_target_base_arch}" != "%{_arch}"
437         %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
438         %define DepMod /bin/true
439
440         %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
441         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
442         %define DepMod /sbin/depmod
443         %endif
444
445         %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
446         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
447         %define DepMod /sbin/depmod
448         %endif
449
450         %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
451         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
452         %define DepMod /sbin/depmod
453         %endif
454
455         %if "%{_target_base_arch}" == ppc || "%{_target_base_arch}" == "ppc64"
456         %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
457         %endif
458 %else
459         %ifarch ppc ppc64
460         %define CrossOpts ARCH=powerpc CC="%{__cc}"
461         %else
462         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
463         %endif
464         %define DepMod /sbin/depmod
465 %endif
466 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
467
468 %define __features Netfilter module dated: %{netfilter_snap}\
469 %{?with_grsec_full:Grsecurity full support - enabled}\
470 %{?with_pax:PaX support - enabled}\
471 %{?with_xen0:Xen 0 - enabled}\
472 %{?with_xenU:Xen U - enabled}\
473 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
474 %{?with_nfsroot:Root on NFS - enabled}
475
476 %define Features %(echo "%{__features}" | sed '/^$/d')
477
478 %description
479 This package contains the Linux kernel that is used to boot and run
480 your system. It contains few device drivers for specific hardware.
481 Most hardware is instead supported by modules loaded after booting.
482
483 %{Features}
484
485 %description -l de.UTF-8
486 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
487 Linux-Betriebssystems. Der Kernel ist für grundliegende
488 Systemfunktionen verantwortlich: Speicherreservierung,
489 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
490
491 %{Features}
492
493 %description -l fr.UTF-8
494 Le package kernel contient le kernel linux (vmlinuz), la partie
495 centrale d'un système d'exploitation Linux. Le noyau traite les
496 fonctions basiques d'un système d'exploitation: allocation mémoire,
497 allocation de process, entrée/sortie de peripheriques, etc.
498
499 %{Features}
500
501 %description -l pl.UTF-8
502 Pakiet zawiera jÄ…dro Linuksa niezbÄ™dne do prawidÅ‚owego dziaÅ‚ania
503 Twojego komputera. Zawiera w sobie sterowniki do sprzÄ™tu znajdujÄ…cego
504 siÄ™ w komputerze, takiego jak sterowniki dysków itp.
505
506 %{Features}
507
508 %package vmlinux
509 Summary:        vmlinux - uncompressed kernel image
510 Summary(de.UTF-8):      vmlinux - dekompressiertes Kernel Bild
511 Summary(pl.UTF-8):      vmlinux - rozpakowany obraz jÄ…dra
512 Group:          Base/Kernel
513 Obsoletes:      kernel-smp-vmlinux
514
515 %description vmlinux
516 vmlinux - uncompressed kernel image.
517
518 %description vmlinux -l de.UTF-8
519 vmlinux - dekompressiertes Kernel Bild.
520
521 %description vmlinux -l pl.UTF-8
522 vmlinux - rozpakowany obraz jÄ…dra.
523
524 %package drm
525 Summary:        DRM kernel modules
526 Summary(de.UTF-8):      DRM Kernel Treiber
527 Summary(pl.UTF-8):      Sterowniki DRM
528 Group:          Base/Kernel
529 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
530 Requires:       %{name} = %{epoch}:%{version}-%{release}
531 Obsoletes:      kernel-smp-drm
532 Autoreqprov:    no
533
534 %description drm
535 DRM kernel modules.
536
537 %description drm -l de.UTF-8
538 DRM Kernel Treiber.
539
540 %description drm -l pl.UTF-8
541 Sterowniki DRM.
542
543 %package pcmcia
544 Summary:        PCMCIA modules
545 Summary(de.UTF-8):      PCMCIA Module
546 Summary(pl.UTF-8):      ModuÅ‚y PCMCIA
547 Group:          Base/Kernel
548 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
549 Requires:       %{name} = %{epoch}:%{version}-%{release}
550 Obsoletes:      kernel-smp-pcmcia
551 Conflicts:      pcmcia-cs < 3.1.21
552 Conflicts:      pcmciautils < 004
553 Autoreqprov:    no
554
555 %description pcmcia
556 PCMCIA modules.
557
558 %description pcmcia -l de.UTF-8
559 PCMCIA Module.
560
561 %description pcmcia -l pl.UTF-8
562 ModuÅ‚y PCMCIA.
563
564 %package libs
565 Summary:        Libraries for preparing bootable kernel on PowerPCs
566 Summary(pl.UTF-8):      Biblioteki do przygotowania bootowalnego jÄ…dra dla PowerPC
567 Group:          Base/Kernel
568 Requires:       %{name} = %{epoch}:%{version}-%{release}
569 Requires:       mkvmlinuz >= 1.3
570 Obsoletes:      kernel-smp-libs
571 Autoreqprov:    no
572
573 %description libs
574 Libraries for preparing bootable kernel on PowerPCs. Script called
575 mkvmlinuz may be useful for this.
576
577 %description libs -l pl.UTF-8
578 Biblioteki do przygotowania bootowalnego jÄ…dra dla PowerPC. Skrypt
579 mkvmlinuz może być do tego przydatny.
580
581 %package sound-alsa
582 Summary:        ALSA kernel modules
583 Summary(de.UTF-8):      ALSA Kernel Module
584 Summary(pl.UTF-8):      Sterowniki dźwiÄ™ku ALSA
585 Group:          Base/Kernel
586 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
587 Requires:       %{name} = %{epoch}:%{version}-%{release}
588 Obsoletes:      kernel-smp-sound-alsa
589 Autoreqprov:    no
590
591 %description sound-alsa
592 ALSA (Advanced Linux Sound Architecture) sound drivers.
593
594 %description sound-alsa -l de.UTF-8
595 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
596
597 %description sound-alsa -l pl.UTF-8
598 Sterowniki dźwiÄ™ku ALSA (Advanced Linux Sound Architecture).
599
600 %package sound-oss
601 Summary:        OSS kernel modules
602 Summary(de.UTF-8):      OSS Kernel Module
603 Summary(pl.UTF-8):      Sterowniki dźwiÄ™ku OSS
604 Group:          Base/Kernel
605 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
606 Requires:       %{name} = %{epoch}:%{version}-%{release}
607 Obsoletes:      kernel-smp-sound-oss
608 Autoreqprov:    no
609
610 %description sound-oss
611 OSS (Open Sound System) drivers.
612
613 %description sound-oss -l de.UTF-8
614 OSS (Open Sound System) Treiber.
615
616 %description sound-oss -l pl.UTF-8
617 Sterowniki dźwiÄ™ku OSS (Open Sound System).
618
619 %package headers
620 Summary:        Header files for the Linux kernel
621 Summary(de.UTF-8):      Header Dateien für den Linux-Kernel
622 Summary(pl.UTF-8):      Pliki nagłówkowe jÄ…dra Linuksa
623 Group:          Development/Building
624 Provides:       %{name}-headers(netfilter) = %{netfilter_snap}
625 Autoreqprov:    no
626
627 %description headers
628 These are the C header files for the Linux kernel, which define
629 structures and constants that are needed when rebuilding the kernel or
630 building kernel modules.
631
632 %description headers -l de.UTF-8
633 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
634 Strukturen und Konstante beinhalten, die beim rekompilieren des
635 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
636
637 %description headers -l pl.UTF-8
638 Pakiet zawiera pliki nagłówkowe jÄ…dra, niezbÄ™dne do rekompilacji jÄ…dra
639 oraz budowania modułów jÄ…dra.
640
641 %package module-build
642 Summary:        Development files for building kernel modules
643 Summary(de.UTF-8):      Development Dateien die beim Kernel Modul kompilationen gebraucht werden
644 Summary(pl.UTF-8):      Pliki sÅ‚użące do budowania modułów jÄ…dra
645 Group:          Development/Building
646 Requires:       %{name}-headers = %{epoch}:%{version}-%{release}
647 Conflicts:      rpmbuild(macros) < 1.321
648 Autoreqprov:    no
649
650 %description module-build
651 Development files from kernel source tree needed to build Linux kernel
652 modules from external packages.
653
654 %description module-build -l de.UTF-8
655 Development Dateien des Linux-Kernels die beim kompilieren externer
656 Kernel Module gebraucht werden.
657
658 %description module-build -l pl.UTF-8
659 Pliki ze drzewa ÅºródeÅ‚ jÄ…dra potrzebne do budowania modułów jÄ…dra
660 Linuksa z zewnÄ™trznych pakietów.
661
662 %package source
663 Summary:        Kernel source tree
664 Summary(de.UTF-8):      Der Kernel Quelltext
665 Summary(pl.UTF-8):      Kod ÅºródÅ‚owy jÄ…dra Linuksa
666 Group:          Development/Building
667 Requires:       %{name}-module-build = %{epoch}:%{version}-%{release}
668 Autoreqprov:    no
669
670 %description source
671 This is the source code for the Linux kernel. You can build a custom
672 kernel that is better tuned to your particular hardware.
673
674 %description source -l de.UTF-8
675 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
676 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
677 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
678 im Kernel-Source definiert sind. Die Source-Dateien können auch
679 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
680 Hardware ausgerichtet ist.
681
682 %description source -l fr.UTF-8
683 Le package pour le kernel-source contient le code source pour le noyau
684 linux. Ces sources sont nécessaires pour compiler la plupart des
685 programmes C, car il dépend de constantes définies dans le code
686 source. Les sources peuvent Ãªtre aussi utilisée pour compiler un noyau
687 personnalisé pour avoir de meilleures performances sur des matériels
688 particuliers.
689
690 %description source -l pl.UTF-8
691 Pakiet zawiera kod ÅºródÅ‚owy jÄ…dra systemu.
692
693 %package doc
694 Summary:        Kernel documentation
695 Summary(de.UTF-8):      Kernel Dokumentation
696 Summary(pl.UTF-8):      Dokumentacja do jÄ…dra Linuksa
697 Group:          Documentation
698 Autoreqprov:    no
699
700 %description doc
701 This is the documentation for the Linux kernel, as found in
702 /usr/src/linux/Documentation directory.
703
704 %description doc -l de.UTF-8
705 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
706 Verzeichniss vorgefunden werden kann.
707
708 %description doc -l pl.UTF-8
709 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
710 /usr/src/linux/Documentation.
711
712 %prep
713 %setup -qc
714 cd linux-%{basever}
715
716 # hack against warning in pax/grsec
717 %ifarch alpha
718 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
719 %endif
720
721 %ifarch ppc
722 install %{SOURCE5} Makefile.ppclibs
723 %endif
724
725 %if "%{postver}" != "%{nil}"
726 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
727 %endif
728
729 # tuxonice:
730 %if %{with tuxonice}
731 ##ifarch %{ix86} %{x8664} ia64 ppc alpha
732 %patch69 -p1
733 %patch70 -p1
734 %patch71 -p1
735 # kernel-2.6-ueagle-atm-freezer.patch
736 %patch72 -p1
737 ##endif
738 %endif
739
740 %patch2 -p1
741 %if %{with fbcondecor}
742 %patch3 -p1
743 %endif
744 %patch4 -p1
745
746 # squashfs
747 %patch5 -p1
748
749 %patch6 -p1
750
751 ## netfilter
752 #
753
754 # kernel-pom-ng-IPV4OPTSSTRIP.patch
755 %patch10 -p1
756
757 # kernel-pom-ng-ipv4options.patch
758 %patch11 -p1
759
760 # kernel-pom-ng-ROUTE.patch
761 %patch14 -p1
762
763 # kernel-pom-ng-mms-conntrack-nat.patch
764 %patch16 -p1
765
766 # kernel-pom-ng-rsh.patch
767 %patch22 -p1
768
769 # kernel-pom-ng-rpc.patch
770 %patch23 -p1
771
772 # kernel-nf_rtsp.patch
773 %patch36 -p1
774
775 # kernel-owner-xid.patch
776 %if %{with vserver}
777 %patch37 -p1
778 %endif
779
780 # kernel-ipt_account.patch
781 %patch38 -p1
782
783 # kernel-ipt_ACCOUNT.patch
784 %patch39 -p1
785
786 # kernel-layer7.patch
787 %patch40 -p1
788
789 # ipvs-nfct
790 %patch41 -p1
791
792 ##
793 # end of netfilter
794
795 # zph
796 %patch49 -p1
797
798 %if %{with imq}
799 %patch50 -p1
800 %endif
801
802 # reiser4
803 %if %{with reiser4}
804 %patch51 -p1
805 %endif
806
807 # esfq
808 %patch53 -p1
809
810 %if %{with wrr}
811 %patch52 -p1
812 %endif
813
814 # toshiba_acpi
815 %patch54 -p1
816
817 %patch55 -p1
818 %patch56 -p1
819
820 %patch58 -p1
821
822 # kernel-rndis_host-wm5.patch
823 %patch59 -p1
824
825 %patch61 -p1
826
827 # hostap enhancements from/for aircrack-ng
828 %patch85 -p1
829
830 # vserver
831 %if %{with vserver}
832 %patch100 -p1
833 %patch101 -p1
834 %endif
835
836 #%if %{with xen0} || %{with xenU}
837 #%ifarch %{ix86} %{x8664} ia64
838 #%patch120 -p1
839 #%endif
840 #%endif
841
842 # tproxy
843 %if %{without rescuecd} && %{with vserver}
844 #patch42 -p1
845 %endif
846
847 # forcedeth
848 %patch130 -p1
849
850 # unionfs
851 %patch140 -p1
852 %{?with_apparmor:%patch141 -p1}
853
854 # autofs4-v5-update
855 %patch142 -p1
856
857 %patch2500 -p1
858
859 %if %{with rescuecd}
860 %patch7000 -p1
861 %patch7001 -p1
862 %endif
863
864 # grsecurity & pax stuff
865 #
866 %if %{with pax_full}
867 %patch9999 -p1
868 %{?with_vserver:%patch10000 -p1}
869 %{?with_vserver:%patch10001 -p1}
870 %{?with_vserver:%patch10002 -p1}
871 %else
872
873 %if %{with grsec_full}
874 %patch9999 -p1
875 %{?with_vserver:%patch10000 -p1}
876 %{?with_vserver:%patch10001 -p1}
877 %{?with_vserver:%patch10002 -p1}
878 %else
879 %if %{with grsec_minimal}
880 %patch1000 -p1
881 # remember that we have the same config file for grsec_minimal and
882 # grsec_full, but the patches are different.
883 %endif
884 %endif
885
886 %if %{with pax}
887 # now we have an separate testing pax-only patch - in the future we
888 # could have single grsecurity patch and will have to prepare separate
889 # configs for grsec_minimal, grsec_full and pax to support such
890 # configurations like pax & grsec_minimal.
891 # So, in a future there could be no patch9998, but only config
892 # would tell which options should be enabled.
893 # The second option is to maintain separate pax-only patch.
894 %patch9998 -p1
895 #patch9997 -p1 - needs update
896 %endif
897
898 %endif
899
900 #
901 # end of grsecurity & pax stuff
902
903 # apparmor
904 %if %{with apparmor}
905 %if %{with grsec_full} || %{with pax_full}
906 %patch5001 -p1
907 %patch5002 -p1
908 %else
909 %patch5000 -p1
910 %patch5002 -p1
911 %endif
912 %endif
913
914 %patch150 -p1
915
916 %ifarch ppc ppc64
917 #patch200 -p1
918 %endif
919
920 # routes
921 %patch300 -p1
922
923 # Small fixes:
924 %patch2000 -p1
925 %patch2001 -p1
926
927 # Fix EXTRAVERSION in main Makefile
928 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
929
930 # on sparc this line causes CONFIG_INPUT=m (instead of =y), thus breaking build
931 sed -i -e '/select INPUT/d' net/bluetooth/hidp/Kconfig
932
933 # on sparc64 avoid building break due to NULL pointer type warrning
934 sed -i -e 's/^EXTRA_CFLAGS := -Werror/EXTRA_CFLAGS := /' arch/sparc64/kernel/Makefile
935
936 # cleanup backups after patching
937 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
938
939 %build
940 cd linux-%{basever}
941 PaXconfig () {
942         set -x
943         cat <<-EOCONFIG > $1
944         %ifarch %{ix86}
945                 CONFIG_PAX_SEGMEXEC=y
946                 # performance impact on CPUs without NX bit
947                 CONFIG_PAX_PAGEEXEC=n
948                 # Testing KERNEXEC
949
950                 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
951                 CONFIG_PCI_BIOS=n
952                 CONFIG_EFI=n
953         %endif
954
955         %ifarch ppc64
956                 CONFIG_PAX_NOELFRELOCS=n
957         %endif
958         %ifarch ppc
959                 CONFIG_PAX_EMUTRAMP=y
960                 CONFIG_PAX_EMUSIGRT=y
961                 CONFIG_PAX_EMUPLT=y
962         %endif
963
964         %ifarch sparc sparc64 alpha
965                 CONFIG_PAX_EMUPLT=y
966         %endif
967
968         # Now we have to check MAC system integration. Grsecurity (full) uses PAX_HAVE_ACL_FLAGS
969         # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
970         # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
971         # PAX_HOOK_ACL_FLAGS. SELinux should also be able to make PaX settings via hooks
972
973         %if %{with grsec_full}
974                 # Hardening grsec options if with pax
975                 CONFIG_GRKERNSEC_PROC_MEMMAP=y
976                 # almost rational (see HIDESYM help)
977                 CONFIG_GRKERNSEC_HIDESYM=y
978
979                 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
980         %else
981                 # selinux or other hooks?
982                 CONFIG_PAX_HAVE_ACL_FLAGS=n
983                 CONFIG_PAX_HOOK_ACL_FLAGS=y
984         %endif
985 EOCONFIG
986
987         return 0
988 }
989
990 RescueConfig() {
991         set -x
992         cat <<-EOCONFIG > $1
993                 # CONFIG_SOUND is not set
994                 # CONFIG_AUDIT is not set
995                 # CONFIG_TR is not set
996                 # CONFIG_BT is not set
997                 # CONFIG_VIDEO_DEV is not set
998                 # CONFIG_DVB_CORE is not set
999                 # CONFIG_HAMRADIO is not set
1000                 # CONFIG_ARCNET is not set
1001                 # CONFIG_FB is not set
1002                 # CONFIG_DRM is not set
1003                 # CONFIG_WATCHDOG is not set
1004                 # CONFIG_INPUT_JOYSTICK is not set
1005                 # CONFIG_DEBUG_KERNEL is not set
1006                 # CONFIG_ISDN is not set
1007                 # CONFIG_AGP is not set
1008                 # CONFIG_SECURITY is not set
1009                 # CONFIG_PARIDE is not set
1010                 # CONFIG_CPU_FREQ is not set
1011                 # CONFIG_GAMEPORT is not set
1012                 # CONFIG_KVM is not set
1013                 # CONFIG_PHONE is not set
1014                 CONFIG_BLK_DEV_LOOP=y
1015                 CONFIG_ISO9660_FS=y
1016                 CONFIG_NLS_UTF8=y
1017 EOCONFIG
1018
1019         return 0
1020 }
1021
1022 BuildConfig() {
1023         %{?debug:set -x}
1024         set -e
1025
1026         Config="kernel-%{target_arch_dir}.config"
1027         echo "Building config file for %{_target_cpu} using $Config et al."
1028
1029         # prepare local and important options
1030         cat <<-EOCONFIG > important.config
1031 %if 0%{?debug:1}
1032                 CONFIG_DEBUG_SLAB=y
1033                 CONFIG_DEBUG_SLAB_LEAK=y
1034                 CONFIG_DEBUG_PREEMPT=y
1035                 CONFIG_RT_DEADLOCK_DETECT=y
1036 %endif
1037
1038 %if %{without smp}
1039                 CONFIG_SMP=n
1040 %endif
1041
1042 # apparmor, will be moved to external file if works
1043 %if %{with apparmor}
1044                 CONFIG_SECURITY_APPARMOR=y
1045                 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
1046                 CONFIG_SECURITY_APPARMOR_DISABLE=n
1047 %endif
1048
1049 %if %{without ipv6}
1050                 CONFIG_IPV6=n
1051 %endif
1052
1053 %ifarch i686 athlon pentium3 pentium4
1054   %if %{with pae}
1055                 CONFIG_HIGHMEM4G=n
1056                 CONFIG_HIGHMEM64G=y
1057                 CONFIG_X86_PAE=y
1058   %endif
1059 %endif
1060
1061 %if %{without pcmcia}
1062                 CONFIG_PCMCIA=n
1063 %endif
1064
1065 %if %{with fbcondecor}
1066                 CONFIG_FB_S3=n
1067                 CONFIG_FB_VT8623=n
1068                 CONFIG_FB_ARK=n
1069                 CONFIG_FB_TILEBLITTING=n
1070                 CONFIG_FB_CON_DECOR=y
1071 %endif
1072
1073 %if %{with nfsroot}
1074                 CONFIG_NFS_FS=y
1075                 CONFIG_ROOT_NFS=y
1076 %endif
1077
1078 # Temporary disabled RELOCATABLE. Needed only on x86??
1079 %if %{with pax} || %{with grsec_full}
1080                 CONFIG_RELOCATABLE=n
1081 %endif
1082 EOCONFIG
1083
1084         RescueConfig rescue.config
1085         PaXconfig pax.config
1086
1087         # prepare kernel-style config file from multiple config files
1088         %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1089                 important.config \
1090 %if %{with rescuecd}
1091                 %{SOURCE58} \
1092                 %{SOURCE59} \
1093                 rescue.config \
1094 %endif
1095 %if %{with xenU}
1096                 %{SOURCE47} \
1097 %endif
1098 %if %{with xen0}
1099                 %{SOURCE46} \
1100 %endif
1101                 \
1102 %if %{with pax_full}
1103                 %{SOURCE45} \
1104                 %{SOURCE49} \
1105                 pax.config \
1106 %else
1107   %if %{with grsec_full}
1108                 %{SOURCE45} \
1109                 %{SOURCE50} \
1110   %else
1111         %if %{with grsec_minimal}
1112                 %{SOURCE51} \
1113         %endif
1114   %endif
1115   %if %{with pax}
1116                 %{SOURCE49} \
1117                 pax.config \
1118   %endif
1119 %endif
1120                 \
1121 %if %{with reiser4}
1122                 %{SOURCE56} \
1123 %endif
1124 %if %{with wrr}
1125                 %{SOURCE57} \
1126 %endif
1127 %if %{with imq}
1128                 %{SOURCE55} \
1129 %endif
1130 %if %{with vserver}
1131                 %{SOURCE43} \
1132 %endif
1133 %if %{with tuxonice}
1134 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1135                 %{SOURCE42} \
1136 %endif
1137 %endif
1138                 %{SOURCE40} %{?0:netfilter} \
1139                 %{SOURCE41} %{?0:patches} \
1140                 %{SOURCE20} \
1141                 $RPM_SOURCE_DIR/$Config \
1142                 > %{defconfig}
1143 }
1144
1145 BuildKernel() {
1146         %{?debug:set -x}
1147         echo "Building kernel $1 ..."
1148         install .config %{defconfig}
1149         %{__make} %{MakeOpts} mrproper \
1150                 RCS_FIND_IGNORE='-name build-done -prune -o'
1151         ln -sf %{defconfig} .config
1152
1153         %{__make} %{MakeOpts} clean \
1154                 RCS_FIND_IGNORE='-name build-done -prune -o'
1155         %{__make} %{MakeOpts} include/linux/version.h \
1156                 %{?with_verbose:V=1}
1157
1158         %{__make} %{MakeOpts} scripts/mkcompile_h \
1159                 %{?with_verbose:V=1}
1160
1161 # make does vmlinux, modules and bzImage at once
1162 %ifarch sparc64
1163         %{__make} %{MakeOpts} image \
1164                 %{?with_verbose:V=1}
1165
1166         %{__make} %{MakeOpts} modules \
1167                 %{?with_verbose:V=1}
1168 %else
1169         %{__make} %{MakeOpts} \
1170                 %{?with_verbose:V=1}
1171 %endif
1172 }
1173
1174 PreInstallKernel() {
1175         Config="%{_target_base_arch}"
1176         KernelVer=%{kernel_release}
1177
1178         mkdir -p $KERNEL_INSTALL_DIR/boot
1179         install System.map $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer
1180 %ifarch %{ix86} %{x8664}
1181         install arch/x86/boot/bzImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
1182         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
1183 %endif
1184 %ifarch alpha sparc sparc64
1185         gzip -cfv vmlinux > vmlinuz
1186         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
1187         install vmlinuz $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
1188 %ifarch sparc
1189         elftoaout arch/sparc/boot/image -o vmlinux.aout
1190         install vmlinux.aout $KERNEL_INSTALL_DIR/boot/vmlinux.aout-$KernelVer
1191 %endif
1192 %ifarch sparc64
1193         elftoaout arch/sparc64/boot/image -o vmlinux.aout
1194         install vmlinux.aout $KERNEL_INSTALL_DIR/boot/vmlinux.aout-$KernelVer
1195 %endif
1196 %endif
1197 %ifarch ppc ppc64
1198         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
1199         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
1200 %endif
1201 %ifarch ppc-broken
1202         %{__make} -f Makefile.ppclibs install \
1203                 DESTDIR=$KERNEL_INSTALL_DIR/boot/libs-$KernelVer
1204 %endif
1205 %ifarch ia64
1206         gzip -cfv vmlinux > vmlinuz
1207         install -d $KERNEL_INSTALL_DIR/boot/efi
1208         install vmlinuz $KERNEL_INSTALL_DIR/boot/efi/vmlinuz-$KernelVer
1209         ln -sf efi/vmlinuz-$KernelVer $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
1210 %endif
1211 %ifarch arm
1212         install arch/arm/boot/zImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
1213 %endif
1214
1215         %{__make} %{MakeOpts} modules_install firmware_install \
1216                 %{?with_verbose:V=1} \
1217                 DEPMOD=%DepMod \
1218                 INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \
1219                 INSTALL_FW_PATH=$KERNEL_INSTALL_DIR/lib/firmware/$KernelVer \
1220                 KERNELRELEASE=$KernelVer
1221
1222         # You'd probabelly want to make it somewhat different
1223         install -d $KERNEL_INSTALL_DIR%{_kernelsrcdir}
1224         install Module.symvers $KERNEL_INSTALL_DIR%{_kernelsrcdir}/Module.symvers-dist
1225
1226         echo "CHECKING DEPENDENCIES FOR KERNEL MODULES"
1227         if [ %DepMod = /sbin/depmod ]; then
1228                 /sbin/depmod --basedir $KERNEL_INSTALL_DIR -ae -F $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer -r $KernelVer || :
1229         fi
1230         touch $KERNEL_INSTALL_DIR/lib/modules/$KernelVer/modules.dep
1231         # binary cache produced by depmod at runtime
1232         touch $KERNEL_INSTALL_DIR/lib/modules/$KernelVer/modules.{alias,dep,symbols}.bin
1233         echo "KERNEL RELEASE $KernelVer DONE"
1234 }
1235
1236 KERNEL_BUILD_DIR=`pwd`
1237 echo "-%{localversion}" > localversion
1238
1239 KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR/build-done/kernel"
1240 rm -rf $KERNEL_INSTALL_DIR
1241 %if %{without myown}
1242 BuildConfig
1243 %else
1244 cat $RPM_SOURCE_DIR/kernel-myown.config > %{defconfig}
1245 %endif
1246 ln -sf %{defconfig} .config
1247 install -d $KERNEL_INSTALL_DIR%{_kernelsrcdir}/include/linux
1248 rm -f include/linux/autoconf.h
1249 %{__make} %{MakeOpts} include/linux/autoconf.h
1250 install include/linux/autoconf.h \
1251         $KERNEL_INSTALL_DIR%{_kernelsrcdir}/include/linux/autoconf-dist.h
1252 install .config \
1253         $KERNEL_INSTALL_DIR%{_kernelsrcdir}/config-dist
1254
1255 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{defconfig} -f %{SOURCE8} .config
1256
1257 BuildKernel
1258 PreInstallKernel
1259
1260 %{__make} %{MakeOpts} include/linux/utsrelease.h
1261 cp include/linux/utsrelease.h{,.save}
1262 cp include/linux/version.h{,.save}
1263 cp scripts/mkcompile_h{,.save}
1264
1265 %install
1266 rm -rf $RPM_BUILD_ROOT
1267 cd linux-%{basever}
1268
1269 umask 022
1270 export DEPMOD=%DepMod
1271
1272 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
1273 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1274
1275 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1276 if cp -al COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1277         l=l
1278         rm -f $RPM_BUILD_ROOT/COPYING
1279 fi
1280
1281 KERNEL_BUILD_DIR=`pwd`
1282
1283 cp -a$l $KERNEL_BUILD_DIR/build-done/kernel/* $RPM_BUILD_ROOT
1284
1285 if [ -e $RPM_BUILD_ROOT/lib/modules/%{kernel_release} ] ; then
1286         rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/build
1287         ln -sf %{_kernelsrcdir} $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/build
1288         install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{cluster,misc}
1289 fi
1290
1291 find . -maxdepth 1 ! -name "build-done" ! -name "." -exec cp -a$l "{}" "$RPM_BUILD_ROOT%{_kernelsrcdir}/" ";"
1292
1293 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1294
1295 %{__make} %{MakeOpts} mrproper archclean \
1296         RCS_FIND_IGNORE='-name build-done -prune -o'
1297
1298 if [ -e $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/include/linux/autoconf-dist.h ]; then
1299         install $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/include/linux/autoconf-dist.h \
1300                 $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1301         install $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/config-dist \
1302                 $RPM_BUILD_ROOT%{_kernelsrcdir}
1303 fi
1304
1305 cp -Rdp$l $KERNEL_BUILD_DIR/include/linux/* \
1306         $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1307
1308 %{__make} %{MakeOpts} mrproper
1309 mv -f include/linux/utsrelease.h.save $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/utsrelease.h
1310 cp include/linux/version.h{.save,}
1311 cp scripts/mkcompile_h{.save,}
1312 rm -rf include/linux/version.h.save
1313 rm -rf scripts/mkcompile_h.save
1314 install %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h
1315 install %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1316
1317 # collect module-build files and directories
1318 perl %{SOURCE7} %{_kernelsrcdir} %{_builddir}/%{name}-%{version}
1319
1320 # ghosted initrd
1321 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1322
1323 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1324 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1325 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1326
1327 # remove unnecessary dir with dead symlink
1328 rm -rf $RPM_BUILD_ROOT/arch/i386
1329
1330 %clean
1331 rm -rf $RPM_BUILD_ROOT
1332
1333 %preun
1334 if [ -x /sbin/new-kernel-pkg ]; then
1335         /sbin/new-kernel-pkg --remove %{kernel_release}
1336 fi
1337
1338 %post
1339 %ifarch ia64
1340 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1341 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1342 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1343 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1344 %endif
1345 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1346 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1347 mv -f /boot/System.map{,.old} 2> /dev/null
1348 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1349 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1350 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1351 ln -sf System.map-%{kernel_release} /boot/System.map
1352 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1353
1354 %depmod %{kernel_release}
1355
1356 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1357 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1358 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1359 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1360 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1361
1362 if [ -x /sbin/new-kernel-pkg ]; then
1363         title="PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1364
1365         /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "$title"
1366 elif [ -x /sbin/rc-boot ]; then
1367         /sbin/rc-boot 1>&2 || :
1368 fi
1369
1370 %post vmlinux
1371 mv -f /boot/vmlinux{,.old} 2> /dev/null
1372 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1373 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1374 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1375
1376 %post libs
1377 %{_sbindir}/mkvmlinuz /boot/zImage-%{kernel_release} %{kernel_release}
1378
1379 %post drm
1380 %depmod %{kernel_release}
1381
1382 %postun drm
1383 %depmod %{kernel_release}
1384
1385 %post pcmcia
1386 %depmod %{kernel_release}
1387
1388 %postun pcmcia
1389 %depmod %{kernel_release}
1390
1391 %post sound-alsa
1392 %depmod %{kernel_release}
1393
1394 %postun sound-alsa
1395 %depmod %{kernel_release}
1396
1397 %post sound-oss
1398 %depmod %{kernel_release}
1399
1400 %postun sound-oss
1401 %depmod %{kernel_release}
1402
1403 %post headers
1404 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1405
1406 %postun headers
1407 if [ "$1" = "0" ]; then
1408         if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1409                 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1410                         rm -f %{_prefix}/src/linux%{_alt_kernel}
1411                 fi
1412         fi
1413 fi
1414
1415 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1416 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1417 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1418
1419 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1420 if [ "$1" = 0 ]; then
1421         rm -f /lib/modules/%{kernel_release}/{build,source}
1422 fi
1423
1424 %files
1425 %defattr(644,root,root,755)
1426 %ifarch sparc sparc64
1427 /boot/vmlinux.aout-%{kernel_release}
1428 %endif
1429 %ifarch ia64
1430 /boot/efi/vmlinuz-%{kernel_release}
1431 %endif
1432 /boot/vmlinuz-%{kernel_release}
1433 /boot/System.map-%{kernel_release}
1434 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1435 /lib/firmware/%{kernel_release}
1436 %dir /lib/modules/%{kernel_release}
1437 %dir /lib/modules/%{kernel_release}/kernel
1438 %ifnarch sparc
1439 /lib/modules/%{kernel_release}/kernel/arch
1440 %endif
1441 /lib/modules/%{kernel_release}/kernel/crypto
1442 /lib/modules/%{kernel_release}/kernel/drivers
1443 %if %{have_drm} && %{without myown}
1444 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1445 %endif
1446 /lib/modules/%{kernel_release}/kernel/fs
1447
1448 # this directory will be removed after disabling rcutorture mod. in 2.6.20.
1449 /lib/modules/%{kernel_release}/kernel/kernel
1450
1451 /lib/modules/%{kernel_release}/kernel/lib
1452 /lib/modules/%{kernel_release}/kernel/net
1453 %if %{have_sound} && %{without myown}
1454 %dir /lib/modules/%{kernel_release}/kernel/sound
1455 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1456 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1457 %ifnarch sparc
1458 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1459 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1460 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1461 %endif
1462 %endif
1463 %dir /lib/modules/%{kernel_release}/misc
1464 %if %{with pcmcia} && %{without myown}
1465 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1466 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1467 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1468 %if %{without rescuecd}
1469 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1470 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1471 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1472 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1473 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1474 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1475 %endif
1476 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/legacy/ide-cs.ko*
1477 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1478 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1479 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1480 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1481 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1482 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1483 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1484 %endif
1485 %ghost /lib/modules/%{kernel_release}/modules.*
1486 # symlinks pointing to kernelsrcdir
1487 %ghost /lib/modules/%{kernel_release}/build
1488 %ghost /lib/modules/%{kernel_release}/source
1489 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1490
1491 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1492 %files vmlinux
1493 %defattr(644,root,root,755)
1494 /boot/vmlinux-%{kernel_release}
1495 %endif
1496
1497 %if %{have_drm} && %{without myown}
1498 %files drm
1499 %defattr(644,root,root,755)
1500 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1501 %endif
1502
1503 %if %{with pcmcia} && %{without myown}
1504 %files pcmcia
1505 %defattr(644,root,root,755)
1506 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1507 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1508 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1509 %if %{without rescuecd}
1510 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1511 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1512 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1513 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1514 %endif
1515 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1516 /lib/modules/%{kernel_release}/kernel/drivers/ide/legacy/ide-cs.ko*
1517 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1518 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1519 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1520 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1521 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1522 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1523 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1524 %endif
1525
1526 %ifarch ppc-broken
1527 %if "%{_arch}" == "ppc"
1528 %files libs
1529 %defattr(644,root,root,755)
1530 %dir /boot/libs-%{kernel_release}
1531 /boot/libs-%{kernel_release}/common
1532 /boot/libs-%{kernel_release}/kernel
1533 /boot/libs-%{kernel_release}/lib
1534 /boot/libs-%{kernel_release}/of1275
1535 /boot/libs-%{kernel_release}/openfirmware
1536 /boot/libs-%{kernel_release}/simple
1537 %dir /boot/libs-%{kernel_release}/utils
1538 %attr(755,root,root) /boot/libs-%{kernel_release}/utils/*
1539 /boot/libs-%{kernel_release}/ld.script
1540 %endif
1541 %endif
1542
1543 %if %{have_sound} && %{without myown}
1544 %files sound-alsa
1545 %defattr(644,root,root,755)
1546 /lib/modules/%{kernel_release}/kernel/sound
1547 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1548 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1549 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1550 %if %{have_oss}
1551 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1552 %endif
1553 %ifnarch sparc
1554 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1555 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1556 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1557 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1558 %endif
1559
1560 %if %{have_oss} && %{without myown}
1561 %files sound-oss
1562 %defattr(644,root,root,755)
1563 /lib/modules/%{kernel_release}/kernel/sound/oss
1564 %endif
1565 %endif
1566
1567 %files headers
1568 %defattr(644,root,root,755)
1569 %dir %{_kernelsrcdir}
1570 %{_kernelsrcdir}/include
1571 %{_kernelsrcdir}/config-dist
1572 %{_kernelsrcdir}/Module.symvers-dist
1573
1574 %files module-build -f aux_files
1575 %defattr(644,root,root,755)
1576 # symlinks pointint to kernelsrcdir
1577 %dir /lib/modules/%{kernel_release}
1578 /lib/modules/%{kernel_release}/build
1579 %{_kernelsrcdir}/Kbuild
1580 %{_kernelsrcdir}/localversion
1581 %ifarch ppc ppc64
1582 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1583 %endif
1584 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1585 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1586 %{_kernelsrcdir}/drivers/lguest/lg.h
1587 %{_kernelsrcdir}/kernel/bounds.c
1588 %dir %{_kernelsrcdir}/scripts
1589 %dir %{_kernelsrcdir}/scripts/kconfig
1590 %{_kernelsrcdir}/scripts/Kbuild.include
1591 %{_kernelsrcdir}/scripts/Makefile*
1592 %{_kernelsrcdir}/scripts/basic
1593 %{_kernelsrcdir}/scripts/mkmakefile
1594 %{_kernelsrcdir}/scripts/mod
1595 %{_kernelsrcdir}/scripts/setlocalversion
1596 %{_kernelsrcdir}/scripts/*.c
1597 %{_kernelsrcdir}/scripts/*.sh
1598 %{_kernelsrcdir}/scripts/kconfig/*
1599 %{_kernelsrcdir}/scripts/mkcompile_h
1600
1601 %files doc
1602 %defattr(644,root,root,755)
1603 %dir %{_kernelsrcdir}
1604 %{_kernelsrcdir}/Documentation
1605
1606 %if %{with source}
1607 %files source -f aux_files_exc
1608 %defattr(644,root,root,755)
1609 %{_kernelsrcdir}/arch/*/[!Mk]*
1610 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1611 %{_kernelsrcdir}/arch/ia64/kvm
1612 %{_kernelsrcdir}/arch/powerpc/kvm
1613 %ifarch ppc ppc64
1614 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1615 %endif
1616 %{_kernelsrcdir}/arch/s390/kvm
1617 %{_kernelsrcdir}/arch/x86/kvm
1618 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1619 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1620 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1621 %{_kernelsrcdir}/block
1622 %{_kernelsrcdir}/crypto
1623 %{_kernelsrcdir}/drivers
1624 %{_kernelsrcdir}/fs
1625 %if %{with grsecurity} && %{without rescuecd}
1626 %{_kernelsrcdir}/grsecurity
1627 %endif
1628 %{_kernelsrcdir}/init
1629 %{_kernelsrcdir}/ipc
1630 %{_kernelsrcdir}/kernel
1631 %exclude %{_kernelsrcdir}/kernel/bounds.c
1632 %{_kernelsrcdir}/lib
1633 %{_kernelsrcdir}/mm
1634 %{_kernelsrcdir}/net
1635 %{_kernelsrcdir}/virt
1636 %{_kernelsrcdir}/scripts/*
1637 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1638 %exclude %{_kernelsrcdir}/scripts/Makefile*
1639 %exclude %{_kernelsrcdir}/scripts/basic
1640 %exclude %{_kernelsrcdir}/scripts/kconfig
1641 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1642 %exclude %{_kernelsrcdir}/scripts/mod
1643 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1644 %exclude %{_kernelsrcdir}/scripts/*.c
1645 %exclude %{_kernelsrcdir}/scripts/*.sh
1646 %{_kernelsrcdir}/sound
1647 %{_kernelsrcdir}/security
1648 %{_kernelsrcdir}/usr
1649 %{_kernelsrcdir}/COPYING
1650 %{_kernelsrcdir}/CREDITS
1651 %{_kernelsrcdir}/MAINTAINERS
1652 %{_kernelsrcdir}/README
1653 %{_kernelsrcdir}/REPORTING-BUGS
1654 %{_kernelsrcdir}/.mailmap
1655 %endif
This page took 0.169293 seconds and 3 git commands to generate.