#
-# If you define the following as 1, only kernel, -headers and -source
-# packages will be built
+# Conditional build:
+%bcond_without smp # don't build SMP kernel
+%bcond_without up # don't build UP kernel
+%bcond_without boot # don't build BOOT kernel
+%bcond_without source # don't build source
+%bcond_without doc # don't build documentation package
+%bcond_without grsec # don't apply grsecurity patch
+%bcond_without kheaders # build without support for glibc-kernel-headers
+%bcond_with win4lin # apply the Win4lin patches
#
-# _without_smp - don't build SMP kernel
-# _without_up - don't build UP kernel
-# _without_boot - don't build BOOT kernel
-# _without_source - don't build source
-# _without_doc - don't build documentation package
-# _without_grsec - don't apply grsecurity patch
-# _without_kheaders - build without support for glibc-kernel-headers
-#
-%define base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/')
+%define base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/amd64/x86_64/')
%define no_install_post_strip 1
%define no_install_post_compress_modules 1
#
-%define pre_version rc6
-%define ipvs_version 1.0.7
-%define freeswan_version 2.00
-%define jfs_version 2.4-1.1.2
-%define lvm_version 1.0.5
-%define evms_version 2.0.1
-%define ntfs_version 2.1.4a
-%define drm_xfree_version 4.3.0
-%define hostap_version 2002-10-12
-%define netfilter_snap 20030616
-%define i2c_version 2.8.0
+%define pre_version %{nil}
+%define netfilter_snap 20031209
+%define i2c_version 2.8.1
Summary: The Linux kernel (the core of the Linux operating system)
Summary(de): Der Linux-Kernel (Kern des Linux-Betriebssystems)
Summary(es): Núcleo (Kernel) linux genérico
Summary(pl): J±dro Linuksa
Summary(pt_BR): Kernel Linux (a parte central do sistema operacional Linux)
Name: kernel
-Version: 2.4.21
-Release: 1.6
-License: GPL
+Version: 2.4.23
+Release: 0.9
+License: GPL v2
Group: Base/Kernel
Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-%{version}.tar.bz2
-# Source0-md5: f51e12efa18bb828cf57d9d4a81b2fb1
+# Source0-md5: 642af5ab5e1fc63685fde85e9ae601e4
Source1: %{name}-autoconf.h
Source2: %{name}-BuildASM.sh
Source3: http://www.garloff.de/kurt/linux/dc395/dc395-141.tar.gz
# Source3-md5: 8ed492197244b6a772270417c66214d3
-Source4: linux-2.4.21-netfilter-%{netfilter_snap}.tar.gz
-# Source4-md5: fbbbe9b0669c7e766ddf125dfa11781c
-Source5: linux-2.4.19-netfilter-IMQ.patch.tar.bz2
-# Source5-md5: b8f2f7a268a5cb75fabcaec3b5d45fcd
-Source7: http://www10.software.ibm.com/developer/opensource/jfs/project/pub/jfs-%{jfs_version}.tar.gz
-# Source7-md5: 2473f345c66683a03ad27ff132d405b7
-Source8: http://www.xfree86.org/~alanh/linux-drm-%{drm_xfree_version}-kernelsource.tar.gz
-# Source8-md5: 34515784c7b67f6cc9169aa9eed982c7
-Source9: http://hostap.epitest.fi/releases/hostap-%{hostap_version}.tar.gz
-# Source9-md5: f5170147792a591120437dd33dbb106d
-Source10: linux-2.4.20-aacraid.tar.bz2
-# Source10-md5: 3da1f4b229685766cb4f2f5ce242c0d2
+Source7: http://www10.software.ibm.com/developer/opensource/jfs/project/pub/jfs-2.4-1.1.4.tar.gz
+# Source7-md5: ea33c28ca1d3afa448b20f337b615b48
Source20: %{name}-ia32.config
Source21: %{name}-ia32-smp.config
Source50: %{name}-sparc.config
# Essential stuff
Patch0: %{name}-pldfblogo.patch
-# from ftp://ftp.kerneli.org/pub/linux/kernel/crypto/v2.4/testing/
-Patch10: patch-int-2.4.20.1.bz2
-Patch11: loop-jari-2.4.21.0.patch
+
+# from ftp://ftp.kernel.org/pub/linux/kernel/people/hvr/testing/
+Patch10: patch-cryptoloop-jari-2.4.22-rc2.0
# from ftp://ftp.xs4all.nl/pub/crypto/freeswan/freeswan-*
-Patch12: linux-2.4.21-freeswan-%{freeswan_version}.patch.gz
-Patch15: linux-2.4.21-sched-O1.patch
+Patch12: linux-2.4.23-freeswan-2.04.patch.gz
+Patch15: linux-2.4.23-sched-O1.patch
# http://dl.sourceforge.net/user-mode-linux/uml-patch-2.4.20-6.bz2
Patch20: uml-patch-2.4.20-6-21.bz2
Patch21: linux-2.4.21-uml-o1.patch
-# http://unc.dl.sourceforge.net/sourceforge/user-mode-linux/host-skas3.patch
+# http://dl.sourceforge.net/user-mode-linux/host-skas3.patch
Patch22: linux-2.4.20-uml-host-skas3.patch
+# http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/
+Patch23: 2.4.23-libata1.patch.bz2
+# missing <linux/mm.h> include in libata-core.c (needed on alpha)
+Patch24: linux-2.4.23-libata1-include.patch
# New filesystems
# http://linux-xfs.sgi.com/projects/xfs/
-Patch25: linux-2.4.21-core-xfs-1.3.0.patch.gz
-Patch26: linux-xfs-1.3.0pre5.patch.gz
+Patch25: linux-2.4.23-xfs-2003-12-01.patch.gz
# http://acl.bestbits.at/
-Patch30: linux-2.4.21-jfs-xattr.patch
Patch31: linux-2.4.21-jfs-acl.patch
-Patch32: linux-2.4.21-ea+acl+nfsacl-0.8.58.diff.gz
-# http://unc.dl.sourceforge.net/sourceforge/linux-ntfs/
-Patch40: linux-2.4.21-ntfs-%{ntfs_version}.patch.gz
-# http://dl.sourceforge.net/linux-hfsplus/hfsplus-patch-20020606.patch
-Patch45: hfsplus-20020606.patch.bz2
+Patch32: linux-2.4.22-ea+acl+nfsacl-0.8.60.diff.gz
+# http://dl.sourceforge.net/linux-ntfs/
+Patch40: linux-2.4.23-ntfs-2.1.5a.patch.bz2
# FC01_davfs_0.2.4.patch
Patch50: linux-2.4.20-davfs-0.2.4.patch.bz2
# FC02_davfs__FUNCTION__.patch
Patch55: linux-2.4.20-davfs-_FUNCTION_.patch
-# data logging and quota for reiserfs
-# ftp://ftp.suse.com/pub/people/mason/patches/data-logging/2.4.21/
-Patch60: linux-2.4.21-reiserfs-data-logging+quota.patch.gz
-# ftp://ftp.suse.com/pub/people/jeffm/reiserfs/aclea/
-#Patch35: reiserfs-xattrs
-#Patch36: reiserfs-acl
-#Patch37: reiserfs-trusted
+Patch60: linux-2.4.22-data-loging+quota.patch
+Patch61: linux-2.4.22-acl+xattr.patch
# http://dl.sourceforge.net/squashfs/squashfs-1.3.tar.gz
Patch65: squashfs1.3-2.4.21-patch
-#Patch70: linux-2.4.20-afs.patch.bz2
#from http://sci.felk.cvut.cz/nwd/linux/nwd-patch-2.4.19
-Patch75: nwd-2.4.21.patch
+Patch70: nwd-2.4.21.patch
+Patch80: linux-2.4.22-intermezzo-acl.patch
# Networking
-# new version of netfilter.
-Patch100: linux-2.4.21-netfilter-%{netfilter_snap}.patch.gz
-# from http://users.pandora.be/bart.de.schuymer/ebtables/sourcecode.html
-# ebtables_v2.0.003_vs_2.4.20.diff
-Patch110: ebtables-v2.0.003_vs_2.4.20.patch.bz2
-# bridge-nf-0.0.10-against-2.4.20.diff
-Patch111: linux-2.4.20-bridge-nf-0.0.10.patch.bz2
-# http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.18-ipvs-%{ipvs_version}.patch.gz
-Patch115: linux-2.4.20-ipvs-%{ipvs_version}.patch.bz2
+# ALWAYS use released patchomatic tarball (don't use CVS)
+# DO NOT include patches from patch-o-matic/userspace since they cause iptables incompatibilities
+Patch100: linux-2.4.23-netfilter-pom-%{netfilter_snap}.patch.gz
+Patch101: linux-2.4.23-netfilter-IMQ-target.patch
+# http://rnvs.informatik.uni-leipzig.de/ipp2p/index_en.html
+# http://rnvs.informatik.uni-leipzig.de/ipp2p/downloads/ipp2p-0.5a_vs_2.4.22.diff.gz
+Patch102: ipp2p-0.5a_vs_2.4.22.diff.gz
+
+# http://ebtables.sourceforge.net/
+Patch110: ebtables-brnf-3_vs_2.4.22.diff.gz
# http://trash.net/~kaber/imq/
-Patch120: imq-2.4.18.diff-10
+Patch120: linux-2.4.21-imq-1.diff
# ftp://ftp.samba.org/pub/unpacked/ppp/linux/mppe/
Patch125: linux-2.4.18-mppe.patch
+Patch130: linux-2.4.22-tun-new-style.patch
# ATM bugfixes
# Patches by Chas Williams <chas@locutus.cmf.nrl.navy.mil>
# ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/
Patch150: linux-2.4.21-atm_diffs.patch
Patch151: ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
-
-# patch for patch in Source9
-Patch190: hostap-2.4.19-rc3-patch.patch
+Patch152: linux-2.4.22-fore200e-0.2f.patch
# New devices/drivers
-# taken at 2003-07-19
-# ftp://ftp.sistina.com/pub/LVM2/device-mapper/patches-version4/
-Patch200: combined-linux-2.4.21-devmapper-ioctl.patch
+# http://people.sistina.com/~thornber/patches/2.4-stable/
+Patch200: linux-2.4.23-dm-3.patch
-# EVMS support (http://www.sourceforge.net/projects/evms/)
-# Disabled due to conflicts with LVM2 and device mapper tools
-Patch201: linux-2.4.21-evms-2.0.1.patch.gz
-Patch202: linux-2.4.21-evms-o1.patch
+# EVMS additional patches (http://www.sourceforge.net/projects/evms/)
+Patch205: linux-2.4.22-evms-2.1.1.patch
-#from http://prdownloads.sourceforge.net/i810fb/linux-2.4.20-i810fb.diff.bz2
+#from http://dl.sourceforge.net/i810fb/linux-2.4.20-i810fb.diff.bz2
Patch210: linux-2.4.21-I810FB.patch.gz
# Support for CDRW packet writing
Patch216: %{name}-cd-mrw-2.patch
Patch225: wrr-linux-2.4.9.patch
Patch226: linux-2.4.18-esfq.diff
+# http://l7-filter.sourceforge.net/
+Patch227: layer7-kernel2.4patch-v0.4.1a.patch.gz
-# http://people.FreeBSD.org/~gibbs/linux/SRC/aic79xx-linux-2.4-20030603-tar.gz
-Patch230: linux-2.4-aic79xx-20030603.patch.gz
Patch231: linux-2.4.21-aic7xxx-mmapio.patch
Patch235: linux-2.4.20-audigy.patch.bz2
Patch240: linux-2.4.20-ecc.patch
-Patch245: linux-2.4.20-01-edd.patch
-Patch246: linux-2.4.20-02-edd-allocate.patch
-# i2c - version 2.8.0
-Patch255: linux-2.4.21-i2c-%{i2c_version}.patch.gz
+# i2c - http://secure.netroedge.com/~lm78/
+Patch255: linux-2.4.23-i2c-%{i2c_version}.patch
Patch256: linux-2.4.21-i2c-headers.patch
+Patch257: linux-2.4.21-i2c-sparc64.patch
Patch265: linux-2.4.20-e820.patch
# Syntax bug
Patch270: dc395-tab.patch
# http://www.qlogic.com/
Patch275: linux-2.4.20-qla2x00-v6.04.00-fo.patch.gz
-# ftp://ftp.lsil.com/pub/linux-megaraid/drivers/version-1.18j/megaraid-v1.18j.tgz
-Patch280: %{name}-megaraid.patch
+
+# TV stuff from http://bytesex.org/
+Patch301: 20_v4l2-2.4.23-pre7.diff.gz
+Patch302: 30_bt832-2.4.23-pre7.diff
+Patch303: 30_btaudio-2.4.23-pre7.diff
+
+# I18N stuff
+# Adds a sysctl for controlling the default iocharset
+Patch400: %{name}-nls_default.patch
# The following go last as they touch a lot of code
# and/or are on bcond and/or are ifarch
# Win4Lin
Patch900: linux-2.4.20-Win4Lin.PLD.patch.bz2
-Patch991: linux-2.4.20-Win4Lin-mki-adapter.patch.bz2
+Patch901: linux-2.4.20-Win4Lin-mki-adapter.patch.bz2
+
+# http://openipmi.sourceforge.net/
+Patch950: linux-2.4.23-ipmi-v27.patch
# Assorted bugfixes
Patch1000: jam-04-clone-detached.patch
Patch1002: jam-06-force-inline.patch
Patch1003: jam-07-scsi-error-tmout.patch
-Patch1004: jam-08-memparam.patch
Patch1006: jam-10-highpage-init.patch
Patch1007: jam-11-self_exec_id.patch
Patch1008: jam-15-fast-csum-D.patch
Patch1009: jam-21-mem-barriers.patch
Patch1010: jam-30-smptimers-A0.patch
-Patch1100: linux-2.4.21-lvm-VFSlock.patch
Patch1102: linux-2.4.20-lvm-updates.patch
# IrDA patch for broken IBM Latpops
# rivafb - fix for text background in 16bpp modes
Patch1150: linux-rivafb16.patch
Patch1152: linux-2.4.20-agp_uninorth.patch
-Patch1153: linux-2.4.20-radeonfb_clean.patch
-Patch1154: linux-2.4.20-drm-Makefile.patch
Patch1201: linux-2.4.21-cpqfc.patch
Patch1203: linux-2.4.20-amd-golem.patch
Patch1403: linux-2.4.3-pcipenalty.patch
Patch1404: linux-2.4.3-rawio.patch
Patch1405: linux-2.4.7-suspend.patch
-Patch1406: linux-2.4.7-quotareturn.patch
Patch1407: kernel-Makefile-include-fix.patch
Patch1408: kernel-pswscancode.patch
-Patch1409: linux-2.4.18-dmi-hall-of-shame.patch
Patch1410: linux-2.4.18-input-35215.patch
Patch1411: linux-2.4.18-kiobuf.patch
-Patch1413: linux-2.4.21-andrea-9980_fix-pausing-5.patch
+Patch1413: linux-2.4.22-andrea-9980_fix-pausing-6.patch
Patch1414: linux-2.4.21-oopsmeharder.patch
Patch1415: linux-mtd-missing-include-fix-2.4.7-pre6.patch
Patch1416: linux-2.4.21-no-FPU.patch
-Patch1417: linux-2.4.21-ac4-ide.patch
Patch1418: linux-2.4.21-hpt372-chicken-egg-hack.patch
Patch1419: linux-2.4.21-agp-num_of_masks.patch
# fix spare disk counting for raid 5
Patch1420: linux-raid5-spare-counting.patch
Patch1421: linux-2.4.21-bttv-typo.patch
-Patch1422: linux-2.4.21-ipt_TRACE-typo.patch
-
-# htb
-# http://luxik.cdi.cz/~devik/qos/htb/v3/
-Patch1500: htb_3.10_3.12_2.diff
-Patch1501: htb_killdbg_2421.diff
-Patch1600: linux-pcwd.patch
Patch2000: linux-PPC-SMP.patch
Patch2001: linux-2.4-ppc-procesor.patch
Patch2002: kernel-2.4.18-SPARC64-PLD.patch
Patch2003: linux-2.4.20-AXP-avma1_cs.patch
+Patch2004: linux-2.4.22-ppc-amd8111e.patch
Patch3000: linux-2.4.1-compilefailure.patch
Patch3002: linux-2.4.20-EXPORT_SYMBOL.patch
Patch3003: linux-2.4.20-missing-license-tags.patch
Patch3004: linux-2.4.20-sym53c8xx_old.patch
-Patch3005: linux-2.4.21-gcc33.patch
-Patch3006: linux-2.4.21-sparc-gcc3.patch
-Patch3007: linux-2.4.21-gcc33-math-emu.patch
Patch3008: linux-drm-4.2.0-force-cmpxchg.patch
-Patch3009: linux-2.4.21-alpha-gcc33.patch
Patch3010: linux-2.4.21-ipsec-sparc64.patch
+Patch3011: linux-2.4.22-gcc33-inline.patch
+Patch3012: linux-2.4.22-gcc-ext3.patch
+Patch3013: linux-2.4.23-ppc-symbols.patch
# Security patches/fixes
-Patch4000: linux-2.4.21-ow1-stack.patch
-Patch4001: grsecurity-nopax-2.0-rc2-2.4.21.patch
-
-# From RH, fixes: CAN-2003-0461 CAN-2003-0462 CAN-2003-0476 CAN-2003-0501
-# CAN-2003-0550 CAN-2003-0551 CAN-2003-0552
-Patch5000: linux-2.4.22-security.patch
-
-#Patch10000: ftp://ftp.kernel.org/pub/linux/kernel/v2.4/testing/patch-2.4.21-rc6.bz2
+# modified http://www.hardrock.org/kernel/current-updates/linux-2.4.23-updates.patch
+# since we already have some of these fixes applied
+Patch3500: http://www.hardrock.org/kernel/current-updates/linux-2.4.23-updates.patch
+# ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.4.24/acpi-20031203-2.4.24.diff.bz2
+Patch3510: acpi-20031203-2.4.24.diff.bz2
+Patch3600: linux-2.4-sysctl-empty.patch
+Patch4000: grsecurity-2.0-rc3-2.4.22-O1.patch
ExclusiveOS: Linux
URL: http://www.kernel.org/
%endif
#BuildRequires: %{kgcc_package}
BuildRequires: modutils
-BuildRequires: perl-base
-Autoreqprov: no
+BuildRequires: ed
PreReq: modutils
-PreReq: geninitrd >= 2.40
+PreReq: geninitrd >= 1354
Requires(post,postun): fileutils
Requires(postun): awk
Provides: %{name}-up = %{version}-%{release}
Provides: module-info
Provides: i2c = %{i2c_version}
Provides: bttv = 0.7.83
-Provides: %{name}(netfilter) = 1.2.8-%{netfilter_snap}
+Provides: %{name}(netfilter) = 1.2.9-%{netfilter_snap}
Provides: %{name}(reiserfs) = %{version}
Provides: %{name}(agpgart) = %{version}
#Provides: %{name}(cdrw)
#Provides: %{name}(cdmrw)
-Provides: %{name}(hostap)
+AutoReqProv: no
Obsoletes: kernel-modules
-ExclusiveArch: %{ix86} sparc sparc64 alpha ppc
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-Conflicts: iptables < 1.2.8
+Conflicts: iptables < 1.2.9
Conflicts: lvm < 1.0.4
Conflicts: xfsprogs < 2.1.0
Conflicts: reiserfsprogs < 3.6.3
Conflicts: modutils < 2.4.2
Conflicts: quota < 3.06
Conflicts: linux-atm < 2.4.1
+Conflicts: device-mapper < 1.00.05
+ExclusiveArch: %{ix86} sparc sparc64 alpha ppc
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
This package contains the Linux kernel that is used to boot and run
Summary(pl): J±dro Linuksa %{version} skompilowane dla maszyn wieloprocesorowych
Summary(pt_BR): Kernel compilado para máquinas SMP
Group: Base/Kernel
-Autoreqprov: no
PreReq: modutils
PreReq: geninitrd >= 2.21
Requires(post,postun): fileutils
Provides: module-info
Provides: i2c = %{i2c_version}
Provides: bttv = 0.7.83
-Provides: %{name}(netfilter) = 1.2.8-%{netfilter_snap}
+Provides: %{name}(netfilter) = 1.2.9-%{netfilter_snap}
Provides: %{name}(reiserfs) = %{version}
Provides: %{name}(agpgart) = %{version}
#Provides: %{name}(cdrw)
#Provides: %{name}(cdmrw)
-Provides: %{name}(hostap)
-Conflicts: iptables < 1.2.8
+AutoReqProv: no
+Conflicts: iptables < 1.2.9
Conflicts: lvm < 1.0.4
Conflicts: xfsprogs < 2.1.0
Conflicts: reiserfsprogs < 3.6.3
Conflicts: modutils < 2.4.2
Conflicts: quota < 3.06
Conflicts: linux-atm < 2.4.1
+Conflicts: device-mapper < 1.00.05
%description smp
This package includes a SMP version of the Linux %{version} kernel. It
Summary(pl): J±dro Linuksa %{version} dla bootkietek instalacyjnych
Summary(pt_BR): Kernel Linux utilizado no disco de instalação
Group: Base/Kernel
-Autoreqprov: no
PreReq: modutils
Requires(post,postun): fileutils
Requires(postun): awk
+AutoReqProv: no
%description BOOT
This package includes a trimmed down version of the Linux %{version}
em máquinas já instaladas, pois várias características do kernel
são desabilitadas para diminuir o tamanho final do kernel a ser utilizado.
-%package pcmcia-cs
-Summary: PCMCIA-CS modules
-Summary(pl): Modu³y PCMCIA-CS
+%package pcmcia
+Summary: PCMCIA modules
+Summary(pl): Modu³y PCMCIA
Group: Base/Kernel
PreReq: %{name}-up = %{version}-%{release}
Requires(postun): %{name}-up = %{version}-%{release}
-Provides: %{name}-pcmcia-cs = %{pcmcia_version}
+Provides: kernel(pcmcia)
-%description pcmcia-cs
-PCMCIA-CS modules (%{pcmcia_version}).
+%description pcmcia
+Kernel PCMCIA modules.
-%description pcmcia-cs -l pl
-Modu³y PCMCIA-CS (%{pcmcia_version}).
+%description pcmcia -l pl
+Modu³y PCMCIA z kernela.
-%package smp-pcmcia-cs
-Summary: PCMCIA-CS modules for SMP kernel
-Summary(pl): Modu³y PCMCIA-CS dla maszyn SMP
+%package smp-pcmcia
+Summary: PCMCIA modules for SMP kernel
+Summary(pl): Modu³y PCMCIA dla maszyn SMP
Group: Base/Kernel
PreReq: %{name}-smp = %{version}-%{release}
Requires(postun): %{name}-smp = %{version}-%{release}
-Provides: %{name}-pcmcia-cs = %{pcmcia_version}
+Provides: kernel(pcmcia)
-%description smp-pcmcia-cs
-PCMCIA-CS modules for SMP kernel (%{pcmcia_version}).
+%description smp-pcmcia
+Kernel PCMCIA modules for SMP kernel.
-%description smp-pcmcia-cs -l pl
-Modu³y PCMCIA-CS dla maszyn SMP (%{pcmcia_version}).
+%description smp-pcmcia -l pl
+Modu³y PCMCIA z kernela dla maszyn SMP.
%package drm
Summary: DRM kernel modules
Summary(pl): Pliki nag³ówkowe j±dra
Summary(pt_BR): Arquivos de inclusão para o kernel Linux.
Group: Base/Kernel
-Autoreqprov: no
Requires(post,postun): fileutils
Requires(postun): awk
Provides: %{name}-headers(agpgart) = %{version}
Provides: %{name}-headers(reiserfs) = %{version}
Provides: %{name}-headers(bridging) = %{version}
-Provides: i2c-devel = %{i2c_version}
-Provides: %{name}-headers(netfilter) = 1.2.8-%{netfilter_snap}
+Provides: kernel-i2c-devel = %{i2c_version}
+Provides: %{name}-headers(netfilter) = 1.2.9-%{netfilter_snap}
+Obsoletes: kernel-i2c-devel
+AutoReqProv: no
%description headers
These are the C header files for the Linux kernel, which define
Summary(pl): Kod ¼ród³owy j±dra Linuksa
Summary(pt_BR): Fontes do kernel Linux
Group: Base/Kernel
-Autoreqprov: no
Requires: %{name}-headers = %{version}-%{release}
%ifarch %{ix86}
Requires: bin86
%endif
+AutoReqProv: no
%description source
This is the source code for the Linux kernel. It is required to build
Summary(pt_BR): Documentação para os arquivos fontes do kernel Linux
Group: Base/Kernel
Provides: %{name}-doc = %{version}
-Autoreqprov: no
+AutoReqProv: no
%description doc
This is the documentation for the Linux kernel, as found in
Este pacote contém documentação para o kernel Linux.
%prep
-%setup -q -a3 -a8 -a9 -n linux-%{version}
-cd hostap-2002-10-12
-%patch190 -p1
-cd ..
-# JFS 1.1.1
+%setup -q -a3 -n linux-%{version}
+# new JFS
rm -fr fs/jfs
gzip -dc %{SOURCE7} | tar -xf -
-# Adaptec AACRaid new drivers
-rm -fr drivers/scsi/aacraid
-bzip2 -dc %{SOURCE10} | tar -xf - -C drivers/scsi/
-# Changing DRM source ....
-cp -f drm/*.{c,h} drivers/char/drm/
%patch0 -p1
%patch10 -p1
-%patch11 -p1
%patch12 -p1
%patch15 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
+%patch23 -p1
+%patch24 -p1
%patch25 -p1
-%patch26 -p1
-%patch30 -p1
+#%patch26 -p1
%patch32 -p1
-%patch31 -p1
+# XXX: TODO - update patch
+#%patch31 -p1
%patch40 -p1
-%patch45 -p1
%patch50 -p1
%patch55 -p1
%patch60 -p1
-#%patch35 -p1
-#%patch36 -p1
-#%patch37 -p1
+%patch61 -p1
%patch65 -p1
-#%patch70 -p1
-%patch75 -p1
+%patch70 -p1
+%patch80 -p1
%patch100 -p1
+%patch101 -p1
+%patch102 -p1
%patch110 -p1
-%patch111 -p1
-%patch115 -p1
%patch120 -p1
%patch125 -p1
-%patch150 -p1
+%patch130 -p1
+#%patch150 -p1
%patch151 -p1
+%patch152 -p1
%patch200 -p1
-#%patch201 -p1
-#%patch202 -p1
+%patch205 -p1
%patch210 -p1
#%patch215 -p1
#%patch216 -p1
%patch225 -p1
%patch226 -p1
-%patch230 -p1
+%patch227 -p1
%patch231 -p1
%patch235 -p1
%patch240 -p1
-%patch245 -p1
-%patch246 -p1
%patch255 -p1
%patch256 -p1
+%patch257 -p1
%patch265 -p1
%patch275 -p1
-%patch280 -p1
+%patch301 -p1
+%patch302 -p1
+%patch303 -p1
+%patch400 -p1
+%patch950 -p1
%patch1000 -p1
%patch1002 -p1
%patch1003 -p1
-%patch1004 -p1
%patch1006 -p1
%patch1007 -p1
-%patch1008 -p1
+#%patch1008 -p1
%patch1009 -p1
%patch1010 -p1
-%patch1100 -p1
%patch1102 -p1
%patch1104 -p0
%patch1105 -p1
%patch1111 -p1
%patch1150 -p1
%patch1152 -p1
-%patch1153 -p1
-%patch1154 -p1
%patch1201 -p1
%patch1203 -p1
%patch1205 -p1
%patch1403 -p1
%patch1404 -p1
%patch1405 -p1
-%patch1406 -p1
%patch1407 -p1
%patch1408 -p1
-%patch1409 -p1
%patch1410 -p1
%patch1411 -p1
-#%patch1413 -p1
+%patch1413 -p1
%patch1414 -p1
%patch1415 -p0
%patch1416 -p1
-%patch1417 -p1
%patch1418 -p1
%patch1419 -p1
%patch1420 -p1
%patch1421 -p1
-%patch1422 -p1
-%patch1500 -p1
-%patch1501 -p1
-
-%patch1600 -p1
%patch2000 -p0
%patch2001 -p1
%patch2002 -p1
%patch2003 -p1
+%ifarch ppc
+%patch2004 -p1
+%endif
%patch3000 -p1
%patch3002 -p1
%patch3003 -p1
%patch3004 -p1
-%patch3005 -p1
-%patch3006 -p1
-%patch3007 -p1
-%patch3009 -p1
cd drivers/char/drm
%patch3008 -p1
cd ../../..
%patch3010 -p1
%endif
-%patch5000 -p1
+%patch3011 -p1
+%patch3012 -p1
+%patch3013 -p1
-%patch4000 -p1
-%{!?_without_grsec:%patch4001 -p1}
+%patch3500 -p1
+%patch3510 -p1
+%patch3600 -p1
+%{?with_grsec:%patch4000 -p1}
mv -f drivers/scsi/sym53c8xx.c drivers/scsi/sym53c8xx_old.c
# Tekram DC395/315 U/UW SCSI host driver
echo Adding Tekram DC395/315 driver
-patch -p1 -s <dc395/dc395-integ24.diff
+patch -p1 -s < dc395/dc395-integ24.diff
install dc395/dc395x_trm.? dc395/README.dc395x drivers/scsi/
%patch270 -p1
-# hostap
-echo Installing Host AP support
-patch -p1 -s < hostap-%{hostap_version}/kernel-patches/hostap-linux-2.4.19-rc3.patch
-cp hostap-%{hostap_version}/driver/modules/hostap*.[ch] drivers/net/wireless/
-
# The following go last as they touch a lot of code
# and/or are on bcond and/or are ifarch
%ifarch %{ix86}
-%{?_with_win4lin:echo Win4Lin patch ...}
-%{?_with_win4lin:%patch900 -p1}
-%{?_with_win4lin:%patch991 -p1}
+%if %{with win4lin}
+echo Win4Lin patch ...
+%patch900 -p1
+%patch901 -p1
+%endif
%endif
# Remove -g from drivers/atm/Makefile and net/ipsec/Makefile
-perl -pi -e 's/EXTRA_CFLAGS.*//g' drivers/atm/Makefile
-perl -pi -e 's/EXTRA_CFLAGS.*-g//g' net/ipsec/Makefile
+echo -e ',s/EXTRA_CFLAGS.*-g//g\n,w' | ed net/ipsec/Makefile
# Fix EXTRAVERSION and CC in main Makefile
-perl -pi -e 's/EXTRAVERSION =.*/EXTRAVERSION =/g' Makefile
+echo -e ',s/EXTRAVERSION =.*/EXTRAVERSION =/g\n,w' | ed Makefile
%ifarch sparc64
-perl -pi -e 's/CC.*$(CROSS_COMPILE)gcc/CC = sparc64-linux-gcc/g' Makefile
+echo -e ',s/CC.*$(CROSS_COMPILE)gcc/CC = sparc64-linux-gcc/g\n,w' | ed Makefile
%endif
%build
cat %{SOURCE1001} >> arch/%{base_arch}/defconfig
%ifarch sparc64
- perl -pi -e 's/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/' \
- arch/%{base_arch}/defconfig
- perl -pi -e 's/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/' \
- arch/%{base_arch}/defconfig
- perl -pi -e 's/CONFIG_DIGEST_SHA1=m/# CONFIG_DIGEST_SHA1 is not set/' \
- arch/%{base_arch}/defconfig
+ echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
+ ed arch/%{base_arch}/defconfig
+ echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
+ ed arch/%{base_arch}/defconfig
%endif
if [ "$BOOT" = "yes" ] ; then
echo "# CONFIG_GRKERNSEC is not set" >> arch/%{base_arch}/defconfig
else
:;
- %{!?_without_grsec:cat %{SOURCE1002} >> arch/%{base_arch}/defconfig}
+%if %{with grsec}
+ echo -e ',s/CONFIG_CRYPTO_SHA256=m/CONFIG_CRYPTO_SHA256=y/g\n,w' | \
+ ed arch/%{base_arch}/defconfig
+ cat %{SOURCE1002} >> arch/%{base_arch}/defconfig
+%endif
fi
%ifarch %{ix86}
cat %{SOURCE2000} >> arch/%{base_arch}/defconfig
%endif
%ifarch i386
- perl -pi -e 's/# CONFIG_MATH_EMULATION is not set/CONFIG_MATH_EMULATION=y/' \
- arch/%{base_arch}/defconfig
+ echo -e ',s/# CONFIG_MATH_EMULATION is not set/CONFIG_MATH_EMULATION=y/g\n,w' | \
+ ed arch/%{base_arch}/defconfig
%endif
%{__make} mrproper
%{__make} include/linux/version.h
# making table for soundmodem.
- (cd drivers/net/hamradio/soundmodem; \
- %{__cc} -o gentbl -lm gentbl.c; \
- ./gentbl)
+ cd drivers/net/hamradio/soundmodem
+ %{__cc} -o gentbl -lm gentbl.c
+ ./gentbl
+ cd ../../../..
%ifarch %{ix86}
%{__make} bzImage
KERNELRELEASE=$KernelVer
echo KERNEL RELEASE $KernelVer
%endif
+ echo "CHECKING DEPENDENCIES FOR KERNEL MODULES"
+ depmod --basedir $KERNEL_INSTALL_DIR -ae -F $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer $KernelVer || echo
}
KERNEL_BUILD_DIR=`pwd`
# (cd drivers/scsi; make -f M)
# UP KERNEL
-%{!?_without_up:BuildKernel}
+%{?with_up:BuildKernel}
# SMP KERNEL
-%{!?_without_smp:BuildKernel smp}
+%{?with_smp:BuildKernel smp}
+
+%if ! %{with up} && ! %{with smp}
+# We need include/asm created somewhere
+make symlinks
+%endif
# BOOT kernel
%ifnarch i586 i686 athlon
-KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR-installed/%{_libdir}/bootdisk"
+KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR-installed%{_libdir}/bootdisk"
rm -rf $KERNEL_INSTALL_DIR
-%{!?_without_boot:BuildKernel BOOT}
+%{?with_boot:BuildKernel BOOT}
%endif
%install
KERNEL_BUILD_DIR=`pwd`
KERNEL_BUILD_INSTALL=no
-%{!?_without_up:KERNEL_BUILD_INSTALL=yes}
-%{!?_without_smp:KERNEL_BUILD_INSTALL=yes}
+%{?with_up:KERNEL_BUILD_INSTALL=yes}
+%{?with_smp:KERNEL_BUILD_INSTALL=yes}
[ "$KERNEL_BUILD_INSTALL" = "yes" ] && cp -a $KERNEL_BUILD_DIR-installed/* $RPM_BUILD_ROOT
for i in "" smp ; do
ln -sf ../src/linux/include/asm $RPM_BUILD_ROOT/usr/include/asm
%endif
-%if %{?_without_source:0}%{!?_without_source:1}
-cp -a . $RPM_BUILD_ROOT/usr/src/linux-%{version}/
+%if %{with source}
+cp -a . $RPM_BUILD_ROOT/usr/src/linux-%{version}
%else
-cp -a {include,scripts,Makefile,Rules.make,Documentation} $RPM_BUILD_ROOT/usr/src/linux-%{version}/
+cp -a {include,scripts,Makefile,Rules.make,Documentation} $RPM_BUILD_ROOT/usr/src/linux-%{version}
%endif
%ifarch sparc sparc64
cd $RPM_BUILD_ROOT%{_prefix}/src/linux-%{version}
-%if %{?_without_source:0}%{!?_without_source:1}
+# remove foreign architecture files
+cd include
+mkdir _asm_keep
+mv asm-generic _asm_keep
+%ifarch sparc sparc64
+ mv asm-sparc* _asm_keep
+%else
+ mv `resolvesymlink asm 2> /dev/null || readlink asm 2> /dev/null` _asm_keep
+%endif
+rm -rf asm-*
+mv _asm_keep/* .
+rmdir _asm_keep
+cd ..
+
+%if %{with source}
+MYARCH=%{_arch}
+%ifarch %{ix86}
+MYARCH=i386
+%endif
+%ifarch sparc sparc64
+MYARCH="sparc sparc64"
+%endif
+cd arch
+mv $MYARCH ..
+cd ..
+rm -rf arch/*
+mv $MYARCH arch
+%endif
+
+%if %{with source}
%{__make} mrproper
find -name "*~" -print | xargs rm -f
%endif
cat %{SOURCE1000} >> .config
cat %{SOURCE1001} >> .config
-%{!?_without_grsec:cat %{SOURCE1002} >> .config}
+%{?with_grsec:cat %{SOURCE1002} >> .config}
%ifarch sparc64
- perl -pi -e 's/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/' \
- arch/%{base_arch}/defconfig
- perl -pi -e 's/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/' \
- arch/%{base_arch}/defconfig
- perl -pi -e 's/CONFIG_DIGEST_SHA1=m/# CONFIG_DIGEST_SHA1 is not set/' \
- arch/%{base_arch}/defconfig
+ echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
+ ed .config
+ echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
+ ed .config
%endif
%ifarch %{ix86}
cat %{SOURCE1000} >> .config
cat %{SOURCE1001} >> .config
-%{!?_without_grsec:cat %{SOURCE1002} >> .config}
+%{?with_grsec:cat %{SOURCE1002} >> .config}
%ifarch sparc64
- perl -pi -e 's/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/' \
- arch/%{base_arch}/defconfig
- perl -pi -e 's/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/' \
- arch/%{base_arch}/defconfig
- perl -pi -e 's/CONFIG_DIGEST_SHA1=m/# CONFIG_DIGEST_SHA1 is not set/' \
- arch/%{base_arch}/defconfig
+ echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
+ ed .config
+ echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
+ ed .config
%endif
%ifarch %{ix86}
install %{SOURCE1} $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux/autoconf.h
-%if %{?_without_source:0}%{!?_without_source:1}
+%if %{with source}
# this generates modversions info which we want to include and we may as
# well include the depends stuff as well
%{__make} symlinks
# this generates modversions info which we want to include and we may as
# well include the depends stuff as well, after we fix the paths
-%if %{?_without_source:0}%{!?_without_source:1}
+%if %{with source}
%{__make} depend
-find $RPM_BUILD_ROOT/usr/src/linux-%{version} -name ".*depend" | \
- xargs perl -pi -e "s|$RPM_BUILD_ROOT\(/usr/src/linux\)|\1|g"
+find $RPM_BUILD_ROOT/usr/src/linux-%{version} -name ".*depend" \
+ -exec /bin/sh -c "echo -e \",s|$RPM_BUILD_ROOT||g\n,w\" | ed {}" \;
%{__make} clean
rm -f scripts/mkdep
%endif
# BOOT
-%if %{?_without_boot:0}%{!?_without_boot:1}
+%if %{with boot}
%ifnarch i586 i686 athlon
-install -d $RPM_BUILD_ROOT/%{_libdir}/bootdisk
-cp -rdp $KERNEL_BUILD_DIR-installed/%{_libdir}/bootdisk/* $RPM_BUILD_ROOT/%{_libdir}/bootdisk
+install -d $RPM_BUILD_ROOT%{_libdir}/bootdisk
+cp -rdp $KERNEL_BUILD_DIR-installed%{_libdir}/bootdisk/* $RPM_BUILD_ROOT%{_libdir}/bootdisk
%endif
%endif
fi
rm -f /boot/initrd-%{version}-%{release}.gz
-%post pcmcia-cs
+%post pcmcia
/sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release}
-%postun pcmcia-cs
+%postun pcmcia
/sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release} > /dev/null 2>&1
%post drm
fi
rm -f /boot/initrd-%{version}-%{release}smp.gz
-%post smp-pcmcia-cs
+%post smp-pcmcia
/sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp
-%postun smp-pcmcia-cs
+%postun smp-pcmcia
/sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp > /dev/null 2>&1
%post smp-drm
fi
fi
-%if %{?_without_up:0}%{!?_without_up:1}
+%if %{with up}
%files
%defattr(644,root,root,755)
%ifarch alpha sparc sparc64 ppc
/boot/System.map-%{version}-%{release}
%dir /lib/modules/%{version}-%{release}
/lib/modules/%{version}-%{release}/kernel
-%ifnarch sparc
+%ifnarch sparc sparc64
%exclude /lib/modules/%{version}-%{release}/kernel/drivers/pcmcia
%exclude /lib/modules/%{version}-%{release}/kernel/drivers/ide/legacy/*-cs.o*
%exclude /lib/modules/%{version}-%{release}/kernel/drivers/mtd/maps/pcmcia*
%exclude /lib/modules/%{version}-%{release}/kernel/drivers/parport/*_cs.o*
%exclude /lib/modules/%{version}-%{release}/kernel/drivers/bluetooth/*_cs.o*
%endif
-%ifnarch ppc sparc
+%ifnarch ppc sparc sparc64
%exclude /lib/modules/%{version}-%{release}/kernel/drivers/isdn/hisax/*_cs.o*
%ifnarch alpha
%exclude /lib/modules/%{version}-%{release}/kernel/drivers/isdn/avmb1/avm_cs.o*
/lib/modules/%{version}-%{release}/build
%ghost /lib/modules/%{version}-%{release}/modules.*
-%ifnarch sparc
-%files pcmcia-cs
+%ifnarch sparc sparc64
+%files pcmcia
%defattr(644,root,root,755)
/lib/modules/%{version}-%{release}/kernel/drivers/pcmcia
/lib/modules/%{version}-%{release}/kernel/drivers/ide/legacy/*-cs.o*
%files drm
%defattr(644,root,root,755)
/lib/modules/%{version}-%{release}/kernel/drivers/char/drm
-%endif # %%{_without_up}
+%endif # %%{with up}
%endif
-%if %{?_without_smp:0}%{!?_without_smp:1}
+%if %{with smp}
%files smp
%defattr(644,root,root,755)
%ifarch alpha sparc sparc64 ppc
/boot/System.map-%{version}-%{release}smp
%dir /lib/modules/%{version}-%{release}smp
/lib/modules/%{version}-%{release}smp/kernel
-%ifnarch sparc
+%ifnarch sparc sparc64
%exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia
%exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/ide/legacy/*-cs.o*
%exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/mtd/maps/pcmcia*
%exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/parport/*_cs.o*
%exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/bluetooth/*_cs.o*
%endif
-%ifnarch ppc sparc
+%ifnarch ppc sparc sparc64
%exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/hisax/*_cs.o*
%ifnarch alpha
%exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/avmb1/avm_cs.o*
/lib/modules/%{version}-%{release}smp/build
%ghost /lib/modules/%{version}-%{release}smp/modules.*
-%ifnarch sparc
-%files -n kernel-smp-pcmcia-cs
+%ifnarch sparc sparc64
+%files -n kernel-smp-pcmcia
%defattr(644,root,root,755)
/lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia
/lib/modules/%{version}-%{release}smp/kernel/drivers/ide/legacy/*-cs.o*
%files -n kernel-smp-drm
%defattr(644,root,root,755)
/lib/modules/%{version}-%{release}smp/kernel/drivers/char/drm
-%endif # %%{_without_smp}
+%endif # %%{with smp}
%endif
-%if %{?_without_boot:0}%{!?_without_boot:1}
+%if %{with boot}
%ifnarch i586 i686 athlon # narch
%files BOOT
%defattr(644,root,root,755)
%{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/build
%ghost %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/modules.*
%endif # narch
-%endif # %%{_without_boot}
+%endif # %%{with boot}
%files headers
%defattr(644,root,root,755)
%dir %{_prefix}/src/linux-%{version}
%{_prefix}/src/linux-%{version}/include
-%{?_without_kheaders:%{_includedir}/asm}
-%{?_without_kheaders:%{_includedir}/linux}
+%{!?with_kheaders:%{_includedir}/asm}
+%{!?with_kheaders:%{_includedir}/linux}
-%if %{?_without_doc:0}%{!?_without_doc:1}
+%if %{with doc}
%files doc
%defattr(644,root,root,755)
%{_prefix}/src/linux-%{version}/Documentation
%endif
-%if %{?_without_source:0}%{!?_without_source:1}
+%if %{with source}
%files source
%defattr(644,root,root,755)
%{_prefix}/src/linux-%{version}/arch
%{_prefix}/src/linux-%{version}/drivers
%{_prefix}/src/linux-%{version}/fs
%{_prefix}/src/linux-%{version}/init
-%{!?_without_grsec:%{_prefix}/src/linux-%{version}/grsecurity}
+%{?with_grsec:%{_prefix}/src/linux-%{version}/grsecurity}
%{_prefix}/src/linux-%{version}/ipc
#%{_prefix}/src/linux-%{version}/kdb
%{_prefix}/src/linux-%{version}/kernel