diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2001-12-25 00:51:40 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2001-12-25 00:51:40 +0000 |
commit | 1830808430f50c3858c1bd28ca6bfd858104c7aa (patch) | |
tree | dd849bf1a0417366d680d433fa4949f6a448269b /sys-kernel | |
parent | more of the same (diff) | |
download | historical-1830808430f50c3858c1bd28ca6bfd858104c7aa.tar.gz historical-1830808430f50c3858c1bd28ca6bfd858104c7aa.tar.bz2 historical-1830808430f50c3858c1bd28ca6bfd858104c7aa.zip |
new version supporting XFS, etc. have new low-latency patch by author of the preemptive one
Diffstat (limited to 'sys-kernel')
6 files changed, 475 insertions, 8 deletions
diff --git a/sys-kernel/linux-sources/files/2.4.17/XFS-20011214.patch b/sys-kernel/linux-sources/files/2.4.17/XFS-20011214.patch new file mode 100644 index 000000000000..e721e310d658 --- /dev/null +++ b/sys-kernel/linux-sources/files/2.4.17/XFS-20011214.patch @@ -0,0 +1,104 @@ +--- XFS-20011214.patch.orig Mon Dec 24 13:26:19 2001 ++++ XFS-20011214.patch Mon Dec 24 13:26:15 2001 +@@ -4,7 +4,7 @@ + @@ -54,6 +54,7 @@ + o util-linux 2.10o # fdformat --version + o modutils 2.4.2 # insmod -V +- o e2fsprogs 1.19 # tune2fs ++ o e2fsprogs 1.25 # tune2fs + +o xfsprogs 1.2.0 # xfs_db -V + o reiserfsprogs 3.x.0j # reiserfsck 2>&1|grep reiserfsprogs + o pcmcia-cs 3.1.21 # cardmgr -V +@@ -1458,7 +1458,7 @@ + @@ -1,7 +1,7 @@ + VERSION = 2 + PATCHLEVEL = 4 +- SUBLEVEL = 16 ++ SUBLEVEL = 17 + -EXTRAVERSION = + +EXTRAVERSION =-xfs + +@@ -13461,11 +13461,7 @@ + diff --exclude CVS -urN linux-orig/arch/sparc64/defconfig linux/arch/sparc64/defconfig + --- linux-orig/arch/sparc64/defconfig Tue Nov 13 10:16:05 2001 + +++ linux/arch/sparc64/defconfig Fri Nov 16 15:21:00 2001 +-@@ -862,3 +862,12 @@ +- # Kernel hacking +- # +- # CONFIG_MAGIC_SYSRQ is not set +-+ ++@@ -861,3 +861,12 @@ + +# + +# XFS addons + +# +@@ -13474,6 +13470,10 @@ + +CONFIG_XFS_FS=y + +# CONFIG_XFS_RT is not set + +CONFIG_XFS_DMAPI=y +++ ++ # ++ # Kernel hacking ++ # + diff --exclude CVS -urN linux-orig/drivers/block/ll_rw_blk.c linux/drivers/block/ll_rw_blk.c + --- linux-orig/drivers/block/ll_rw_blk.c Mon Oct 29 13:11:17 2001 + +++ linux/drivers/block/ll_rw_blk.c Tue Oct 30 08:53:18 2001 +@@ -158824,14 +158824,14 @@ + }; + + /* +-@@ -905,6 +949,7 @@ ++@@ -951,6 +951,7 @@ + */ + struct dentry * (*fh_to_dentry)(struct super_block *sb, __u32 *fh, int len, int fhtype, int parent); + int (*dentry_to_fh)(struct dentry *, __u32 *fh, int *lenp, int need_parent); + + int (*dmapi_mount_event) (struct super_block *, char *); ++ int (*show_options)(struct seq_file *, struct vfsmount *); + }; + +- /* Inode state bits.. */ + @@ -914,6 +959,7 @@ + #define I_LOCK 8 + #define I_FREEING 16 +@@ -162182,19 +162182,21 @@ + if (!strncmp(line,"init=",5)) { + line += 5; + execute_command = line; +-@@ -591,6 +623,12 @@ +- #endif +- mem_init(); +- kmem_cache_sizes_init(); ++@@ -630,7 +630,13 @@ ++ pgtable_cache_init(); ++ ++ mempages = num_physpages; ++- + +#if defined(CONFIG_KDB) + + kdb_init(); + + if (KDB_FLAG(EARLYKDB)) { + + KDB_ENTER(); + + } + +#endif +- mempages = num_physpages; +- +++ + fork_init(mempages); ++ proc_caches_init(); ++ vfs_caches_init(mempages); + diff --exclude CVS -urN linux-orig/kdb/ChangeLog linux/kdb/ChangeLog + --- linux-orig/kdb/ChangeLog Wed Dec 31 17:00:00 1969 + +++ linux/kdb/ChangeLog Mon Dec 3 23:32:43 2001 +@@ -169322,14 +169324,6 @@ + diff --exclude CVS -urN linux-orig/mm/vmalloc.c linux/mm/vmalloc.c + --- linux-orig/mm/vmalloc.c Mon Sep 17 14:16:31 2001 + +++ linux/mm/vmalloc.c Fri Sep 21 10:28:50 2001 +-@@ -6,6 +6,7 @@ +- * SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000 +- */ +- +-+#include <linux/config.h> +- #include <linux/slab.h> +- #include <linux/vmalloc.h> +- #include <linux/spinlock.h> + @@ -18,6 +19,53 @@ + rwlock_t vmlist_lock = RW_LOCK_UNLOCKED; + struct vm_struct * vmlist; diff --git a/sys-kernel/linux-sources/files/2.4.17/acpi-20011205.diff b/sys-kernel/linux-sources/files/2.4.17/acpi-20011205.diff new file mode 100644 index 000000000000..58cb17be4c50 --- /dev/null +++ b/sys-kernel/linux-sources/files/2.4.17/acpi-20011205.diff @@ -0,0 +1,171 @@ +--- acpi-20011205.diff.orig Mon Dec 24 13:26:34 2001 ++++ acpi-20011205.diff Mon Dec 24 13:26:31 2001 +@@ -20215,7 +20215,7 @@ + * + *****************************************************************************/ + +-@@ -29,12 +29,13 @@ ++@@ -29,7 +29,7 @@ + #include <linux/init.h> + #include <linux/types.h> + #include <linux/proc_fs.h> +@@ -20224,12 +20224,6 @@ + #include "ac.h" + + +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - AC Adapter Driver"); +-+MODULE_LICENSE("GPL"); +- +- +- #define AC_PROC_ROOT "ac_adapter" + @@ -77,8 +78,8 @@ + goto end; + } +@@ -20413,7 +20407,7 @@ + * + *****************************************************************************/ + +-@@ -38,12 +38,13 @@ ++@@ -38,7 +38,7 @@ + #include <linux/init.h> + #include <linux/types.h> + #include <linux/proc_fs.h> +@@ -20422,12 +20416,6 @@ + #include "bt.h" + + +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - Control Method Battery Driver"); +-+MODULE_LICENSE("GPL"); +- +- +- #define BT_PROC_ROOT "battery" + diff -Naur -X bin/dontdiff /usr/src/linux/drivers/acpi/ospm/busmgr/bm.c linux/drivers/acpi/ospm/busmgr/bm.c + --- /usr/src/linux/drivers/acpi/ospm/busmgr/bm.c Wed Oct 24 14:06:22 2001 + +++ linux/drivers/acpi/ospm/busmgr/bm.c Wed Dec 5 10:52:33 2001 +@@ -20470,7 +20458,7 @@ + * + *****************************************************************************/ + +-@@ -32,12 +32,13 @@ ++@@ -32,7 +32,7 @@ + #include <linux/spinlock.h> + #include <linux/poll.h> + #include <asm/uaccess.h> +@@ -20479,12 +20467,6 @@ + #include "bm.h" + + +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - ACPI Bus Manager"); +-+MODULE_LICENSE("GPL"); +- +- +- /***************************************************************************** + @@ -58,6 +59,12 @@ + #define BM_PROC_ROOT "acpi" + #define BM_PROC_EVENT "event" +@@ -21494,7 +21476,7 @@ + * + *****************************************************************************/ + +-@@ -29,13 +29,13 @@ ++@@ -29,7 +29,7 @@ + #include <linux/init.h> + #include <linux/types.h> + #include <linux/proc_fs.h> +@@ -21503,13 +21485,6 @@ + #include "bn.h" + + +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - Button Driver"); +-- +-+MODULE_LICENSE("GPL"); +- +- #define BN_PROC_ROOT "button" +- #define BN_PROC_POWER_BUTTON "power" + @@ -95,6 +95,7 @@ + break; + case BN_TYPE_FIXED: +@@ -21538,7 +21513,7 @@ + * + *****************************************************************************/ + +-@@ -29,13 +29,14 @@ ++@@ -29,8 +29,8 @@ + #include <linux/init.h> + #include <linux/types.h> + #include <linux/proc_fs.h> +@@ -21549,12 +21524,6 @@ + #include "ec.h" + + +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - Embedded Controller Driver"); +-+MODULE_LICENSE("GPL"); +- +- extern struct proc_dir_entry *bm_proc_root; +- + diff -Naur -X bin/dontdiff /usr/src/linux/drivers/acpi/ospm/ec/ecgpe.c linux/drivers/acpi/ospm/ec/ecgpe.c + --- /usr/src/linux/drivers/acpi/ospm/ec/ecgpe.c Sun Sep 23 09:42:32 2001 + +++ linux/drivers/acpi/ospm/ec/ecgpe.c Wed Dec 5 10:52:33 2001 +@@ -22284,7 +22253,7 @@ + * + *****************************************************************************/ + +-@@ -30,13 +30,14 @@ ++@@ -30,8 +30,8 @@ + #include <linux/types.h> + #include <linux/proc_fs.h> + #include <linux/pci.h> +@@ -22295,12 +22264,6 @@ + #include "pr.h" + + +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - IA32 Processor Driver"); +-+MODULE_LICENSE("GPL"); +- +- +- #define PR_PROC_ROOT "processor" + @@ -81,6 +82,9 @@ + processor->power.state[PR_C2].utilization, + processor->power.state[PR_C3].utilization); +@@ -23181,7 +23144,7 @@ + * + *****************************************************************************/ + +-@@ -30,26 +30,38 @@ ++@@ -30,13 +30,17 @@ + #include <linux/types.h> + #include <linux/proc_fs.h> + #include <linux/pm.h> +@@ -23204,9 +23167,8 @@ + #include "sm.h" + + +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - ACPI System Driver"); +-+MODULE_LICENSE("GPL"); ++@@ -45,12 +49,19 @@ ++ MODULE_LICENSE("GPL"); + + + +extern FADT_DESCRIPTOR acpi_fadt; +@@ -24236,14 +24198,6 @@ + * + *****************************************************************************/ + +-@@ -35,6 +35,7 @@ +- +- MODULE_AUTHOR("Andrew Grover"); +- MODULE_DESCRIPTION("ACPI Component Architecture (CA) - Thermal Zone Driver"); +-+MODULE_LICENSE("GPL"); +- +- int TZP = 0; +- MODULE_PARM(TZP, "i"); + @@ -64,15 +65,11 @@ + int *eof, + void *context) diff --git a/sys-kernel/linux-sources/files/digest-linux-sources-2.4.13 b/sys-kernel/linux-sources/files/digest-linux-sources-2.4.13 deleted file mode 100644 index a0e7dfa904c3..000000000000 --- a/sys-kernel/linux-sources/files/digest-linux-sources-2.4.13 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 8df7419287730e97dd46160ce4ab7c59 MOSIX-1.5.2.tar.gz 409600 -MD5 b2b95d9a50f7ef0a2421492ffd31241e linux-2.4.13.tar.bz2 23113728 -MD5 1aa87a35a1d808534cc78f32af0a1b2d lvm_1.0.1-rc4.tar.gz 360448 diff --git a/sys-kernel/linux-sources/files/digest-linux-sources-2.4.16-r1 b/sys-kernel/linux-sources/files/digest-linux-sources-2.4.16-r1 deleted file mode 100644 index f60c2a253510..000000000000 --- a/sys-kernel/linux-sources/files/digest-linux-sources-2.4.16-r1 +++ /dev/null @@ -1,5 +0,0 @@ -MD5 ab42d7130b7f25b61368dd908eb43ae2 2.4.16-low-latency.patch.gz 16384 -MD5 1b787f980061af46db1ccf3d7a616e28 XFS-20011214.patch.bz2 864256 -MD5 d22bb71a161e8e0a6813beb8c92f1b57 acpi-20011120.diff.gz 139264 -MD5 d3a363dc4f0731b57d1ed90a3eadf150 linux-2.4.16.tar.bz2 23748608 -MD5 3f06fa56bb56029823198eeb566c25db preempt-kernel-rml-2.4.16-1.patch 49152 diff --git a/sys-kernel/linux-sources/files/digest-linux-sources-2.4.17 b/sys-kernel/linux-sources/files/digest-linux-sources-2.4.17 new file mode 100644 index 000000000000..8f4d43a9e541 --- /dev/null +++ b/sys-kernel/linux-sources/files/digest-linux-sources-2.4.17 @@ -0,0 +1,5 @@ +MD5 1b787f980061af46db1ccf3d7a616e28 XFS-20011214.patch.bz2 868352 +MD5 80c1b2fcba00cfc4bde2d3bae7dcfaaa acpi-20011205.diff.gz 188416 +MD5 0628d142eeb6fc31856d7a60d3f30a82 linux-2.4.17.tar.bz2 23871488 +MD5 8d857d12d06945a275829fa086521476 lock-break-rml-2.4.17-2.patch 32768 +MD5 1920d4b9c793860f6dbc04b384faeb55 preempt-kernel-rml-2.4.17-1.patch 61440 diff --git a/sys-kernel/linux-sources/linux-sources-2.4.17.ebuild b/sys-kernel/linux-sources/linux-sources-2.4.17.ebuild new file mode 100644 index 000000000000..4700cd7777c6 --- /dev/null +++ b/sys-kernel/linux-sources/linux-sources-2.4.17.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2001 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Maintainer: Daniel Robbins <drobbins@gentoo.org> +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-sources/linux-sources-2.4.17.ebuild,v 1.1 2001/12/25 00:51:40 azarah Exp $ + +#OKV=original kernel version, KV=patched kernel version. They can be the same. + +#we use this next variable to avoid duplicating stuff on cvs +GFILESDIR=${PORTDIR}/sys-kernel/linux-sources/files +OKV=${PV} +KV=${OKV} +S=${WORKDIR}/linux-${KV} +S2=${WORKDIR}/linux-${KV}-extras + +# Patch versions. We now have a new system. To enable a patch, set the patch version. To disable +# a patch, comment out the patch version and it won't be enabled. In this ebuild, ACPI, low latency +# and preempt patches are enabled, but MOSIX is not. + +XFSV=20011214 +ACPIV=20011205 +LOWLV="${KV}-2" +PREEV="${KV}-1" +#MOSV=1.5.2 + +DESCRIPTION="Linux kernel version ${KV} - full sources" + +PATCHES="" +SRC_URI="http://www.de.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2" +[ "$MOSV" ] && { SRC_URI="$SRC_URI http://www.mosix.cs.huji.ac.il/ftps/MOSIX-${MOSV}.tar.gz"; PATCHES="$PATCHES ${S2}/MOSIX-${MOSV}/patches.${OKV}"; } +[ "$ACPIV" ] && { SRC_URI="$SRC_URI http://developer.intel.com/technology/iapc/acpi/downloads/acpi-${ACPIV}.diff.gz"; PATCHES="$PATCHES ${DISTDIR}/acpi-${ACPIV}.diff.gz"; } +[ "$PREEV" ] && { SRC_URI="$SRC_URI http://www.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.4/preempt-kernel-rml-${PREEV}.patch"; PATCHES="$PATCHES ${DISTDIR}/preempt-kernel-rml-${PREEV}.patch"; } +#must be applied *after* Pre-emptive patch +[ "$LOWLV" ] && { SRC_URI="$SRC_URI http://www.kernel.org/pub/linux/kernel/people/rml/lock-break/v2.4/lock-break-rml-${LOWLV}.patch"; PATCHES="$PATCHES ${DISTDIR}/lock-break-rml-${LOWLV}.patch"; } +[ "$XFSV" ] && { SRC_URI="$SRC_URI http://www.ibiblio.org/gentoo/distfiles/XFS-${XFSV}.patch.bz2"; PATCHES="$PATCHES ${DISTDIR}/XFS-${XFSV}.patch.bz2"; } + +PROVIDE="virtual/kernel" +HOMEPAGE="http://www.kernel.org/ http://www.namesys.com http://www.sistina.com/lvm/ http://developer.intel.com/technology/iapc/acpi/" + +if [ $PN = "linux-sources" ] && [ -z "`use build`" ] +then + #console-tools is needed to solve the loadkeys fiasco. + #binutils version needed to avoid Athlon/PIII/SSE assembler bugs. + DEPEND=">=sys-devel/binutils-2.11.90.0.31 sys-apps/console-tools >=sys-apps/modutils-2.4.2 sys-devel/perl" + RDEPEND=">=sys-libs/ncurses-5.2" +fi + +[ -z "$LINUX_HOSTCFLAGS" ] && LINUX_HOSTCFLAGS="-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I${S}/include" + +#modified to be able to patch a external patch with our own one in +#${FILESDIR}/${PVR}/to fix rejects. our patch have the same name, but not +#the .gz and .bz2 extension. +#this is usefull in that you dont have to have lots of versions of a single +#patch for every ebuild on ibiblio, and decrease the time to release a ebuild. +patchorama() { + local curdir="`pwd`" + local x + local patchdir=${WORKDIR}/patch + for x in ${*} + do + [ -d "$x" ] && continue + echo ">>> Applying ${x}..." + [ ! -d ${patchdir} ] && mkdir ${patchdir} + cd ${patchdir} + if [ "${x##*.}" = "bz2" ] + then + x=${x%%.bz2} + bzip2 -dc ${x}.bz2 > ${patchdir}/${x##*/} || die + elif [ "${x##*.}" = "gz" ] + then + x=${x%%.gz} + gzip -dc ${x}.gz > ${patchdir}/${x##*/} || die + else + cp ${x} ${patchdir} + fi + x=${patchdir}/${x##*/} + if [ -f ${FILESDIR}/${PVR}/${x##*/} ] + then + echo ">>> Fixing ${x##*/} for use with Gentoo..." + patch < ${FILESDIR}/${PVR}/${x##*/} || { + echo + echo "!!!Failed to fix ${x##*/}!!!" + echo + die + } + fi + cd ${curdir} + patch -p1 -l < ${x} || { + echo + echo "!!!Failed to apply ${x##*/}!!!" + echo "Check that you are not missing patches in:" + echo + echo " ${FILESDIR}/${PVR}/" + echo + die + } + done +} + +src_unpack() { + mkdir ${S2} + + cd ${WORKDIR} + unpack linux-${OKV}.tar.bz2 + mv linux linux-${KV} || die + dodir /usr/src/linux-${KV}-extras + if [ "$MOSIX" ] + then + cd ${S2} + tar -xz --no-same-owner -f ${DISTDIR}/MOSIX-${MOSV}.tar.gz MOSIX-${MOSV}/patches.${OKV} + fi + cd ${S} + patchorama $PATCHES + echo "Removing -xfs extension from the kernel..." + cp Makefile Makefile.orig + sed -e 's:EXTRAVERSION =-xfs:EXTRAVERSION =:g' Makefile.orig > Makefile + echo "Preparing for compilation..." + + #sometimes we have icky kernel symbols; this seems to get rid of them + make mrproper || die + + #linux-sources needs to be fully configured, too. This is the configuration for the default kernel + cp ${S}/arch/i386/defconfig .config || die + yes "" | make oldconfig + echo "Ignore any errors from the yes command above." + + #fix silly permissions in tarball + cd ${WORKDIR} + chown -R 0.0 * + chmod -R a+r-w+X,u+w * + + # Gentoo Linux uses /boot, so fix 'make install' to work properly + cd ${S} + mv Makefile Makefile.orig + sed -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' \ + Makefile.orig >Makefile || die # test, remove me if Makefile ok + rm Makefile.orig +} + +src_compile() { + if [ "${PN}" = "linux-headers" ] + then + cd ${S} + make include/linux/autoconf.h include/linux/version.h || die + fi +} + +src_install() { + if [ "$PN" = "linux-sources" ] + then + dodir /usr/src + cd ${S} + echo ">>> Copying sources..." + cp -ax ${WORKDIR}/* ${D}/usr/src + elif [ "$PN" = "linux-headers" ] + then + dodir /usr/include/linux + cp -ax ${S}/include/linux/* ${D}/usr/include/linux + dodir /usr/include/asm + cp -ax ${S}/include/asm-i386/* ${D}/usr/include/asm + fi + if [ -d ${D}/usr/src/linux-${KV} ] + then + cd ${D}/usr/src/linux-${KV} + if [ -e .config ] + then + mv .config .config.eg + fi + fi +} + +pkg_preinst() { + if [ "$PN" = "linux-headers" ] + then + if [ -L ${ROOT}usr/include/linux ] + then + rm ${ROOT}usr/include/linux + fi + if [ -L ${ROOT}usr/include/asm ] + then + rm ${ROOT}usr/include/asm + fi + fi +} + +pkg_postinst() { + [ "$PN" = "linux-headers" ] && return + rm -f ${ROOT}/usr/src/linux + ln -sf linux-${KV} ${ROOT}/usr/src/linux + #copy over our .config if one isn't already present + cd ${ROOT}/usr/src/linux-${KV} + if [ "${PN}" = "linux-sources" ] && [ -e .config.eg ] && [ ! -e .config ] + then + cp -a .config.eg .config + fi +} |