diff options
Diffstat (limited to 'sys-kernel/mips-sources/mips-sources-2.6.4-r8.ebuild')
-rw-r--r-- | sys-kernel/mips-sources/mips-sources-2.6.4-r8.ebuild | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/sys-kernel/mips-sources/mips-sources-2.6.4-r8.ebuild b/sys-kernel/mips-sources/mips-sources-2.6.4-r8.ebuild new file mode 100644 index 000000000000..6d6089388f5d --- /dev/null +++ b/sys-kernel/mips-sources/mips-sources-2.6.4-r8.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.4-r8.ebuild,v 1.1 2004/08/11 09:48:22 kumba Exp $ + + +# Version Data +OKV=${PV/_/-} +CVSDATE="20040311" +COBALTPATCHVER="1.4" +SECPATCHVER="1.2" +IP32DIFFDATE="20040229" +EXTRAVERSION="-mipscvs-${CVSDATE}" +KV="${OKV}${EXTRAVERSION}" + +# Miscellaneous stuff +S=${WORKDIR}/linux-${OKV}-${CVSDATE} + +# Eclass stuff +ETYPE="sources" +inherit kernel eutils + + +# INCLUDED: +# 1) linux sources from kernel.org +# 2) linux-mips.org CVS snapshot diff from 11 Mar 2004 +# 3) Patch to tweak arch/mips/Makefile to build proper kernels under binutils-2.15.x +# 4) Iluxa's minimal O2 patchset +# 5) Security Fixes +# 6) Patches for Cobalt support + + +DESCRIPTION="Linux-Mips CVS sources for MIPS-based machines, dated ${CVSDATE}" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2 + mirror://gentoo/mipscvs-${OKV}-${CVSDATE}.diff.bz2 + mirror://gentoo/cobalt-patches-26xx-${COBALTPATCHVER}.tar.bz2 + mirror://gentoo/ip32-iluxa-minpatchset-${IP32DIFFDATE}.diff.bz2 + mirror://gentoo/${PN}-security_patches-${SECPATCHVER}.tar.bz2" + +HOMEPAGE="http://www.linux-mips.org/" +SLOT="${OKV}" +PROVIDE="virtual/linux-sources" +KEYWORDS="-*" +IUSE="" + + +pkg_setup() { + # See if we're on a cobalt system (must use the cobalt-mips profile) + if [ "${PROFILE_ARCH}" = "cobalt" ]; then + echo -e "" + einfo "Please keep in mind that the 2.6 kernel will NOT boot on Cobalt" + einfo "systems that are still using the old Cobalt bootloader. In" + einfo "order to boot a 2.6 kernel on Cobalt systems, you must be using" + einfo "Peter Horton's new bootloader, which does not have the kernel" + einfo "size limitation that the older bootloader has. If you want" + einfo "to use the newer bootloader, make sure you have sys-boot/colo" + einfo "installed and setup." + echo -e "" + fi +} + +src_unpack() { + unpack ${A} + mv ${WORKDIR}/linux-${OKV} ${WORKDIR}/linux-${OKV}-${CVSDATE} + cd ${S} + + # Update the vanilla sources with linux-mips CVS changes + epatch ${WORKDIR}/mipscvs-${OKV}-${CVSDATE}.diff + + # Binutils-2.14.90.0.8 and up does some magic with page alignment + # that prevents the kernel from booting. This patch fixes it. + echo -e "" + einfo ">>> Generic Patches" + epatch ${FILESDIR}/mipscvs-2.6.x-no-page-align.patch + + # In order to use arcboot on IP32, the kernel entry address needs to be + # set to 0x98000000, not 0xa8000000. + epatch ${FILESDIR}/mipscvs-2.6.x-ip32-kern_entry-arcboot.patch + + # Force detection of PS/2 mice on SGI Systems + epatch ${FILESDIR}/misc-2.6-force_mouse_detection.patch + + # iluxa's minpatchset for SGI O2 + echo -e "" + einfo ">>> Patching kernel with iluxa's minimal IP32 patchset ..." + epatch ${WORKDIR}/ip32-iluxa-minpatchset-${IP32DIFFDATE}.diff + + # Security Fixes + echo -e "" + ebegin ">>> Applying Security Fixes" + epatch ${WORKDIR}/security/CAN-2004-0075-2.6-vicam_usb.patch + epatch ${WORKDIR}/security/CAN-2004-0109-2.6-iso9660.patch + epatch ${WORKDIR}/security/CAN-2004-0181-2.6-jfs_ext3.patch + epatch ${WORKDIR}/security/CAN-2004-0228-cpufreq.patch + epatch ${WORKDIR}/security/CAN-2004-0229-fb_copy_cmap.patch + epatch ${WORKDIR}/security/CAN-2004-0415-2.6.4-file_offset_pointers.patch + epatch ${WORKDIR}/security/CAN-2004-0427-2.6-do_fork.patch + epatch ${WORKDIR}/security/CAN-2004-0495_0496-2.6-sparse.patch + epatch ${WORKDIR}/security/CAN-2004-0497-attr_gid.patch + epatch ${WORKDIR}/security/CAN-2004-0596-2.6-eql.patch + epatch ${WORKDIR}/security/CAN-2004-0626-death_packet.patch + epatch ${WORKDIR}/security/security-2.6-proc_race.patch + eend + + # Cobalt Patches + if [ "${PROFILE_ARCH}" = "cobalt" ]; then + echo -e "" + einfo ">>> Patching kernel for Cobalt support ..." + for x in ${WORKDIR}/cobalt-patches-26xx-${COBALTPATCHVER}/*.patch; do + epatch ${x} + done + cp ${WORKDIR}/cobalt-patches-26xx-${COBALTPATCHVER}/cobalt-patches.txt ${S} + cd ${WORKDIR} + mv ${WORKDIR}/linux-${OKV}-${CVSDATE} ${WORKDIR}/linux-${OKV}-${CVSDATE}.cobalt + S="${S}.cobalt" + fi + + kernel_universal_unpack +} |