]> git.pld-linux.org Git - packages/kernel.git/blob - kernel.spec
- Provides s/i2c-devel/kernel-i2c-devel/, added Obsoletes too
[packages/kernel.git] / kernel.spec
1 #
2 # Conditional build:
3 %bcond_without  smp             # don't build SMP kernel
4 %bcond_without  up              # don't build UP kernel
5 %bcond_without  boot            # don't build BOOT kernel
6 %bcond_without  source          # don't build source
7 %bcond_without  doc             # don't build documentation package
8 %bcond_without  grsec           # don't apply grsecurity patch
9 %bcond_without  kheaders        # build without support for glibc-kernel-headers
10 %bcond_with     win4lin         # apply the Win4lin patches
11 #
12 %define         base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/amd64/x86_64/')
13 %define         no_install_post_strip   1
14 %define         no_install_post_compress_modules        1
15 #
16 %define         pre_version             %{nil}
17 %define         netfilter_snap          20031209
18 %define         i2c_version             2.8.1
19 Summary:        The Linux kernel (the core of the Linux operating system)
20 Summary(de):    Der Linux-Kernel (Kern des Linux-Betriebssystems)
21 Summary(es):    Núcleo (Kernel) linux genérico
22 Summary(fr):    Le Kernel-Linux (La partie centrale du systeme)
23 Summary(pl):    J±dro Linuksa
24 Summary(pt_BR): Kernel Linux (a parte central do sistema operacional Linux)
25 Name:           kernel
26 Version:        2.4.23
27 Release:        0.9
28 License:        GPL v2
29 Group:          Base/Kernel
30 Source0:        ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-%{version}.tar.bz2
31 # Source0-md5:  642af5ab5e1fc63685fde85e9ae601e4
32 Source1:        %{name}-autoconf.h
33 Source2:        %{name}-BuildASM.sh
34 Source3:        http://www.garloff.de/kurt/linux/dc395/dc395-141.tar.gz
35 # Source3-md5:  8ed492197244b6a772270417c66214d3
36 Source7:        http://www10.software.ibm.com/developer/opensource/jfs/project/pub/jfs-2.4-1.1.4.tar.gz
37 # Source7-md5:  ea33c28ca1d3afa448b20f337b615b48
38 Source20:       %{name}-ia32.config
39 Source21:       %{name}-ia32-smp.config
40 Source50:       %{name}-sparc.config
41 Source51:       %{name}-sparc-smp.config
42 Source60:       %{name}-sparc64.config
43 Source61:       %{name}-sparc64-smp.config
44 Source70:       %{name}-alpha.config
45 Source71:       %{name}-alpha-smp.config
46 Source73:       %{name}-ppc.config
47 Source74:       %{name}-ppc-smp.config
48 Source1000:     %{name}-addon.config
49 Source1001:     %{name}-netfilter.config
50 Source1002:     %{name}-grsec.config
51 Source2000:     %{name}-win4lin.config
52
53 # New features/updates/backports
54
55 # Essential stuff
56
57 Patch0:         %{name}-pldfblogo.patch
58
59 # from ftp://ftp.kernel.org/pub/linux/kernel/people/hvr/testing/
60 Patch10:        patch-cryptoloop-jari-2.4.22-rc2.0
61 # from ftp://ftp.xs4all.nl/pub/crypto/freeswan/freeswan-*
62 Patch12:        linux-2.4.23-freeswan-2.04.patch.gz
63 Patch15:        linux-2.4.23-sched-O1.patch
64 # http://dl.sourceforge.net/user-mode-linux/uml-patch-2.4.20-6.bz2
65 Patch20:        uml-patch-2.4.20-6-21.bz2
66 Patch21:        linux-2.4.21-uml-o1.patch
67 # http://dl.sourceforge.net/user-mode-linux/host-skas3.patch
68 Patch22:        linux-2.4.20-uml-host-skas3.patch
69 # http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/
70 Patch23:        2.4.23-libata1.patch.bz2
71 # missing <linux/mm.h> include in libata-core.c (needed on alpha)
72 Patch24:        linux-2.4.23-libata1-include.patch
73
74 # New filesystems
75
76 # http://linux-xfs.sgi.com/projects/xfs/
77 Patch25:        linux-2.4.23-xfs-2003-12-01.patch.gz
78 # http://acl.bestbits.at/
79 Patch31:        linux-2.4.21-jfs-acl.patch
80 Patch32:        linux-2.4.22-ea+acl+nfsacl-0.8.60.diff.gz
81 # http://dl.sourceforge.net/linux-ntfs/
82 Patch40:        linux-2.4.23-ntfs-2.1.5a.patch.bz2
83 # FC01_davfs_0.2.4.patch
84 Patch50:        linux-2.4.20-davfs-0.2.4.patch.bz2
85 # FC02_davfs__FUNCTION__.patch
86 Patch55:        linux-2.4.20-davfs-_FUNCTION_.patch
87 Patch60:        linux-2.4.22-data-loging+quota.patch
88 Patch61:        linux-2.4.22-acl+xattr.patch
89 # http://dl.sourceforge.net/squashfs/squashfs-1.3.tar.gz
90 Patch65:        squashfs1.3-2.4.21-patch
91 #from http://sci.felk.cvut.cz/nwd/linux/nwd-patch-2.4.19
92 Patch70:        nwd-2.4.21.patch
93 Patch80:        linux-2.4.22-intermezzo-acl.patch
94
95 # Networking
96
97 # ALWAYS use released patchomatic tarball (don't use CVS)
98 # DO NOT include patches from patch-o-matic/userspace since they cause iptables incompatibilities
99 Patch100:       linux-2.4.23-netfilter-pom-%{netfilter_snap}.patch.gz
100 Patch101:       linux-2.4.23-netfilter-IMQ-target.patch
101 # http://rnvs.informatik.uni-leipzig.de/ipp2p/index_en.html
102 # http://rnvs.informatik.uni-leipzig.de/ipp2p/downloads/ipp2p-0.5a_vs_2.4.22.diff.gz
103 Patch102:       ipp2p-0.5a_vs_2.4.22.diff.gz
104
105 # http://ebtables.sourceforge.net/
106 Patch110:       ebtables-brnf-3_vs_2.4.22.diff.gz
107 # http://trash.net/~kaber/imq/
108 Patch120:       linux-2.4.21-imq-1.diff
109 # ftp://ftp.samba.org/pub/unpacked/ppp/linux/mppe/
110 Patch125:       linux-2.4.18-mppe.patch
111 Patch130:       linux-2.4.22-tun-new-style.patch
112
113 # ATM bugfixes
114 # Patches by Chas Williams <chas@locutus.cmf.nrl.navy.mil>
115 # Included in Chas patch:
116 # http://tulipe.cnam.fr/personne/lizzi/linux/linux-2.3.99-pre6-fore200e-0.2f.tar.gz
117 # http://christophe.lizzi.free.fr/linux/linux-2.4.0-test9-fore200e-0.3.tar.gz
118 # ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/
119 Patch150:       linux-2.4.21-atm_diffs.patch
120 Patch151:       ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
121 Patch152:       linux-2.4.22-fore200e-0.2f.patch
122
123 # New devices/drivers
124
125 # http://people.sistina.com/~thornber/patches/2.4-stable/
126 Patch200:       linux-2.4.23-dm-3.patch
127
128 # EVMS additional patches (http://www.sourceforge.net/projects/evms/)
129 Patch205:       linux-2.4.22-evms-2.1.1.patch
130
131 #from http://dl.sourceforge.net/i810fb/linux-2.4.20-i810fb.diff.bz2
132 Patch210:       linux-2.4.21-I810FB.patch.gz
133
134 # Support for CDRW packet writing
135 Patch215:       %{name}-cdrw-packet.patch
136 Patch216:       %{name}-cd-mrw-2.patch
137 Patch225:       wrr-linux-2.4.9.patch
138 Patch226:       linux-2.4.18-esfq.diff
139 # http://l7-filter.sourceforge.net/
140 Patch227:       layer7-kernel2.4patch-v0.4.1a.patch.gz
141
142 Patch231:       linux-2.4.21-aic7xxx-mmapio.patch
143 Patch235:       linux-2.4.20-audigy.patch.bz2
144 Patch240:       linux-2.4.20-ecc.patch
145 # i2c - http://secure.netroedge.com/~lm78/
146 Patch255:       linux-2.4.23-i2c-%{i2c_version}.patch
147 Patch256:       linux-2.4.21-i2c-headers.patch
148 Patch257:       linux-2.4.21-i2c-sparc64.patch
149 Patch265:       linux-2.4.20-e820.patch
150 # Syntax bug
151 Patch270:       dc395-tab.patch
152 # http://www.qlogic.com/
153 Patch275:       linux-2.4.20-qla2x00-v6.04.00-fo.patch.gz
154
155 # TV stuff from http://bytesex.org/
156 Patch301:       20_v4l2-2.4.23-pre7.diff.gz
157 Patch302:       30_bt832-2.4.23-pre7.diff
158 Patch303:       30_btaudio-2.4.23-pre7.diff
159
160 # I18N stuff
161 # Adds a sysctl for controlling the default iocharset
162 Patch400:       %{name}-nls_default.patch
163
164 # The following go last as they touch a lot of code
165 # and/or are on bcond and/or are ifarch
166
167 # Win4Lin
168 Patch900:       linux-2.4.20-Win4Lin.PLD.patch.bz2
169 Patch901:       linux-2.4.20-Win4Lin-mki-adapter.patch.bz2
170
171 # http://openipmi.sourceforge.net/
172 Patch950:       linux-2.4.23-ipmi-v27.patch
173
174 # Assorted bugfixes
175
176 # jam - http://giga.cps.unizar.es/~magallon/linux/kernel/
177 Patch1000:      jam-04-clone-detached.patch
178 Patch1002:      jam-06-force-inline.patch
179 Patch1003:      jam-07-scsi-error-tmout.patch
180 Patch1006:      jam-10-highpage-init.patch
181 Patch1007:      jam-11-self_exec_id.patch
182 Patch1008:      jam-15-fast-csum-D.patch
183 Patch1009:      jam-21-mem-barriers.patch
184 Patch1010:      jam-30-smptimers-A0.patch
185
186 Patch1102:      linux-2.4.20-lvm-updates.patch
187
188 # IrDA patch for broken IBM Latpops
189 Patch1104:      linux-2.4.21-irda-ibm.patch
190
191 # fix lun probing on multilun RAID chassis
192 Patch1105:      linux-2.4.12-scsi_scan.patch
193 Patch1106:      linux-scsi-debug-bug.patch
194
195 # This patch allows to create more than one sound device using alsa
196 # and devfs with two or more sound cards
197 Patch1111:      linux-sound_core.patch
198
199 # rivafb - fix for text background in 16bpp modes
200 Patch1150:      linux-rivafb16.patch
201 Patch1152:      linux-2.4.20-agp_uninorth.patch
202
203 Patch1201:      linux-2.4.21-cpqfc.patch
204 Patch1203:      linux-2.4.20-amd-golem.patch
205 Patch1205:      linux-53c7,8xx-build.fix
206 Patch1207:      linux-2.4.20-serverworks.patch
207 # this patch adds support for "io" and "irq" options in PCNet32 driver module
208 Patch1209:      linux-2.4.19-pcnet-parms.patch
209
210 # disable some networking printk's
211 Patch1250:      linux-2.4.1-netdebug.patch
212 Patch1251:      linux-2.4.2-raw-ip.patch
213 Patch1252:      linux-2.4.19-netmos_pci_parallel_n_serial.patch
214 Patch1253:      linux-proc_net_dev-counter-fix.patch
215 Patch1254:      kernel-2.4.17-netsyms-export-fix.patch
216 Patch1255:      linux-2.4.20-pre1-nr_frags.patch
217
218 Patch1301:      linux-2.4.18-hpfs.patch
219 Patch1302:      linux-2.4.18-nfs-default-size.patch
220 Patch1303:      linux-2.4.20-irixnfs.patch
221 # Tru64 NFS kludge
222 Patch1304:      linux-2.4.21-tru64nfs.patch
223 Patch1305:      linux-2.4.21-nfs-silly-rename.patch
224
225 Patch1350:      linux-2.4.21-nousb.patch
226 # from http://www.noc.uoa.gr/~avel/page.php?page=nokia&lang=en
227 Patch1354:      linux-2.4.20-Nokia5510.patch
228
229 # raid5 xor fix for PIII/P4, should go away shortly
230 Patch1400:      linux-2.4.0-raid5xor.patch
231 Patch1401:      linux-2.4.0-nonintconfig.patch
232 # Add an ioctl to the block layer so we can be EFI compliant
233 Patch1402:      linux-2.4.2-blkioctl-sector.patch
234 Patch1403:      linux-2.4.3-pcipenalty.patch
235 Patch1404:      linux-2.4.3-rawio.patch
236 Patch1405:      linux-2.4.7-suspend.patch
237 Patch1407:      kernel-Makefile-include-fix.patch
238 Patch1408:      kernel-pswscancode.patch
239 Patch1410:      linux-2.4.18-input-35215.patch
240 Patch1411:      linux-2.4.18-kiobuf.patch
241 Patch1413:      linux-2.4.22-andrea-9980_fix-pausing-6.patch
242 Patch1414:      linux-2.4.21-oopsmeharder.patch
243 Patch1415:      linux-mtd-missing-include-fix-2.4.7-pre6.patch
244 Patch1416:      linux-2.4.21-no-FPU.patch
245 Patch1418:      linux-2.4.21-hpt372-chicken-egg-hack.patch
246 Patch1419:      linux-2.4.21-agp-num_of_masks.patch
247 # fix spare disk counting for raid 5
248 Patch1420:      linux-raid5-spare-counting.patch
249 Patch1421:      linux-2.4.21-bttv-typo.patch
250
251 Patch2000:      linux-PPC-SMP.patch
252 Patch2001:      linux-2.4-ppc-procesor.patch
253 Patch2002:      kernel-2.4.18-SPARC64-PLD.patch
254 Patch2003:      linux-2.4.20-AXP-avma1_cs.patch
255 Patch2004:      linux-2.4.22-ppc-amd8111e.patch
256
257 Patch3000:      linux-2.4.1-compilefailure.patch
258 Patch3002:      linux-2.4.20-EXPORT_SYMBOL.patch
259 Patch3003:      linux-2.4.20-missing-license-tags.patch
260 Patch3004:      linux-2.4.20-sym53c8xx_old.patch
261 Patch3008:      linux-drm-4.2.0-force-cmpxchg.patch
262 Patch3010:      linux-2.4.21-ipsec-sparc64.patch
263 Patch3011:      linux-2.4.22-gcc33-inline.patch
264 Patch3012:      linux-2.4.22-gcc-ext3.patch
265 Patch3013:      linux-2.4.23-ppc-symbols.patch
266
267 # Security patches/fixes
268
269 # modified http://www.hardrock.org/kernel/current-updates/linux-2.4.23-updates.patch
270 # since we already have some of these fixes applied
271 Patch3500:      http://www.hardrock.org/kernel/current-updates/linux-2.4.23-updates.patch
272 # ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.4.24/acpi-20031203-2.4.24.diff.bz2
273 Patch3510:      acpi-20031203-2.4.24.diff.bz2
274 Patch3600:      linux-2.4-sysctl-empty.patch
275 Patch4000:      grsecurity-2.0-rc3-2.4.22-O1.patch
276
277 ExclusiveOS:    Linux
278 URL:            http://www.kernel.org/
279 %ifarch         %{ix86}
280 BuildRequires:  bin86
281 %endif
282 #BuildRequires: %{kgcc_package}
283 BuildRequires:  modutils
284 BuildRequires:  ed
285 PreReq:         modutils
286 PreReq:         geninitrd >= 1354
287 Requires(post,postun):  fileutils
288 Requires(postun):       awk
289 Provides:       %{name}-up = %{version}-%{release}
290 Provides:       module-info
291 Provides:       i2c = %{i2c_version}
292 Provides:       bttv = 0.7.83
293 Provides:       %{name}(netfilter) = 1.2.9-%{netfilter_snap}
294 Provides:       %{name}(reiserfs) = %{version}
295 Provides:       %{name}(agpgart) = %{version}
296 #Provides:      %{name}(cdrw)
297 #Provides:      %{name}(cdmrw)
298 AutoReqProv:    no
299 Obsoletes:      kernel-modules
300 Conflicts:      iptables < 1.2.9
301 Conflicts:      lvm < 1.0.4
302 Conflicts:      xfsprogs < 2.1.0
303 Conflicts:      reiserfsprogs < 3.6.3
304 Conflicts:      e2fsprogs < 1.25
305 Conflicts:      jfsutils < 1.0.12
306 Conflicts:      util-linux < 2.10o
307 Conflicts:      modutils < 2.4.2
308 Conflicts:      quota < 3.06
309 Conflicts:      linux-atm < 2.4.1
310 Conflicts:      device-mapper < 1.00.05
311 ExclusiveArch:  %{ix86} sparc sparc64 alpha ppc
312 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
313
314 %description
315 This package contains the Linux kernel that is used to boot and run
316 your system. It contains few device drivers for specific hardware.
317 Most hardware is instead supported by modules loaded after booting.
318
319 %description -l de
320 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
321 Linux-Betriebssystems. Der Kernel ist für grundliegende
322 Systemfunktionen verantwortlich: Speicherreservierung,
323 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
324
325 %description -l es
326 Este paquete contiene núcleo (kernel) Linux que se usa para arranque y
327 funcionamiento de tu sistema. Contiene soporte a pocos hardwares
328 específicos. La mayoría de los hardwares son soportados, vía módulos
329 que se cargan después del arranque.
330
331 %description -l fr
332 Le package kernel contient le kernel linux (vmlinuz), la partie
333 centrale d'un système d'exploitation Linux. Le noyau traite les
334 fonctions basiques d'un système d'exploitation: allocation mémoire,
335 allocation de process, entrée/sortie de peripheriques, etc.
336
337 %description -l pl
338 Pakiet zawiera j±dro Linuksa niezbêdne do prawid³owego dzia³ania
339 Twojego komputera. Zawiera w sobie sterowniki do sprzêtu znajduj±cego
340 siê w komputerze, takich jak karty muzyczne, sterowniki dysków, etc.
341
342 %description -l pt_BR
343 Este pacote contém o kernel Linux que é usado para inicialização
344 e funcionamento de seu sistema. Contém suporte a poucos hardwares
345 específicos. A maioria dos hardwares são suportados via módulos
346 que são carregados após a inicialização.
347
348 %package smp
349 Summary:        Kernel version %{version} compiled for SMP machines
350 Summary(de):    Kernel version %{version} für Multiprozessor-Maschinen
351 Summary(es):    Núcleo (kernel) compilado para máquinas SMP
352 Summary(fr):    Kernel version %{version} compiler pour les machine Multi-Processeur
353 Summary(pl):    J±dro Linuksa %{version} skompilowane dla maszyn wieloprocesorowych
354 Summary(pt_BR): Kernel compilado para máquinas SMP
355 Group:          Base/Kernel
356 PreReq:         modutils
357 PreReq:         geninitrd >= 2.21
358 Requires(post,postun):  fileutils
359 Requires(postun):       awk
360 Provides:       %{name}-smp = %{version}-%{release}
361 Provides:       module-info
362 Provides:       i2c = %{i2c_version}
363 Provides:       bttv = 0.7.83
364 Provides:       %{name}(netfilter) = 1.2.9-%{netfilter_snap}
365 Provides:       %{name}(reiserfs) = %{version}
366 Provides:       %{name}(agpgart) = %{version}
367 #Provides:      %{name}(cdrw)
368 #Provides:      %{name}(cdmrw)
369 AutoReqProv:    no
370 Conflicts:      iptables < 1.2.9
371 Conflicts:      lvm < 1.0.4
372 Conflicts:      xfsprogs < 2.1.0
373 Conflicts:      reiserfsprogs < 3.6.3
374 Conflicts:      e2fsprogs < 1.25
375 Conflicts:      jfsutils < 1.0.12
376 Conflicts:      util-linux < 2.10o
377 Conflicts:      modutils < 2.4.2
378 Conflicts:      quota < 3.06
379 Conflicts:      linux-atm < 2.4.1
380 Conflicts:      device-mapper < 1.00.05
381
382 %description smp
383 This package includes a SMP version of the Linux %{version} kernel. It
384 is required only on machines with two or more CPUs, although it should
385 work fine on single-CPU boxes.
386
387 %description smp -l de
388 Dieses Paket enthält eine SMP (Multiprozessor)-Version von
389 Linux-Kernel %{version}. Es wird für Maschinen mit zwei oder mehr
390 Prozessoren gebraucht, sollte aber auch auf Computern mit nur einer
391 CPU laufen.
392
393 %description smp -l es
394 Núcleo (kernel) compilado para máquinas SMP
395
396 %description smp -l fr
397 Ce package inclu une version SMP du noyau de Linux version %{version}.
398 Il et nécessaire seulement pour les machine avec deux processeurs ou
399 plus, il peut quand même fonctionner pour les système mono-processeur.
400
401 %description smp -l pl
402 Pakiet zawiera j±dro SMP Linuksa w wersji %{version}. Jest ono
403 wymagane przez komputery zawieraj±ce dwa lub wiêcej procesorów.
404 Powinno równie¿ dobrze dzia³aæ na maszynach z jednym procesorem.
405
406 %description smp -l pt_BR
407 Este pacote inclui uma versão SMP do kernel Linux versão %{version}.
408 Ele deve ser utilizado apenas em máquinas com dois ou mais processadores,
409 apesar de trabalhar perfeitamente em máquinas com apenas um processador.
410
411 %package BOOT
412 Summary:        Kernel version %{version} used on the installation boot disks
413 Summary(de):    Kernel version %{version} für Installationsdisketten
414 Summary(es):    Núcleo (kernel) de Linux, utilizado en el disco de instalación
415 Summary(fr):    Kernel version %{version} utiliser pour les disquettes d'installation
416 Summary(pl):    J±dro Linuksa %{version} dla bootkietek instalacyjnych
417 Summary(pt_BR): Kernel Linux utilizado no disco de instalação
418 Group:          Base/Kernel
419 PreReq:         modutils
420 Requires(post,postun):  fileutils
421 Requires(postun):       awk
422 AutoReqProv:    no
423
424 %description BOOT
425 This package includes a trimmed down version of the Linux %{version}
426 kernel. This kernel is used on the installation boot disks only and
427 should not be used for an installed system, as many features in this
428 kernel are turned off because of the size constraints.
429
430 %description BOOT -l de
431 Dieses Paket enthält eine verkleinerte Version vom Linux-Kernel
432 version %{version}. Dieser Kernel wird auf den
433 Installations-Bootdisketten benutzt und sollte nicht auf einem
434 installierten System verwendet werden, da viele Funktionen wegen der
435 Platzprobleme abgeschaltet sind.
436
437 %description BOOT -l es
438 Núcleo (kernel) de Linux, utilizado en el disco de instalación
439
440 %description BOOT -l pl
441 Pakiet zawiera j±dro Linuksa dedykowane dyskietkom startowym i powinno
442 byæ u¿ywane jedynie podczas instalacji systemu. Wiele u¿ytecznych
443 opcji zosta³o wy³±czonych, aby jak najbardziej zmniejszyæ jego
444 rozmiar.
445
446 %description BOOT -l pt_BR
447 Este pacote inclui uma versão minimizada do kernel Linux, criada para
448 ser utilizada *apenas* no disco de instalação, e não deve ser utilizada
449 em máquinas já instaladas, pois várias características do kernel
450 são desabilitadas para diminuir o tamanho final do kernel a ser utilizado.
451
452 %package pcmcia
453 Summary:        PCMCIA modules
454 Summary(pl):    Modu³y PCMCIA
455 Group:          Base/Kernel
456 PreReq:         %{name}-up = %{version}-%{release}
457 Requires(postun):       %{name}-up = %{version}-%{release}
458 Provides:       kernel(pcmcia)
459
460 %description pcmcia
461 Kernel PCMCIA modules.
462
463 %description pcmcia -l pl
464 Modu³y PCMCIA z kernela.
465
466 %package smp-pcmcia
467 Summary:        PCMCIA modules for SMP kernel
468 Summary(pl):    Modu³y PCMCIA dla maszyn SMP
469 Group:          Base/Kernel
470 PreReq:         %{name}-smp = %{version}-%{release}
471 Requires(postun):       %{name}-smp = %{version}-%{release}
472 Provides:       kernel(pcmcia)
473
474 %description smp-pcmcia
475 Kernel PCMCIA modules for SMP kernel.
476
477 %description smp-pcmcia -l pl
478 Modu³y PCMCIA z kernela dla maszyn SMP.
479
480 %package drm
481 Summary:        DRM kernel modules
482 Summary(pl):    Sterowniki DRM
483 Group:          Base/Kernel
484 PreReq:         %{name}-up = %{version}-%{release}
485 Requires(postun):       %{name}-up = %{version}-%{release}
486 Provides:       %{name}-drm = %{drm_xfree_version}
487
488 %description drm
489 DRM kernel modules (%{drm_xfree_version}).
490
491 %description drm -l pl
492 Sterowniki DRM (%{drm_xfree_version}).
493
494 %package smp-drm
495 Summary:        DRM SMP kernel modules
496 Summary(pl):    Sterowniki DRM dla maszyn wieloprocesorowych
497 Group:          Base/Kernel
498 PreReq:         %{name}-smp = %{version}-%{release}
499 Requires(postun):       %{name}-smp = %{version}-%{release}
500 Provides:       %{name}-drm = %{drm_xfree_version}
501
502 %description smp-drm
503 DRM SMP kernel modules (%{drm_xfree_version}).
504
505 %description smp-drm -l pl
506 Sterowniki DRM dla maszyn wieloprocesorowych (%{drm_xfree_version}).
507
508 %package headers
509 Summary:        Header files for the Linux kernel
510 Summary(es):    Archivos de inclusión para núcleo (kernel) Linux.
511 Summary(pl):    Pliki nag³ówkowe j±dra
512 Summary(pt_BR): Arquivos de inclusão para o kernel Linux.
513 Group:          Base/Kernel
514 Requires(post,postun):  fileutils
515 Requires(postun):       awk
516 Provides:       %{name}-headers(agpgart) = %{version}
517 Provides:       %{name}-headers(reiserfs) = %{version}
518 Provides:       %{name}-headers(bridging) = %{version}
519 Provides:       kernel-i2c-devel = %{i2c_version}
520 Provides:       %{name}-headers(netfilter) = 1.2.9-%{netfilter_snap}
521 Obsoletes:      kernel-i2c-devel
522 AutoReqProv:    no
523
524 %description headers
525 These are the C header files for the Linux kernel, which define
526 structures and constants that are needed when building most standard
527 programs under Linux, as well as to rebuild the kernel.
528
529 %description headers -l es
530 Estos son los archivos de inclusión C para núcleo (kernel) Linux, que define
531 estructuras y constantes que son necesarias a la construcción de la
532 mayoría de los programas en el Linux, como también para reconstruir
533 el núcleo (kernel).
534
535 %description headers -l pl
536 Pakiet zawiera pliki nag³ówkowe j±dra, niezbêdne do rekompilacji j±dra
537 oraz niektórych programów.
538
539 %description headers -l pt_BR
540 Estes são os arquivos de inclusão C para o kernel Linux, os
541 quais definem estruturas e constantes que são necessárias para
542 a construção da maioria dos programas no Linux, bem como para
543 reconstruir o próprio kernel.
544
545 %package source
546 Summary:        Kernel source tree
547 Summary(es):    Fuentes del núcleo (kernel) Linux
548 Summary(pl):    Kod ¼ród³owy j±dra Linuksa
549 Summary(pt_BR): Fontes do kernel Linux
550 Group:          Base/Kernel
551 Requires:       %{name}-headers = %{version}-%{release}
552 %ifarch %{ix86}
553 Requires:       bin86
554 %endif
555 AutoReqProv:    no
556
557 %description source
558 This is the source code for the Linux kernel. It is required to build
559 most C programs as they depend on constants defined in here. You can
560 also build a custom kernel that is better tuned to your particular
561 hardware.
562
563 %description source -l de
564 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
565 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
566 C-Programme zu compilieren, da sie auf Konstanten zurückgreifen, die
567 im Kernel-Source definiert sind. Die Source-Dateien können auch
568 benutzt werden, um einen Kernel zu compilieren, der besser auf Ihre
569 Hardware ausgerichtet ist.
570
571 %description source -l es
572 Este es el fuente para el núcleo (kernel) Linux. Se necesita para la
573 construcción de la mayoría de los programas C, pues dependen de
574 constantes definidas en él. Tu puedes también construir un núcleo (kernel)
575 personalizado que será lo mejor configurado para tu hardware en
576 particular.
577
578 %description source -l fr
579 Le package pour le kernel-source contient le code source pour le noyau
580 linux. Ces sources sont nécessaires pour compiler la plupart des
581 programmes C, car il dépend de constantes définies dans le code
582 source. Les sources peuvent être aussi utilisée pour compiler un noyau
583 personnalisé pour avoir de meilleures performances sur des matériels
584 particuliers.
585
586 %description source -l pl
587 Pakiet zawiera kod ¼ród³owy j±dra systemu.
588
589 %description source -l pt_BR
590 Este é o fonte para o kernel Linux. É necessário para a
591 construção da maioria dos programas C, pois eles dependem de
592 constantes definidas nele. Você também pode construir um kernel
593 personalizado que será melhor configurado para seu hardware particular.
594
595 %package doc
596 Summary:        Kernel documentation
597 Summary(es):    Documentación para los archivos fuente del núcleo (kernel) de Linux
598 Summary(pl):    Dokumentacja do j±dra Linuksa
599 Summary(pt_BR): Documentação para os arquivos fontes do kernel Linux
600 Group:          Base/Kernel
601 Provides:       %{name}-doc = %{version}
602 AutoReqProv:    no
603
604 %description doc
605 This is the documentation for the Linux kernel, as found in
606 /usr/src/linux/Documentation directory.
607
608 %description doc -l es
609 Documentación para los archivos fuente del núcleo (kernel) de Linux
610
611 %description doc -l pl
612 Pakiet zawiera dokumentacjê j±dra z katalogu
613 /usr/src/linux/Documentation.
614
615 %description doc -l pt_BR
616 Este pacote contém documentação para o kernel Linux.
617
618 %prep
619 %setup -q -a3 -n linux-%{version}
620 # new JFS
621 rm -fr fs/jfs
622 gzip -dc %{SOURCE7} | tar -xf -
623 %patch0 -p1
624 %patch10 -p1
625 %patch12 -p1
626 %patch15 -p1
627 %patch20 -p1
628 %patch21 -p1
629 %patch22 -p1
630 %patch23 -p1
631 %patch24 -p1
632 %patch25 -p1
633 #%patch26 -p1
634 %patch32 -p1
635 # XXX: TODO - update patch
636 #%patch31 -p1
637 %patch40 -p1
638 %patch50 -p1
639 %patch55 -p1
640 %patch60 -p1
641 %patch61 -p1
642 %patch65 -p1
643 %patch70 -p1
644 %patch80 -p1
645 %patch100 -p1
646 %patch101 -p1
647 %patch102 -p1
648 %patch110 -p1
649 %patch120 -p1
650 %patch125 -p1
651 %patch130 -p1
652 #%patch150 -p1
653 %patch151 -p1
654 %patch152 -p1
655 %patch200 -p1
656 %patch205 -p1
657 %patch210 -p1
658 #%patch215 -p1
659 #%patch216 -p1
660 %patch225 -p1
661 %patch226 -p1
662 %patch227 -p1
663 %patch231 -p1
664 %patch235 -p1
665 %patch240 -p1
666 %patch255 -p1
667 %patch256 -p1
668 %patch257 -p1
669 %patch265 -p1
670 %patch275 -p1
671 %patch301 -p1
672 %patch302 -p1
673 %patch303 -p1
674 %patch400 -p1
675 %patch950 -p1
676 %patch1000 -p1
677 %patch1002 -p1
678 %patch1003 -p1
679 %patch1006 -p1
680 %patch1007 -p1
681 #%patch1008 -p1
682 %patch1009 -p1
683 %patch1010 -p1
684 %patch1102 -p1
685 %patch1104 -p0
686 %patch1105 -p1
687 %patch1106 -p0
688 %patch1111 -p1
689 %patch1150 -p1
690 %patch1152 -p1
691 %patch1201 -p1
692 %patch1203 -p1
693 %patch1205 -p1
694 %patch1207 -p1
695 %patch1209 -p1
696 %patch1250 -p1
697 %patch1251 -p1
698 %patch1252 -p1
699 %patch1253 -p1
700 %patch1254 -p0
701 %patch1255 -p1
702 %patch1301 -p1
703 %patch1302 -p1
704 %patch1303 -p1
705 %patch1304 -p1
706 %patch1305 -p1
707 %patch1350 -p1
708 %patch1354 -p1
709 %patch1400 -p1
710 %patch1401 -p1
711 %patch1402 -p1
712 %patch1403 -p1
713 %patch1404 -p1
714 %patch1405 -p1
715 %patch1407 -p1
716 %patch1408 -p1
717 %patch1410 -p1
718 %patch1411 -p1
719 %patch1413 -p1
720 %patch1414 -p1
721 %patch1415 -p0
722 %patch1416 -p1
723 %patch1418 -p1
724 %patch1419 -p1
725 %patch1420 -p1
726 %patch1421 -p1
727
728 %patch2000 -p0
729 %patch2001 -p1
730 %patch2002 -p1
731 %patch2003 -p1
732 %ifarch ppc
733 %patch2004 -p1
734 %endif
735
736 %patch3000 -p1
737 %patch3002 -p1
738 %patch3003 -p1
739 %patch3004 -p1
740 cd drivers/char/drm
741 %patch3008 -p1
742 cd ../../..
743
744 %ifarch sparc64
745 %patch3010 -p1
746 %endif
747
748 %patch3011 -p1
749 %patch3012 -p1
750 %patch3013 -p1
751
752 %patch3500 -p1
753 %patch3510 -p1
754 %patch3600 -p1
755 %{?with_grsec:%patch4000 -p1}
756
757 mv -f drivers/scsi/sym53c8xx.c drivers/scsi/sym53c8xx_old.c
758
759 # Tekram DC395/315 U/UW SCSI host driver
760 echo Adding Tekram DC395/315 driver
761 patch -p1 -s < dc395/dc395-integ24.diff
762 install dc395/dc395x_trm.? dc395/README.dc395x drivers/scsi/
763 %patch270 -p1
764
765 # The following go last as they touch a lot of code
766 # and/or are on bcond and/or are ifarch
767
768 %ifarch %{ix86}
769 %if %{with win4lin}
770 echo Win4Lin patch ...
771 %patch900 -p1
772 %patch901 -p1
773 %endif
774 %endif
775
776 # Remove -g from drivers/atm/Makefile and net/ipsec/Makefile
777 echo -e ',s/EXTRA_CFLAGS.*-g//g\n,w' | ed net/ipsec/Makefile
778
779 # Fix EXTRAVERSION and CC in main Makefile
780 echo -e ',s/EXTRAVERSION =.*/EXTRAVERSION =/g\n,w' | ed Makefile
781 %ifarch sparc64
782 echo -e ',s/CC.*$(CROSS_COMPILE)gcc/CC          = sparc64-linux-gcc/g\n,w' | ed Makefile
783 %endif
784
785 %build
786 BuildKernel() {
787         %{?_debug:set -x}
788         # is this a special kernel we want to build?
789         BOOT=
790         smp=
791         [ "$1" = "BOOT" -o "$2" = "BOOT" ] && BOOT=yes
792         [ "$1" = "smp" -o "$2" = "smp" ] && smp=yes
793 %ifarch %{ix86}
794         if [ "$smp" = "yes" ]; then
795                 Config="ia32-smp"
796         else
797                 Config="ia32"
798         fi
799 %else
800         if [ "$smp" = "yes" ]; then
801                 Config="%{_target_cpu}-smp"
802         else
803                 Config="%{_target_cpu}"
804         fi
805 %endif
806         if [ "$BOOT" = "yes" ]; then
807                 KernelVer=%{version}-%{release}BOOT
808         else
809                 KernelVer=%{version}-%{release}$1
810         fi
811         echo "BUILDING THE NORMAL KERNEL $*..."
812 :> arch/%{base_arch}/defconfig
813         cat $RPM_SOURCE_DIR/kernel-$Config.config >> arch/%{base_arch}/defconfig
814 %ifarch i386
815         echo "CONFIG_M386=y" >> arch/%{base_arch}/defconfig
816 %endif
817 %ifarch i586
818         echo "CONFIG_M586=y" >> arch/%{base_arch}/defconfig
819 %endif
820 %ifarch i686
821         echo "CONFIG_M686=y" >> arch/%{base_arch}/defconfig
822 %endif
823 %ifarch athlon
824         echo "CONFIG_MK7=y" >> arch/%{base_arch}/defconfig
825 %endif
826         cat %{SOURCE1000} >> arch/%{base_arch}/defconfig
827         cat %{SOURCE1001} >> arch/%{base_arch}/defconfig
828
829 %ifarch sparc64
830         echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
831                 ed arch/%{base_arch}/defconfig
832         echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
833                 ed arch/%{base_arch}/defconfig
834 %endif
835
836         if [ "$BOOT" = "yes" ] ; then
837                 echo "# CONFIG_GRKERNSEC is not set" >> arch/%{base_arch}/defconfig
838         else
839                 :;
840 %if %{with grsec}
841                 echo -e ',s/CONFIG_CRYPTO_SHA256=m/CONFIG_CRYPTO_SHA256=y/g\n,w' | \
842                         ed arch/%{base_arch}/defconfig
843                 cat %{SOURCE1002} >> arch/%{base_arch}/defconfig
844 %endif
845         fi
846 %ifarch %{ix86}
847         cat %{SOURCE2000} >> arch/%{base_arch}/defconfig
848 %endif
849
850 %ifarch i386
851         echo -e ',s/# CONFIG_MATH_EMULATION is not set/CONFIG_MATH_EMULATION=y/g\n,w' | \
852                 ed arch/%{base_arch}/defconfig
853 %endif
854
855         %{__make} mrproper
856         ln -sf arch/%{base_arch}/defconfig .config
857
858 %ifarch sparc
859         sparc32 %{__make} oldconfig
860         sparc32 %{__make} dep clean
861 %else
862         %{__make} oldconfig
863         %{__make} dep clean
864 %endif
865         %{__make} include/linux/version.h
866
867 # making  table for soundmodem.
868         cd drivers/net/hamradio/soundmodem
869         %{__cc} -o gentbl -lm gentbl.c
870         ./gentbl
871         cd ../../../..
872
873 %ifarch %{ix86}
874         %{__make} bzImage
875 %endif
876 %ifarch sparc
877         sparc32 %{__make} boot
878 %else
879 %ifnarch %{ix86}
880         %{__make}
881 %endif
882 %endif
883 %ifarch sparc
884         sparc32 %{__make} modules
885 %else
886         %{__make} modules
887 %endif
888
889         mkdir -p $KERNEL_INSTALL_DIR/boot
890         install System.map $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer
891 %ifarch %{ix86}
892         cp arch/i386/boot/bzImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
893 %endif
894 %ifarch alpha sparc sparc64
895         gzip -cfv vmlinux > vmlinuz
896         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
897         install vmlinuz $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
898 %endif
899 %ifarch ppc
900         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
901         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
902 %endif
903 %ifarch sparc
904         sparc32 %{__make} modules_install \
905         INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \
906         KERNELRELEASE=$KernelVer
907         echo KERNEL RELEASE $KernelVer
908 %else
909         %{__make} modules_install \
910         INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \
911         KERNELRELEASE=$KernelVer
912         echo KERNEL RELEASE $KernelVer
913 %endif
914         echo "CHECKING DEPENDENCIES FOR KERNEL MODULES"
915         depmod --basedir $KERNEL_INSTALL_DIR -ae -F $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer $KernelVer || echo
916 }
917
918 KERNEL_BUILD_DIR=`pwd`
919 KERNEL_INSTALL_DIR=$KERNEL_BUILD_DIR-installed
920 rm -rf $KERNEL_INSTALL_DIR
921 install -d $KERNEL_INSTALL_DIR
922
923 # make drivers/scsi/ missing files
924 #       (cd drivers/scsi; make -f M)
925
926 # UP KERNEL
927 %{?with_up:BuildKernel}
928
929 # SMP KERNEL
930 %{?with_smp:BuildKernel smp}
931
932 %if ! %{with up} && ! %{with smp}
933 # We need include/asm created somewhere
934 make symlinks
935 %endif
936
937 # BOOT kernel
938 %ifnarch i586 i686 athlon
939 KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR-installed%{_libdir}/bootdisk"
940 rm -rf $KERNEL_INSTALL_DIR
941 %{?with_boot:BuildKernel BOOT}
942 %endif
943
944 %install
945 rm -rf $RPM_BUILD_ROOT
946 umask 022
947
948 install -d $RPM_BUILD_ROOT%{_prefix}/{include,src/linux-%{version}}
949
950 KERNEL_BUILD_DIR=`pwd`
951
952 KERNEL_BUILD_INSTALL=no
953 %{?with_up:KERNEL_BUILD_INSTALL=yes}
954 %{?with_smp:KERNEL_BUILD_INSTALL=yes}
955 [ "$KERNEL_BUILD_INSTALL" = "yes" ] && cp -a $KERNEL_BUILD_DIR-installed/* $RPM_BUILD_ROOT
956
957 for i in "" smp ; do
958         if [ -e  $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i ] ; then
959                 rm -f $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i/build
960                 ln -sf %{_prefix}/src/linux-%{version} \
961                         $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i/build
962         fi
963 done
964 ln -sf ../src/linux/include/linux $RPM_BUILD_ROOT%{_includedir}/linux
965 ln -sf linux-%{version} $RPM_BUILD_ROOT%{_prefix}/src/linux
966
967 %ifarch sparc sparc64
968 ln -s /usr/src/linux/include/asm-sparc $RPM_BUILD_ROOT%{_includedir}/asm-sparc
969 ln -s ../src/linux/include/asm-sparc64 $RPM_BUILD_ROOT%{_includedir}/asm-sparc64
970 %else
971 ln -sf ../src/linux/include/asm $RPM_BUILD_ROOT/usr/include/asm
972 %endif
973
974 %if %{with source}
975 cp -a . $RPM_BUILD_ROOT/usr/src/linux-%{version}
976 %else
977 cp -a {include,scripts,Makefile,Rules.make,Documentation} $RPM_BUILD_ROOT/usr/src/linux-%{version}
978 %endif
979
980 %ifarch sparc sparc64
981 sh %{SOURCE2} $RPM_BUILD_ROOT%{_includedir}
982 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_includedir}/asm/BuildASM
983 %endif
984
985 cd $RPM_BUILD_ROOT%{_prefix}/src/linux-%{version}
986
987 # remove foreign architecture files
988 cd include
989 mkdir _asm_keep
990 mv asm-generic _asm_keep
991 %ifarch sparc sparc64
992         mv asm-sparc* _asm_keep
993 %else
994         mv `resolvesymlink asm 2> /dev/null || readlink asm 2> /dev/null` _asm_keep
995 %endif
996 rm -rf asm-*
997 mv _asm_keep/* .
998 rmdir _asm_keep
999 cd ..
1000
1001 %if %{with source}
1002 MYARCH=%{_arch}
1003 %ifarch %{ix86}
1004 MYARCH=i386
1005 %endif
1006 %ifarch sparc sparc64
1007 MYARCH="sparc sparc64"
1008 %endif
1009 cd arch
1010 mv $MYARCH ..
1011 cd ..
1012 rm -rf arch/*
1013 mv $MYARCH arch
1014 %endif
1015
1016 %if %{with source}
1017 %{__make} mrproper
1018
1019 find  -name "*~" -print | xargs rm -f
1020 find  -name "*.orig" -print | xargs rm -f
1021
1022 %ifarch %{ix86}
1023 cat $RPM_SOURCE_DIR/kernel-ia32.config > .config
1024 %else
1025 install $RPM_SOURCE_DIR/kernel-%{_target_cpu}.config .config
1026 %endif
1027
1028 %ifarch i386
1029 echo "CONFIG_M386=y" >> .config
1030 %endif
1031 %ifarch i586
1032 echo "CONFIG_M586=y" >> .config
1033 %endif
1034 %ifarch i686
1035 echo "CONFIG_M686=y" >> .config
1036 %endif
1037 %ifarch athlon
1038 echo "CONFIG_MK7=y" >> .config
1039 %endif
1040 cat %{SOURCE1000} >> .config
1041 cat %{SOURCE1001} >> .config
1042 %{?with_grsec:cat %{SOURCE1002} >> .config}
1043
1044 %ifarch sparc64
1045         echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
1046                 ed .config
1047         echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
1048                 ed .config
1049 %endif
1050
1051 %ifarch %{ix86}
1052 cat %{SOURCE2000} >> .config
1053 %endif
1054
1055 %ifarch sparc
1056 sparc32 %{__make} oldconfig
1057 %else
1058 %{__make} oldconfig
1059 %endif
1060
1061 mv include/linux/autoconf.h include/linux/autoconf-up.h
1062 cp .config config-up
1063
1064 %ifarch %{ix86}
1065 cat $RPM_SOURCE_DIR/kernel-ia32-smp.config >> .config
1066 %else
1067 install $RPM_SOURCE_DIR/kernel-%{_target_cpu}-smp.config .config
1068 %endif
1069
1070 %ifarch i386
1071 echo "CONFIG_M386=y" >> .config
1072 %endif
1073 %ifarch i586
1074 echo "CONFIG_M586=y" >> .config
1075 %endif
1076 %ifarch i686
1077 echo "CONFIG_M686=y" >> .config
1078 %endif
1079 %ifarch athlon
1080 echo "CONFIG_MK7=y" >> .config
1081 %endif
1082
1083 cat %{SOURCE1000} >> .config
1084 cat %{SOURCE1001} >> .config
1085 %{?with_grsec:cat %{SOURCE1002} >> .config}
1086
1087 %ifarch sparc64
1088         echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
1089                 ed .config
1090         echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
1091                 ed .config
1092 %endif
1093
1094 %ifarch %{ix86}
1095 cat %{SOURCE2000} >> .config
1096 %endif
1097
1098 %ifarch sparc
1099 sparc32 %{__make} oldconfig
1100 %else
1101 %{__make} oldconfig
1102 %endif
1103 mv include/linux/autoconf.h include/linux/autoconf-smp.h
1104 cp .config config-smp
1105 %endif
1106
1107 install %{SOURCE1} $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux/autoconf.h
1108
1109 %if %{with source}
1110 # this generates modversions info which we want to include and we may as
1111 # well include the depends stuff as well
1112 %{__make} symlinks
1113 %{__make} include/linux/version.h
1114 #%{__make} "`pwd`/include/linux/modversions.h"
1115 %endif
1116 rm -f include/linux/modversions.h
1117 echo "#include <linux/modsetver.h>" > include/linux/modversions.h
1118
1119
1120 # this generates modversions info which we want to include and we may as
1121 # well include the depends stuff as well, after we fix the paths
1122
1123 %if %{with source}
1124 %{__make} depend
1125 find $RPM_BUILD_ROOT/usr/src/linux-%{version} -name ".*depend" \
1126         -exec /bin/sh -c "echo -e \",s|$RPM_BUILD_ROOT||g\n,w\" | ed {}" \;
1127
1128 %{__make} clean
1129 rm -f scripts/mkdep
1130 rm -f drivers/net/hamradio/soundmodem/gentbl
1131 %endif
1132
1133 # BOOT
1134 %if %{with boot}
1135 %ifnarch i586 i686 athlon
1136 install -d $RPM_BUILD_ROOT%{_libdir}/bootdisk
1137 cp -rdp $KERNEL_BUILD_DIR-installed%{_libdir}/bootdisk/* $RPM_BUILD_ROOT%{_libdir}/bootdisk
1138 %endif
1139 %endif
1140
1141 %clean
1142 rm -rf $RPM_BUILD_ROOT
1143 rm -rf $RPM_BUILD_DIR/linux-%{version}-installed
1144
1145 %post
1146 mv -f /boot/vmlinuz /boot/vmlinuz.old 2> /dev/null > /dev/null
1147 mv -f /boot/System.map /boot/System.map.old 2> /dev/null > /dev/null
1148 ln -sf vmlinuz-%{version}-%{release} /boot/vmlinuz
1149 ln -sf System.map-%{version}-%{release} /boot/System.map
1150
1151 if [ ! -L /lib/modules/%{version} ] ; then
1152         mv -f /lib/modules/%{version} /lib/modules/%{version}.rpmsave > /dev/null 2>&1
1153 fi
1154 rm -f /lib/modules/%{version}
1155 ln -snf %{version}-%{release} /lib/modules/%{version}
1156 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release}
1157
1158 /sbin/geninitrd -f --initrdfs=rom /boot/initrd-%{version}-%{release}.gz %{version}-%{release}
1159 mv -f /boot/initrd /boot/initrd.old
1160 ln -sf initrd-%{version}-%{release}.gz /boot/initrd
1161
1162 if [ -f %{_prefix}/src/linux-%{version}/config-up ] ; then
1163         ln -s %{_prefix}/src/linux-%{version}/config-up %{_prefix}/src/linux-%{version}/.config
1164 fi
1165
1166 if [ -x /sbin/rc-boot ] ; then
1167         /sbin/rc-boot 1>&2 || :
1168 fi
1169
1170 %post smp
1171 mv -f /boot/vmlinuz /boot/vmlinuz.old 2> /dev/null > /dev/null
1172 mv -f /boot/System.map /boot/System.map.old 2> /dev/null > /dev/null
1173 ln -sf vmlinuz-%{version}-%{release}smp /boot/vmlinuz
1174 ln -sf System.map-%{version}-%{release}smp /boot/System.map
1175
1176 if [ ! -L /lib/modules/%{version} ] ; then
1177         mv -f /lib/modules/%{version} /lib/modules/%{version}.rpmsave > /dev/null 2>&1
1178 fi
1179 rm -f /lib/modules/%{version}
1180 ln -snf %{version}-%{release}smp /lib/modules/%{version}
1181 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp
1182
1183 /sbin/geninitrd -f --initrdfs=rom /boot/initrd-%{version}-%{release}smp.gz %{version}-%{release}smp
1184 mv -f /boot/initrd /boot/initrd.old
1185 ln -sf initrd-%{version}-%{release}smp.gz /boot/initrd
1186
1187 if [ -f %{_prefix}/src/linux-%{version}/config-smp ] ; then
1188         ln -s %{_prefix}/src/linux-%{version}/config-smp %{_prefix}/src/linux-%{version}/.config
1189 fi
1190
1191 if [ -x /sbin/rc-boot ] ; then
1192         /sbin/rc-boot 1>&2 || :
1193 fi
1194
1195 %post BOOT
1196 if [ ! -L %{_libdir}/bootdisk/lib/modules/%{version} ] ; then
1197         mv -f %{_libdir}/bootdisk/lib/modules/%{version} %{_libdir}/bootdisk/lib/modules/%{version}.rpmsave
1198 fi
1199 if [ ! -L %{_libdir}/bootdisk/boot/vmlinuz-%{version} ] ; then
1200         mv -f %{_libdir}/bootdisk/boot/vmlinuz-%{version} %{_libdir}/bootdisk/boot/vmlinuz-%{version}.rpmsave
1201 fi
1202 rm -f %{_libdir}/bootdisk/lib/modules/%{version}
1203 ln -snf %{version}-%{release}BOOT %{_libdir}/bootdisk/lib/modules/%{version}
1204 rm -f %{_libdir}/bootdisk/boot/vmlinuz-%{version}
1205 ln -snf vmlinuz-%{version}-%{release}BOOT %{_libdir}/bootdisk/boot/vmlinuz-%{version}
1206
1207 %postun
1208 if [ -L /lib/modules/%{version} ]; then
1209         if [ "`ls -l /lib/modules/%{version} | awk '{ print $11 }'`" = "%{version}-%{release}" ]; then
1210                 if [ "$1" = "0" ]; then
1211                         rm -f /lib/modules/%{version}
1212                 fi
1213         fi
1214 fi
1215 rm -f /boot/initrd-%{version}-%{release}.gz
1216
1217 %post pcmcia
1218 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release}
1219
1220 %postun pcmcia
1221 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release} > /dev/null 2>&1
1222
1223 %post drm
1224 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release}
1225
1226 %postun drm
1227 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release} > /dev/null 2>&1
1228
1229 %postun smp
1230 if [ -L /lib/modules/%{version} ]; then
1231         if [ "`ls -l /lib/modules/%{version} | awk '{ print $11 }'`" = "%{version}-%{release}smp" ]; then
1232                 if [ "$1" = "0" ]; then
1233                         rm -f /lib/modules/%{version}
1234                 fi
1235         fi
1236 fi
1237 rm -f /boot/initrd-%{version}-%{release}smp.gz
1238
1239 %post smp-pcmcia
1240 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp
1241
1242 %postun smp-pcmcia
1243 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp > /dev/null 2>&1
1244
1245 %post smp-drm
1246 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp
1247
1248 %postun smp-drm
1249 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp > /dev/null 2>&1
1250
1251 %postun BOOT
1252 if [ -L %{_libdir}/bootdisk/lib/modules/%{version} ]; then
1253         if [ "`ls -l %{_libdir}/bootdisk/lib/modules/%{version} | awk '{ print $11 }'`" = "%{version}-%{release}BOOT" ]; then
1254                 if [ "$1" = "0" ]; then
1255                         rm -f %{_libdir}/bootdisk/lib/modules/%{version}
1256                 fi
1257         fi
1258 fi
1259
1260 %post headers
1261 rm -f /usr/src/linux
1262 ln -snf linux-%{version} /usr/src/linux
1263
1264 %postun headers
1265 if [ -L /usr/src/linux ]; then
1266         if [ "`ls -l /usr/src/linux | awk '{ print $11 }'`" = "linux-%{version}" ]; then
1267                 if [ "$1" = "0" ]; then
1268                         rm -f /usr/src/linux
1269                 fi
1270         fi
1271 fi
1272
1273 %if %{with up}
1274 %files
1275 %defattr(644,root,root,755)
1276 %ifarch alpha sparc sparc64 ppc
1277 /boot/vmlinux-%{version}-%{release}
1278 %endif
1279 /boot/vmlinuz-%{version}-%{release}
1280 /boot/System.map-%{version}-%{release}
1281 %dir /lib/modules/%{version}-%{release}
1282 /lib/modules/%{version}-%{release}/kernel
1283 %ifnarch sparc sparc64
1284 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/pcmcia
1285 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/ide/legacy/*-cs.o*
1286 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/mtd/maps/pcmcia*
1287 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/net/pcmcia
1288 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/scsi/pcmcia
1289 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/char/pcmcia
1290 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/net/wireless/*_cs.o*
1291 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/parport/*_cs.o*
1292 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/bluetooth/*_cs.o*
1293 %endif
1294 %ifnarch ppc sparc sparc64
1295 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/isdn/hisax/*_cs.o*
1296 %ifnarch alpha
1297 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/isdn/avmb1/avm_cs.o*
1298 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/telephony/*_pcmcia.o*
1299 %endif
1300 %endif
1301 %ifnarch sparc
1302 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/char/drm
1303 %endif
1304 /lib/modules/%{version}-%{release}/build
1305 %ghost /lib/modules/%{version}-%{release}/modules.*
1306
1307 %ifnarch sparc sparc64
1308 %files pcmcia
1309 %defattr(644,root,root,755)
1310 /lib/modules/%{version}-%{release}/kernel/drivers/pcmcia
1311 /lib/modules/%{version}-%{release}/kernel/drivers/ide/legacy/*-cs.o*
1312 /lib/modules/%{version}-%{release}/kernel/drivers/mtd/maps/pcmcia*
1313 /lib/modules/%{version}-%{release}/kernel/drivers/net/pcmcia
1314 /lib/modules/%{version}-%{release}/kernel/drivers/scsi/pcmcia
1315 /lib/modules/%{version}-%{release}/kernel/drivers/char/pcmcia
1316 /lib/modules/%{version}-%{release}/kernel/drivers/net/wireless/*_cs.o*
1317 /lib/modules/%{version}-%{release}/kernel/drivers/parport/*_cs.o*
1318 /lib/modules/%{version}-%{release}/kernel/drivers/bluetooth/*_cs.o*
1319 %ifnarch ppc
1320 /lib/modules/%{version}-%{release}/kernel/drivers/isdn/hisax/*_cs.o*
1321 %ifnarch alpha
1322 /lib/modules/%{version}-%{release}/kernel/drivers/isdn/avmb1/avm_cs.o*
1323 /lib/modules/%{version}-%{release}/kernel/drivers/telephony/*_pcmcia.o*
1324 %endif
1325 %endif
1326 %endif
1327
1328 %ifnarch sparc
1329 %files drm
1330 %defattr(644,root,root,755)
1331 /lib/modules/%{version}-%{release}/kernel/drivers/char/drm
1332 %endif                  # %%{with up}
1333 %endif
1334
1335 %if %{with smp}
1336 %files smp
1337 %defattr(644,root,root,755)
1338 %ifarch alpha sparc sparc64 ppc
1339 /boot/vmlinux-%{version}-%{release}smp
1340 %endif
1341 /boot/vmlinuz-%{version}-%{release}smp
1342 /boot/System.map-%{version}-%{release}smp
1343 %dir /lib/modules/%{version}-%{release}smp
1344 /lib/modules/%{version}-%{release}smp/kernel
1345 %ifnarch sparc sparc64
1346 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia
1347 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/ide/legacy/*-cs.o*
1348 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/mtd/maps/pcmcia*
1349 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/net/pcmcia
1350 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/scsi/pcmcia
1351 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/char/pcmcia
1352 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/net/wireless/*_cs.o*
1353 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/parport/*_cs.o*
1354 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/bluetooth/*_cs.o*
1355 %endif
1356 %ifnarch ppc sparc sparc64
1357 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/hisax/*_cs.o*
1358 %ifnarch alpha
1359 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/avmb1/avm_cs.o*
1360 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/telephony/*_pcmcia.o*
1361 %endif
1362 %endif
1363 %ifnarch sparc
1364 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/char/drm
1365 %endif
1366 /lib/modules/%{version}-%{release}smp/build
1367 %ghost /lib/modules/%{version}-%{release}smp/modules.*
1368
1369 %ifnarch sparc sparc64
1370 %files -n kernel-smp-pcmcia
1371 %defattr(644,root,root,755)
1372 /lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia
1373 /lib/modules/%{version}-%{release}smp/kernel/drivers/ide/legacy/*-cs.o*
1374 /lib/modules/%{version}-%{release}smp/kernel/drivers/mtd/maps/pcmcia*
1375 /lib/modules/%{version}-%{release}smp/kernel/drivers/net/pcmcia
1376 /lib/modules/%{version}-%{release}smp/kernel/drivers/scsi/pcmcia
1377 /lib/modules/%{version}-%{release}smp/kernel/drivers/char/pcmcia
1378 /lib/modules/%{version}-%{release}smp/kernel/drivers/net/wireless/*_cs.o*
1379 /lib/modules/%{version}-%{release}smp/kernel/drivers/parport/*_cs.o*
1380 /lib/modules/%{version}-%{release}smp/kernel/drivers/bluetooth/dtl1_cs.o*
1381 %ifnarch ppc
1382 /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/hisax/*_cs.o*
1383 %ifnarch alpha
1384 /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/avmb1/avm_cs.o*
1385 /lib/modules/%{version}-%{release}smp/kernel/drivers/telephony/*_pcmcia.o*
1386 %endif
1387 %endif
1388 %endif
1389
1390 %ifnarch sparc
1391 %files -n kernel-smp-drm
1392 %defattr(644,root,root,755)
1393 /lib/modules/%{version}-%{release}smp/kernel/drivers/char/drm
1394 %endif                  # %%{with smp}
1395 %endif
1396
1397 %if %{with boot}
1398 %ifnarch i586 i686 athlon               # narch
1399 %files BOOT
1400 %defattr(644,root,root,755)
1401 %ifarch alpha sparc sparc64 ppc         # arch
1402 %{_libdir}/bootdisk/boot/vmlinux-%{version}-%{release}BOOT
1403 %endif                          #arch
1404 %{_libdir}/bootdisk/boot/vmlinuz-%{version}-%{release}BOOT
1405 %{_libdir}/bootdisk/boot/System.map-%{version}-%{release}BOOT
1406 %dir %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT
1407 %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/kernel
1408 %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/build
1409 %ghost %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/modules.*
1410 %endif                          # narch
1411 %endif                          # %%{with boot}
1412
1413 %files headers
1414 %defattr(644,root,root,755)
1415 %dir %{_prefix}/src/linux-%{version}
1416 %{_prefix}/src/linux-%{version}/include
1417 %{!?with_kheaders:%{_includedir}/asm}
1418 %{!?with_kheaders:%{_includedir}/linux}
1419
1420 %if %{with doc}
1421 %files doc
1422 %defattr(644,root,root,755)
1423 %{_prefix}/src/linux-%{version}/Documentation
1424 %endif
1425
1426 %if %{with source}
1427 %files source
1428 %defattr(644,root,root,755)
1429 %{_prefix}/src/linux-%{version}/arch
1430 %{_prefix}/src/linux-%{version}/crypto
1431 %{_prefix}/src/linux-%{version}/drivers
1432 %{_prefix}/src/linux-%{version}/fs
1433 %{_prefix}/src/linux-%{version}/init
1434 %{?with_grsec:%{_prefix}/src/linux-%{version}/grsecurity}
1435 %{_prefix}/src/linux-%{version}/ipc
1436 #%{_prefix}/src/linux-%{version}/kdb
1437 %{_prefix}/src/linux-%{version}/kernel
1438 %{_prefix}/src/linux-%{version}/lib
1439 %{_prefix}/src/linux-%{version}/mm
1440 %{_prefix}/src/linux-%{version}/net
1441 %{_prefix}/src/linux-%{version}/scripts
1442 %{_prefix}/src/linux-%{version}/.config
1443 %{_prefix}/src/linux-%{version}/.depend
1444 %{_prefix}/src/linux-%{version}/.hdepend
1445 %{_prefix}/src/linux-%{version}/COPYING
1446 %{_prefix}/src/linux-%{version}/CREDITS
1447 %{_prefix}/src/linux-%{version}/MAINTAINERS
1448 %{_prefix}/src/linux-%{version}/Makefile
1449 %{_prefix}/src/linux-%{version}/README
1450 %{_prefix}/src/linux-%{version}/REPORTING-BUGS
1451 %{_prefix}/src/linux-%{version}/Rules.make
1452 %{_prefix}/src/linux-%{version}/config*
1453 %endif
This page took 0.159715 seconds and 3 git commands to generate.